CCees de Groot wrote on 8 Mar 2022 21:52
(name . firstname.lastname@example.org)(address . email@example.com)
The removed code below affected two locations where Elixir uses Git:
* At build-time, Git is used to see if the build is inside a Git repo and if so, git info
is added to the build information that Elixir returns with `System.build_info()`. The code
uses PATH + `git` so the Git version from the inputs is used which is just fine.
* At run-time, Git is used by Mix if, and only if, there are any Git-based dependencies. This
is not the normal case, and in that sense Git is an optional dependency of Elixir - most
projects will work just fine without Git being present. Here, too, PATH + `git` is used
so if there is a need on a user's system to use Git-based dependencies, the user can just
add the package to the profile and things will just work.
I feel that leaving this alone is cleaner than trying to fix the dependency (if we want to
keep it, it needs to be in propagated-inputs in order to keep Git around; I stumbled upon
this building a project with Git dependencies after doing a `guix gc`. However, given that
using Git dependencies is the exception and I think that minimizing dependencies is nicer
I opted to just remove the substition completely).
gnu/packages/elixir.scm | 5 -----
1 file changed, 5 deletions(-)
Toggle diff (16 lines)
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 55e17f2901..f509c59ee3 100644
@@ -60,11 +60,6 @@ (define-public elixir
(for-each make-file-writable (find-files "."))))
(add-after 'make-git-checkout-writable 'replace-paths
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* '("lib/elixir/lib/system.ex"
- (("(cmd\\(['\"])git" _ prefix)
- (string-append prefix
- (search-input-file inputs "/bin/git"))))