guix-patches
[Top][All Lists]
Advanced

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

bug#46247: [PATCH] gnu: git: Add credential-libsecret output.


From: Chris Marusich
Subject: bug#46247: [PATCH] gnu: git: Add credential-libsecret output.
Date: Sun, 21 Feb 2021 17:10:28 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi Léo,

I've committed this, with minor changes, as
c53ee79c4ce187b185a070977f69ad9d4fb55179.

Léo Le Bouter <lle-bout@zaclys.net> writes:

> +        (add-after 'install 'install-credential-libsecret
> +          (lambda* (#:key outputs #:allow-other-keys)
> +            (let* ((libsecret (assoc-ref outputs "credential-libsecret")))
> +              (with-directory-excursion "contrib/credential/libsecret"
> +                ((assoc-ref gnu:%standard-phases 'build))
> +                (install-file "git-credential-libsecret"
> +                              (string-append libsecret "/bin"))))))

A few days ago, I tested your patch (applied to
19783b9f553e433743fd695302df8cac4ec91ae1, which at the time was the
latest commit on master).  Unfortunately, it caused git-minimal to fail
to build:

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix build git

...

starting phase `install-credential-libsecret'
make: pkg-config: No such file or directory
make: pkg-config: No such file or directory
gcc -g -O2   -o git-credential-libsecret.o -c git-credential-libsecret.c
git-credential-libsecret.c:29:10: fatal error: glib.h: No such file or directory
 #include <glib.h>
          ^~~~~~~~
compilation terminated.
make: *** [Makefile:19: git-credential-libsecret.o] Error 1
command "make" "-j" "2" failed with status 2
builder for 
`/gnu/store/fwfv6k7jl8f77awgvs0lg3dnlx85nxd9-git-minimal-2.30.1.drv' failed 
with exit code 1
build of /gnu/store/fwfv6k7jl8f77awgvs0lg3dnlx85nxd9-git-minimal-2.30.1.drv 
failed
View build log at 
'/var/log/guix/drvs/fw/fv6k7jl8f77awgvs0lg3dnlx85nxd9-git-minimal-2.30.1.drv.bz2'.
guix build: error: build of 
`/gnu/store/fwfv6k7jl8f77awgvs0lg3dnlx85nxd9-git-minimal-2.30.1.drv' failed
--8<---------------cut here---------------end--------------->8---

The same command (./pre-inst-env guix build git) succeeded on commit
19783b9f553e433743fd695302df8cac4ec91ae1.

The problem was that git-minimal inherits the arguments (thus the
phases) from git, so it needs to also delete the newly added phase:

  (delete 'build-subtree)
  (delete 'split)
  (delete 'install-man-pages)
  (delete 'install-subtree)
  (delete 'install-credential-netrc)
  (delete 'install-credential-libsecret)

I also took the liberty of adding #t at the end of the new phase.  My
understanding is that all successful phases should still be returning
#t, as described below, so please take care to always return #t at the
end of every phase:

https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00353.html
https://lists.gnu.org/archive/html/guix-devel/2018-05/msg00369.html

Thank you for the contribution!  I hope it streamlines your workflow!

-- 
Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

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