summary refs log tree commit diff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorLéo Le Bouter <lle-bout@zaclys.net>2021-02-02 00:35:18 +0100
committerChris Marusich <cmmarusich@gmail.com>2021-02-21 17:04:29 -0800
commitc53ee79c4ce187b185a070977f69ad9d4fb55179 (patch)
treea1575ff227cacfe3a3736c148e223f609f64c918 /gnu/packages/version-control.scm
parent90ccb46a5534a031a6a6d994fd9b7ee2b5ccbf84 (diff)
downloadguix-c53ee79c4ce187b185a070977f69ad9d4fb55179.tar.gz
gnu: git: Add credential-libsecret output.
* gnu/packages/version-control.scm (git)[native-inputs]: Add pkg-config.
[inputs]: Add glib and libsecret.
[outputs]: Add "credential-libsecret".
[arguments]: Add 'install-credential-libsecret phase to #:phases to build and
install "git-credential-libsecret" to "credential-libsecret" output.
(git-minimal)[arguments]: Delete the 'install-credential-libsecret phase.

Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm24
1 files changed, 22 insertions, 2 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 4100f9f9ef..f3f4936e1f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -34,6 +34,8 @@
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -81,6 +83,8 @@
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages guile)
@@ -194,7 +198,8 @@ as well as the classic centralized workflow.")
       ;; For subtree documentation.
       ("asciidoc" ,asciidoc-py3)
       ("docbook-xsl" ,docbook-xsl)
-      ("xmlto" ,xmlto)))
+      ("xmlto" ,xmlto)
+      ("pkg-config" ,pkg-config)))
    (inputs
     `(("curl" ,curl)
       ("expat" ,expat)
@@ -220,11 +225,16 @@ as well as the classic centralized workflow.")
 
       ;; For 'git gui', 'gitk', and 'git citool'.
       ("tcl" ,tcl)
-      ("tk" ,tk)))
+      ("tk" ,tk)
+
+      ;; For 'git-credential-libsecret'
+      ("glib" ,glib)
+      ("libsecret" ,libsecret)))
    (outputs '("out"                               ; the core
               "send-email"                        ; for git-send-email
               "svn"                               ; git-svn
               "credential-netrc"                  ; git-credential-netrc
+              "credential-libsecret"              ; git-credential-libsecret
               "subtree"                           ; git-subtree
               "gui"))                             ; gitk, git gui
    (arguments
@@ -262,6 +272,7 @@ as well as the classic centralized workflow.")
 
       #:modules ((srfi srfi-1)
                  (srfi srfi-26)
+                 ((guix build gnu-build-system) #:prefix gnu:)
                  ,@%gnu-build-system-modules)
       #:phases
       (modify-phases %standard-phases
@@ -389,6 +400,14 @@ as well as the classic centralized workflow.")
                 `("PERL5LIB" ":" prefix
                   (,(string-append (assoc-ref outputs "out") "/share/perl5"))))
               #t)))
+        (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"))
+                #t))))
         (add-after 'install 'install-subtree
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((subtree (assoc-ref outputs "subtree")))
@@ -535,6 +554,7 @@ everything from small to very large projects with speed and efficiency.")
            (delete 'install-man-pages)
            (delete 'install-subtree)
            (delete 'install-credential-netrc)
+           (delete 'install-credential-libsecret)
            (add-after 'install 'remove-unusable-perl-commands
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out     (assoc-ref outputs "out"))