guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/04: gnu: elixir: Don't fix Git executable location during Elixir buil


From: guix-commits
Subject: 01/04: gnu: elixir: Don't fix Git executable location during Elixir build.
Date: Sun, 13 Mar 2022 18:28:45 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit fce9f13b5417b63a6ba5ae03bd8a2ae82ef0a043
Author: Cees de Groot <cg@evrl.com>
AuthorDate: Tue Mar 8 20:52:00 2022 +0000

    gnu: elixir: Don't fix Git executable location during Elixir build.
    
    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 (elixir)[arguments]: In 'replace-paths' phase,
    remove substitutions of "git".
    
    Co-authored-by: Ludovic Court├Ęs <ludo@gnu.org>
---
 gnu/packages/elixir.scm | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 55e17f2901..1336a99a0b 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -60,11 +60,9 @@
               (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"
-                             "lib/mix/lib/mix/scm/git.ex")
-                (("(cmd\\(['\"])git" _ prefix)
-                 (string-append prefix
-                                (search-input-file inputs "/bin/git"))))
+              ;; Note: references end up obfuscated in binary BEAM files where
+              ;; they may be invisible to the GC and graft code:
+              ;; <https://issues.guix.gnu.org/54304#11>.
               (substitute* '("lib/mix/lib/mix/release.ex"
                              "lib/mix/lib/mix/tasks/release.init.ex")
                 (("#!/bin/sh")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]