diff mbox series

[bug#69062,v2] gnu: b4: Ensure git presence.

Message ID 20240215112727.21542-1-ngraves@ngraves.fr
State New
Headers show
Series [bug#69062,v2] gnu: b4: Ensure git presence. | expand

Commit Message

Nicolas Graves Feb. 15, 2024, 11:27 a.m. UTC
* 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(-)

Comments

Hilton Chain Feb. 15, 2024, 1:20 p.m. UTC | #1
Hi Nicolas,

On Thu, 15 Feb 2024 19:27:26 +0800,
Nicolas Graves via Guix-patches via wrote:
>
> * gnu/packages/version-control.scm (b4): Ensure git presence.
> [arguments](phases): Add phase hardcode-git-bin.

^ <#:phases>

> [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 8f9fae5ce2..0b636ac02e 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -2925,9 +2925,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)
> +               (add-after 'unpack 'harcode-git-bin

^ hardcode

> +                 (lambda _  ; This ensures git is present when called.
> +                   (substitute* (find-files "b4" "\\.py$")
> +                     (("\\['git'")
> +                      (string-append
> +                       "['" #$(this-package-input "git-minimal")
> +                       "/bin/git'"))))))))

search-input-file can be used instead.

>      (inputs
> -     (list python-dkimpy python-dnspython python-requests))
> +     (list python-dkimpy python-dnspython python-requests git-minimal))

Please list inputs in alphabetical order, git-minimal should be the first in
this case.

>      (propagated-inputs
>       (list patatt))
>      (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")
> --
> 2.41.0

Thanks
diff mbox series

Patch

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 8f9fae5ce2..0b636ac02e 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2925,9 +2925,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)
+               (add-after 'unpack 'harcode-git-bin
+                 (lambda _  ; This ensures git is present when called.
+                   (substitute* (find-files "b4" "\\.py$")
+                     (("\\['git'")
+                      (string-append
+                       "['" #$(this-package-input "git-minimal")
+                       "/bin/git'"))))))))
     (inputs
-     (list python-dkimpy python-dnspython python-requests))
+     (list python-dkimpy python-dnspython python-requests git-minimal))
     (propagated-inputs
      (list patatt))
     (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")