Subject: [bug#69062] [PATCH v4] gnu: b4: Ensure git presence.

From: Nicolas Graves <[email-masked]>
Date: Sun, 18 Feb 2024 15:33:08 +0100

* gnu/packages/version-control.scm (b4): Ensure git presence.
[arguments]<#:phases>: Add phase hardcode-git-bin.
[inputs]: Add git-minimal.

Change-Id: Ib2dca06009cdacc0e5ab4ab227cd30991474404c
---
 gnu/packages/version-control.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 51754245d3..fc378e83fe 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2926,9 +2926,16 @@ (define-public b4
                ;; XXX: dnspython attempts to read /etc/resolv.conf when loading
                ;; resolver.py, which breaks the sanity check in dependent
                ;; packages.  This should rather be fixed in dnspython.
-               (delete 'sanity-check))))
+               (delete 'sanity-check)
+               ;; This ensures git is present when called.
+               (add-after 'unpack 'hardcode-git-bin
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* (find-files "b4" "\\.py$")
+                     (("\\['git'")
+                      (string-append
+                       "['" (search-input-file inputs "/bin/git") "'"))))))))
     (inputs
-     (list python-dkimpy python-dnspython python-requests))
+     (list git-minimal python-dkimpy python-dnspython python-requests))
     (propagated-inputs
      (list patatt))
     (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")
-- 
2.41.0