guix-commits
[Top][All Lists]
Advanced

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

04/04: gnu: git: Fix indentation.


From: guix-commits
Subject: 04/04: gnu: git: Fix indentation.
Date: Mon, 11 Jul 2022 17:43:48 -0400 (EDT)

apteryx pushed a commit to branch core-updates
in repository guix.

commit 3e0902cbcc6acf0079283f7f8e6afdbe66f81fc9
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Mon Jul 11 17:37:32 2022 -0400

    gnu: git: Fix indentation.
    
    * gnu/packages/version-control.scm (git): Fix indentation.
---
 gnu/packages/version-control.scm | 716 +++++++++++++++++++--------------------
 1 file changed, 358 insertions(+), 358 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 0111dceadb..54fe2b5e10 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -220,258 +220,258 @@ Python 3.3 and later, rather than on Python 2.")
 
 (define-public git
   (package
-   (name "git")
-   (version "2.36.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://kernel.org/software/scm/git/git-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"))))
-   (build-system gnu-build-system)
-   (native-inputs
-    `(("native-perl" ,perl)
-      ;; Add bash-minimal explicitly to ensure it comes before bash-for-tests,
-      ;; see <https://bugs.gnu.org/39513>.
-      ("bash" ,bash-minimal)
-      ("bash-for-tests" ,bash)
-      ("gettext" ,gettext-minimal)
-      ;; To build the man pages from the git sources, we would need a 
dependency
-      ;; on a full XML tool chain, and building it actually takes ages.  So we
-      ;; use this lazy approach and use released tarball.
-      ("git-manpages"
-       ,(origin
-          (method url-fetch)
-          (uri (string-append
-                "mirror://kernel.org/software/scm/git/git-manpages-"
-                version ".tar.xz"))
-          (sha256
-           (base32
-            "0vsfjs6xg228yhqcpaiwkpncaqcghnm0pwdxmgibz0rj6d8ydrmi"))))
-      ;; For subtree documentation.
-      ("asciidoc" ,asciidoc)
-      ("docbook2x" ,docbook2x)
-      ("docbook-xsl" ,docbook-xsl)
-      ("libxslt" ,libxslt)
-      ("pkg-config" ,pkg-config)
-      ("texinfo" ,texinfo)
-      ("xmlto" ,xmlto)))
-   (inputs
-    `(("curl" ,curl)
-      ("expat" ,expat)
-      ("openssl" ,openssl)
-      ("perl" ,perl)
-      ("python" ,python) ; for git-p4
-      ("zlib" ,zlib)
-
-      ;; For PCRE support in git grep (USE_LIBPCRE2).
-      ("pcre" ,pcre2)
-
-      ;; For 'gitweb.cgi'.
-      ("perl-cgi" ,perl-cgi)
-
-      ;; For 'git-svn'.
-      ("subversion" ,subversion)
-      ("perl-term-readkey" ,perl-term-readkey)
-
-      ;; For 'git-send-email'.
-      ("perl-authen-sasl" ,perl-authen-sasl)
-      ("perl-net-smtp-ssl" ,perl-net-smtp-ssl)
-      ("perl-io-socket-ssl" ,perl-io-socket-ssl)
-
-      ;; For 'git gui', 'gitk', and 'git citool'.
-      ("tcl" ,tcl)
-      ("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
-    `(#:make-flags `("V=1"                        ;more verbose compilation
-
-                     ,(string-append "SHELL_PATH="
-                                     (assoc-ref %build-inputs "bash")
-                                     "/bin/sh")
-
-                     ;; Tests require a bash with completion support.
-                     ,(string-append "TEST_SHELL_PATH="
-                                     (assoc-ref %build-inputs "bash-for-tests")
-                                     "/bin/bash")
-
-                     "USE_LIBPCRE2=yes"
-
-                     ;; By default 'make install' creates hard links for
-                     ;; things in 'libexec/git-core', which leads to huge
-                     ;; nars; see <https://bugs.gnu.org/21949>.
-                     "NO_INSTALL_HARDLINKS=indeed")
-
-      ;; Make sure the full bash does not end up in the final closure.
-      #:disallowed-references (,bash)
-
-      #:test-target "test"
-
-      ;; The explicit --with-tcltk forces the build system to hardcode the
-      ;; absolute file name to 'wish'.
-      #:configure-flags (list (string-append "--with-tcltk="
-                                             (assoc-ref %build-inputs "tk")
-                                             "/bin/wish8.6")  ; XXX
-                              ,@(if (%current-target-system)
-                                    git-cross-configure-flags
-                                    '()))
-
-      #:modules ((srfi srfi-1)
-                 (srfi srfi-26)
-                 ((guix build gnu-build-system) #:prefix gnu:)
-                 ,@%gnu-build-system-modules)
-      #:phases
-      (modify-phases %standard-phases
-        ,@(if (%current-target-system)
-              ;; The git build system assumes build == host
-              `((add-after 'unpack  'use-host-uname_S
-                  (lambda _
-                    (substitute* "config.mak.uname"
-                      (("uname_S := .*" all)
-                       (if (equal? ,(%current-target-system) "i586-pc-gnu")
-                         "uname_S := GNU\n"
-                         all))))))
-              ;; We do not have bash-for-tests when cross-compiling.
-              `((add-after 'unpack 'modify-PATH
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (let ((path (string-split (getenv "PATH") #\:))
-                          (bash-full (assoc-ref inputs "bash-for-tests")))
-                      ;; Drop the test bash from PATH so that (which "sh") and
-                      ;; similar does the right thing.
-                      (setenv "PATH" (string-join
-                                      (remove (cut string-prefix? bash-full 
<>) path)
-                                      ":")))))))
-        ;; Add cross curl-config script to PATH when cross-compiling.
-        ,@(if (%current-target-system)
-              '((add-before 'configure 'add-cross-curl-config
+    (name "git")
+    (version "2.36.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kernel.org/software/scm/git/git-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("native-perl" ,perl)
+       ;; Add bash-minimal explicitly to ensure it comes before bash-for-tests,
+       ;; see <https://bugs.gnu.org/39513>.
+       ("bash" ,bash-minimal)
+       ("bash-for-tests" ,bash)
+       ("gettext" ,gettext-minimal)
+       ;; To build the man pages from the git sources, we would need a 
dependency
+       ;; on a full XML tool chain, and building it actually takes ages.  So we
+       ;; use this lazy approach and use released tarball.
+       ("git-manpages"
+        ,(origin
+           (method url-fetch)
+           (uri (string-append
+                 "mirror://kernel.org/software/scm/git/git-manpages-"
+                 version ".tar.xz"))
+           (sha256
+            (base32
+             "0vsfjs6xg228yhqcpaiwkpncaqcghnm0pwdxmgibz0rj6d8ydrmi"))))
+       ;; For subtree documentation.
+       ("asciidoc" ,asciidoc)
+       ("docbook2x" ,docbook2x)
+       ("docbook-xsl" ,docbook-xsl)
+       ("libxslt" ,libxslt)
+       ("pkg-config" ,pkg-config)
+       ("texinfo" ,texinfo)
+       ("xmlto" ,xmlto)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("openssl" ,openssl)
+       ("perl" ,perl)
+       ("python" ,python)               ; for git-p4
+       ("zlib" ,zlib)
+
+       ;; For PCRE support in git grep (USE_LIBPCRE2).
+       ("pcre" ,pcre2)
+
+       ;; For 'gitweb.cgi'.
+       ("perl-cgi" ,perl-cgi)
+
+       ;; For 'git-svn'.
+       ("subversion" ,subversion)
+       ("perl-term-readkey" ,perl-term-readkey)
+
+       ;; For 'git-send-email'.
+       ("perl-authen-sasl" ,perl-authen-sasl)
+       ("perl-net-smtp-ssl" ,perl-net-smtp-ssl)
+       ("perl-io-socket-ssl" ,perl-io-socket-ssl)
+
+       ;; For 'git gui', 'gitk', and 'git citool'.
+       ("tcl" ,tcl)
+       ("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
+     `(#:make-flags `("V=1"             ;more verbose compilation
+
+                      ,(string-append "SHELL_PATH="
+                                      (assoc-ref %build-inputs "bash")
+                                      "/bin/sh")
+
+                      ;; Tests require a bash with completion support.
+                      ,(string-append "TEST_SHELL_PATH="
+                                      (assoc-ref %build-inputs 
"bash-for-tests")
+                                      "/bin/bash")
+
+                      "USE_LIBPCRE2=yes"
+
+                      ;; By default 'make install' creates hard links for
+                      ;; things in 'libexec/git-core', which leads to huge
+                      ;; nars; see <https://bugs.gnu.org/21949>.
+                      "NO_INSTALL_HARDLINKS=indeed")
+
+       ;; Make sure the full bash does not end up in the final closure.
+       #:disallowed-references (,bash)
+
+       #:test-target "test"
+
+       ;; The explicit --with-tcltk forces the build system to hardcode the
+       ;; absolute file name to 'wish'.
+       #:configure-flags (list (string-append "--with-tcltk="
+                                              (assoc-ref %build-inputs "tk")
+                                              "/bin/wish8.6") ; XXX
+                               ,@(if (%current-target-system)
+                                     git-cross-configure-flags
+                                     '()))
+
+       #:modules ((srfi srfi-1)
+                  (srfi srfi-26)
+                  ((guix build gnu-build-system) #:prefix gnu:)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         ,@(if (%current-target-system)
+               ;; The git build system assumes build == host
+               `((add-after 'unpack  'use-host-uname_S
+                   (lambda _
+                     (substitute* "config.mak.uname"
+                       (("uname_S := .*" all)
+                        (if (equal? ,(%current-target-system) "i586-pc-gnu")
+                            "uname_S := GNU\n"
+                            all))))))
+               ;; We do not have bash-for-tests when cross-compiling.
+               `((add-after 'unpack 'modify-PATH
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((path (string-split (getenv "PATH") #\:))
+                           (bash-full (assoc-ref inputs "bash-for-tests")))
+                       ;; Drop the test bash from PATH so that (which "sh") and
+                       ;; similar does the right thing.
+                       (setenv "PATH" (string-join
+                                       (remove (cut string-prefix? bash-full 
<>) path)
+                                       ":")))))))
+         ;; Add cross curl-config script to PATH when cross-compiling.
+         ,@(if (%current-target-system)
+               '((add-before 'configure 'add-cross-curl-config
                    (lambda* (#:key inputs #:allow-other-keys)
                      (setenv "PATH"
                              (string-append (assoc-ref inputs "curl") "/bin:"
                                             (getenv "PATH"))))))
-              '())
-        (add-after 'configure 'patch-makefiles
-          (lambda _
-            (substitute* "Makefile"
-              (("/usr/bin/perl") (which "perl"))
-              (("/usr/bin/python") (which "python3")))))
-        (add-after 'configure 'add-PM.stamp
-          (lambda _
-            ;; Add the "PM.stamp" to avoid "no rule to make target".
-            (call-with-output-file "perl/PM.stamp" (const #t))))
-        (add-after 'build 'build-subtree
-          (lambda* (#:key inputs #:allow-other-keys)
-            (with-directory-excursion "contrib/subtree"
-              (substitute* "Makefile"
-                ;; Apparently `xmlto' does not bother to looks up the 
stylesheets
-                ;; specified in the XML, unlike the above substitution.  
Instead it
-                ;; uses a hard-coded URL.  Work around it here, but if this is
-                ;; common perhaps we should hardcode this path in xmlto itself.
-                (("\\$\\(XMLTO\\) -m \\$\\(MANPAGE_XSL\\)")
-                 (string-append "$(XMLTO) -x "
-                                (string-append (assoc-ref inputs "docbook-xsl")
-                                               "/xml/xsl/docbook-xsl-"
-                                               ,(package-version docbook-xsl))
-                                "/manpages/docbook.xsl -m $(MANPAGE_XSL)")))
-              (invoke "make")
-              (invoke "make" "install")
-              (invoke "make" "install-doc")
-              (substitute* "git-subtree"
-                (("/bin/sh") (which "sh"))))))
-        (add-before 'check 'patch-tests
-          (lambda _
-            (let ((store-directory (%store-directory)))
-              ;; These files contain some funny bytes that Guile is unable
-              ;; to decode for shebang patching. Just delete them.
-              (for-each delete-file '("t/t4201-shortlog.sh"
-                                      "t/t7813-grep-icase-iso.sh"))
-              ;; Many tests contain inline shell scripts (hooks etc).
-              (substitute* (find-files "t" "\\.sh$")
-                (("#!/bin/sh") (string-append "#!" (which "sh"))))
-              ;; Un-do shebang patching here to prevent checksum mismatch.
-              (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
-                (("^#!.*/bin/perl") "#!/usr/bin/perl"))
-              (substitute* "t/t5003-archive-zip.sh"
-                (("cp /bin/sh") (string-append "cp " (which "sh"))))
-              (substitute* "t/t6030-bisect-porcelain.sh"
-                (("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
-              ;; FIXME: This test runs `git commit` with a bogus EDITOR
-              ;; and empty commit message, but does not fail the way it's
-              ;; expected to. The test passes when invoked interactively.
-              (substitute* "t/t7508-status.sh"
-                (("\tcommit_template_commented") "\ttrue"))
-              ;; More checksum mismatches due to odd shebangs.
-              (substitute* "t/t9100-git-svn-basic.sh"
-                (((string-append "\"#!" store-directory ".*/bin/sh")) 
"\"#!/bin/sh") )
-              (substitute* "t/t9300-fast-import.sh"
-                (((string-append "\t#!" store-directory ".*/bin/sh")) 
"\t#!/bin/sh")
-                (((string-append "'#!" store-directory ".*/bin/sh")) 
"'#!/bin/sh"))
-              ;; FIXME: Some hooks fail with "basename: command not found".
-              ;; See 't/trash directory.t9164.../svn-hook.log'.
-              (delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
-
-              ;; XXX: These tests fail intermittently for unknown reasons:
-              ;; <https://bugs.gnu.org/29546>.
-              (for-each delete-file
-                        '("t/t9128-git-svn-cmd-branch.sh"
-                          "t/t9167-git-svn-cmd-branch-subproject.sh"
-                          "t/t9141-git-svn-multiple-branches.sh")))))
-        (add-after 'install 'install-info-manual
-          (lambda* (#:key parallel-build? #:allow-other-keys)
-            (define job-count (if parallel-build?
-                                  (number->string (parallel-job-count))
-                                  "1"))
-            (invoke "make" "-C" "Documentation" "install-info"
-                    "-j" job-count
-                    ;; The Makefile refer to 'docbook2x-texi', but our binary
-                    ;; is named 'docbook2texi'.
-                    "DOCBOOK2X_TEXI=docbook2texi" "PERL_PATH=perl")))
-        (add-after 'install 'install-shell-completion
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let* ((out         (assoc-ref outputs "out"))
-                   (completions (string-append out "/etc/bash_completion.d")))
-              ;; TODO: Install the tcsh and zsh completions in the right place.
-              (mkdir-p completions)
-              (copy-file "contrib/completion/git-completion.bash"
-                         (string-append completions "/git")))))
-        (add-after 'install 'install-credential-netrc
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let* ((netrc (assoc-ref outputs "credential-netrc")))
-              (install-file 
"contrib/credential/netrc/git-credential-netrc.perl"
-                            (string-append netrc "/bin"))
-              (rename-file (string-append netrc 
"/bin/git-credential-netrc.perl")
-                           (string-append netrc "/bin/git-credential-netrc"))
-              ;; Previously, Git.pm was automatically found by netrc.
-              ;; Perl 5.26 changed how it locates modules so that @INC no
-              ;; longer includes the current working directory (the Perl
-              ;; community calls this "dotless @INC").
-              (wrap-program (string-append netrc "/bin/git-credential-netrc")
-                `("PERL5LIB" ":" prefix
-                  (,(string-append (assoc-ref outputs "out") 
"/share/perl5")))))))
-        (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"))))))
-        (add-after 'install 'install-subtree
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((subtree (assoc-ref outputs "subtree")))
-              (install-file "contrib/subtree/git-subtree"
-                            (string-append subtree "/bin"))
-              (install-file "contrib/subtree/git-subtree.1"
-                            (string-append subtree "/share/man/man1")))))
+               '())
+         (add-after 'configure 'patch-makefiles
+           (lambda _
+             (substitute* "Makefile"
+               (("/usr/bin/perl") (which "perl"))
+               (("/usr/bin/python") (which "python3")))))
+         (add-after 'configure 'add-PM.stamp
+           (lambda _
+             ;; Add the "PM.stamp" to avoid "no rule to make target".
+             (call-with-output-file "perl/PM.stamp" (const #t))))
+         (add-after 'build 'build-subtree
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "contrib/subtree"
+               (substitute* "Makefile"
+                 ;; Apparently `xmlto' does not bother to looks up the 
stylesheets
+                 ;; specified in the XML, unlike the above substitution.  
Instead it
+                 ;; uses a hard-coded URL.  Work around it here, but if this is
+                 ;; common perhaps we should hardcode this path in xmlto 
itself.
+                 (("\\$\\(XMLTO\\) -m \\$\\(MANPAGE_XSL\\)")
+                  (string-append "$(XMLTO) -x "
+                                 (string-append (assoc-ref inputs 
"docbook-xsl")
+                                                "/xml/xsl/docbook-xsl-"
+                                                ,(package-version docbook-xsl))
+                                 "/manpages/docbook.xsl -m $(MANPAGE_XSL)")))
+               (invoke "make")
+               (invoke "make" "install")
+               (invoke "make" "install-doc")
+               (substitute* "git-subtree"
+                 (("/bin/sh") (which "sh"))))))
+         (add-before 'check 'patch-tests
+           (lambda _
+             (let ((store-directory (%store-directory)))
+               ;; These files contain some funny bytes that Guile is unable
+               ;; to decode for shebang patching. Just delete them.
+               (for-each delete-file '("t/t4201-shortlog.sh"
+                                       "t/t7813-grep-icase-iso.sh"))
+               ;; Many tests contain inline shell scripts (hooks etc).
+               (substitute* (find-files "t" "\\.sh$")
+                 (("#!/bin/sh") (string-append "#!" (which "sh"))))
+               ;; Un-do shebang patching here to prevent checksum mismatch.
+               (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
+                 (("^#!.*/bin/perl") "#!/usr/bin/perl"))
+               (substitute* "t/t5003-archive-zip.sh"
+                 (("cp /bin/sh") (string-append "cp " (which "sh"))))
+               (substitute* "t/t6030-bisect-porcelain.sh"
+                 (("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
+               ;; FIXME: This test runs `git commit` with a bogus EDITOR
+               ;; and empty commit message, but does not fail the way it's
+               ;; expected to. The test passes when invoked interactively.
+               (substitute* "t/t7508-status.sh"
+                 (("\tcommit_template_commented") "\ttrue"))
+               ;; More checksum mismatches due to odd shebangs.
+               (substitute* "t/t9100-git-svn-basic.sh"
+                 (((string-append "\"#!" store-directory ".*/bin/sh")) 
"\"#!/bin/sh") )
+               (substitute* "t/t9300-fast-import.sh"
+                 (((string-append "\t#!" store-directory ".*/bin/sh")) 
"\t#!/bin/sh")
+                 (((string-append "'#!" store-directory ".*/bin/sh")) 
"'#!/bin/sh"))
+               ;; FIXME: Some hooks fail with "basename: command not found".
+               ;; See 't/trash directory.t9164.../svn-hook.log'.
+               (delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
+
+               ;; XXX: These tests fail intermittently for unknown reasons:
+               ;; <https://bugs.gnu.org/29546>.
+               (for-each delete-file
+                         '("t/t9128-git-svn-cmd-branch.sh"
+                           "t/t9167-git-svn-cmd-branch-subproject.sh"
+                           "t/t9141-git-svn-multiple-branches.sh")))))
+         (add-after 'install 'install-info-manual
+           (lambda* (#:key parallel-build? #:allow-other-keys)
+             (define job-count (if parallel-build?
+                                   (number->string (parallel-job-count))
+                                   "1"))
+             (invoke "make" "-C" "Documentation" "install-info"
+                     "-j" job-count
+                     ;; The Makefile refer to 'docbook2x-texi', but our binary
+                     ;; is named 'docbook2texi'.
+                     "DOCBOOK2X_TEXI=docbook2texi" "PERL_PATH=perl")))
+         (add-after 'install 'install-shell-completion
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out         (assoc-ref outputs "out"))
+                    (completions (string-append out "/etc/bash_completion.d")))
+               ;; TODO: Install the tcsh and zsh completions in the right 
place.
+               (mkdir-p completions)
+               (copy-file "contrib/completion/git-completion.bash"
+                          (string-append completions "/git")))))
+         (add-after 'install 'install-credential-netrc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((netrc (assoc-ref outputs "credential-netrc")))
+               (install-file 
"contrib/credential/netrc/git-credential-netrc.perl"
+                             (string-append netrc "/bin"))
+               (rename-file (string-append netrc 
"/bin/git-credential-netrc.perl")
+                            (string-append netrc "/bin/git-credential-netrc"))
+               ;; Previously, Git.pm was automatically found by netrc.
+               ;; Perl 5.26 changed how it locates modules so that @INC no
+               ;; longer includes the current working directory (the Perl
+               ;; community calls this "dotless @INC").
+               (wrap-program (string-append netrc "/bin/git-credential-netrc")
+                 `("PERL5LIB" ":" prefix
+                   (,(string-append (assoc-ref outputs "out") 
"/share/perl5")))))))
+         (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"))))))
+         (add-after 'install 'install-subtree
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((subtree (assoc-ref outputs "subtree")))
+               (install-file "contrib/subtree/git-subtree"
+                             (string-append subtree "/bin"))
+               (install-file "contrib/subtree/git-subtree.1"
+                             (string-append subtree "/share/man/man1")))))
          (add-after 'install 'restore-sample-hooks-shebang
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -481,117 +481,117 @@ Python 3.3 and later, rather than on Python 2.")
                            (substitute* file
                              (("^#!.*/bin/sh") "#!/bin/sh")))
                          (find-files dir ".*")))))
-        (add-after 'install 'split
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; Split the binaries to the various outputs.
-            (let* ((out      (assoc-ref outputs "out"))
-                   (se       (assoc-ref outputs "send-email"))
-                   (svn      (assoc-ref outputs "svn"))
-                   (gui      (assoc-ref outputs "gui"))
-                   (gitk     (string-append out "/bin/gitk"))
-                   (gitk*    (string-append gui "/bin/gitk"))
-                   (git-gui  (string-append out "/libexec/git-core/git-gui"))
-                   (git-gui* (string-append gui "/libexec/git-core/git-gui"))
-                   (git-cit  (string-append out 
"/libexec/git-core/git-citool"))
-                   (git-cit* (string-append gui 
"/libexec/git-core/git-citool"))
-                   (git-se   (string-append out 
"/libexec/git-core/git-send-email"))
-                   (git-se*  (string-append se  
"/libexec/git-core/git-send-email"))
-                   (git-svn  (string-append out "/libexec/git-core/git-svn"))
-                   (git-svn* (string-append svn "/libexec/git-core/git-svn"))
-                   (git-sm   (string-append out
-                                            
"/libexec/git-core/git-submodule")))
-              (mkdir-p (string-append gui "/bin"))
-              (mkdir-p (string-append gui "/libexec/git-core"))
-              (mkdir-p (string-append se  "/libexec/git-core"))
-              (mkdir-p (string-append svn "/libexec/git-core"))
-
-              (for-each (lambda (old new)
-                          (copy-file old new)
-                          (delete-file old)
-                          (chmod new #o555))
-                        (list gitk git-gui git-cit git-se git-svn)
-                        (list gitk* git-gui* git-cit* git-se* git-svn*))
-
-              ;; Tell 'git-svn' where Subversion and perl-term-readkey are.
-              (wrap-program git-svn*
-                `("PATH" ":" prefix
-                  (,(string-append (assoc-ref inputs "subversion")
-                                   "/bin")))
-                `("PERL5LIB" ":" prefix
-                  ,(map (lambda (i) (string-append (assoc-ref inputs i)
-                                                   "/lib/perl5/site_perl"))
-                        '("subversion" "perl-term-readkey")))
-
-                ;; XXX: The .so for SVN/Core.pm lacks a RUNPATH, so
-                ;; help it find 'libsvn_client-1.so'.
-                `("LD_LIBRARY_PATH" ":" prefix
-                  (,(string-append (assoc-ref inputs "subversion")
-                                   "/lib"))))
-
-              ;; Tell 'git-send-email' where perl modules are.
-              (wrap-program git-se*
-                `("PERL5LIB" ":" prefix
-                  ,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
-                        (list
-                         ,@(transitive-input-references
-                            'inputs
-                            (map (lambda (l)
-                                   (assoc l (package-inputs this-package)))
-                                 '("perl-authen-sasl"
-                                   "perl-net-smtp-ssl"
-                                   "perl-io-socket-ssl")))))))
-
-              ;; Tell 'gitweb.cgi' where perl modules are.
-              (wrap-program (string-append out "/share/gitweb/gitweb.cgi")
-                `("PERL5LIB" ":" prefix
-                  ,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
-                        (list
-                         ,@(transitive-input-references
-                            'inputs
-                            (map (lambda (l)
-                                   (assoc l (package-inputs this-package)))
-                                 '("perl-cgi")))))))
-
-              ;; Tell 'git-submodule' where Perl is.
-              (wrap-program git-sm
-                `("PATH" ":" prefix
-                  (,(string-append (assoc-ref inputs "perl")
-                                   "/bin")))))))
-        (add-after 'split 'install-man-pages
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let* ((out (assoc-ref outputs "out"))
-                   (man (string-append out "/share/man"))
-                   (manpages (assoc-ref inputs "git-manpages")))
-              (mkdir-p man)
-              (with-directory-excursion man
-                (invoke "tar" "xvf" manpages))))))))
-
-   (native-search-paths
-    ;; For HTTPS access, Git needs a single-file certificate bundle, specified
-    ;; with $GIT_SSL_CAINFO.
-    (list (search-path-specification
-           (variable "GIT_SSL_CAINFO")
-           (file-type 'regular)
-           (separator #f)                         ;single entry
-           (files '("etc/ssl/certs/ca-certificates.crt")))
-          (search-path-specification
-           (variable "GIT_EXEC_PATH")
-           (separator #f)                         ;single entry
-           (files '("libexec/git-core")))))
-
-   (synopsis "Distributed version control system")
-   (description
-    "Git is a free distributed version control system designed to handle
+         (add-after 'install 'split
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; Split the binaries to the various outputs.
+             (let* ((out      (assoc-ref outputs "out"))
+                    (se       (assoc-ref outputs "send-email"))
+                    (svn      (assoc-ref outputs "svn"))
+                    (gui      (assoc-ref outputs "gui"))
+                    (gitk     (string-append out "/bin/gitk"))
+                    (gitk*    (string-append gui "/bin/gitk"))
+                    (git-gui  (string-append out "/libexec/git-core/git-gui"))
+                    (git-gui* (string-append gui "/libexec/git-core/git-gui"))
+                    (git-cit  (string-append out 
"/libexec/git-core/git-citool"))
+                    (git-cit* (string-append gui 
"/libexec/git-core/git-citool"))
+                    (git-se   (string-append out 
"/libexec/git-core/git-send-email"))
+                    (git-se*  (string-append se  
"/libexec/git-core/git-send-email"))
+                    (git-svn  (string-append out "/libexec/git-core/git-svn"))
+                    (git-svn* (string-append svn "/libexec/git-core/git-svn"))
+                    (git-sm   (string-append out
+                                             
"/libexec/git-core/git-submodule")))
+               (mkdir-p (string-append gui "/bin"))
+               (mkdir-p (string-append gui "/libexec/git-core"))
+               (mkdir-p (string-append se  "/libexec/git-core"))
+               (mkdir-p (string-append svn "/libexec/git-core"))
+
+               (for-each (lambda (old new)
+                           (copy-file old new)
+                           (delete-file old)
+                           (chmod new #o555))
+                         (list gitk git-gui git-cit git-se git-svn)
+                         (list gitk* git-gui* git-cit* git-se* git-svn*))
+
+               ;; Tell 'git-svn' where Subversion and perl-term-readkey are.
+               (wrap-program git-svn*
+                 `("PATH" ":" prefix
+                   (,(string-append (assoc-ref inputs "subversion")
+                                    "/bin")))
+                 `("PERL5LIB" ":" prefix
+                   ,(map (lambda (i) (string-append (assoc-ref inputs i)
+                                                    "/lib/perl5/site_perl"))
+                         '("subversion" "perl-term-readkey")))
+
+                 ;; XXX: The .so for SVN/Core.pm lacks a RUNPATH, so
+                 ;; help it find 'libsvn_client-1.so'.
+                 `("LD_LIBRARY_PATH" ":" prefix
+                   (,(string-append (assoc-ref inputs "subversion")
+                                    "/lib"))))
+
+               ;; Tell 'git-send-email' where perl modules are.
+               (wrap-program git-se*
+                 `("PERL5LIB" ":" prefix
+                   ,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
+                         (list
+                          ,@(transitive-input-references
+                             'inputs
+                             (map (lambda (l)
+                                    (assoc l (package-inputs this-package)))
+                                  '("perl-authen-sasl"
+                                    "perl-net-smtp-ssl"
+                                    "perl-io-socket-ssl")))))))
+
+               ;; Tell 'gitweb.cgi' where perl modules are.
+               (wrap-program (string-append out "/share/gitweb/gitweb.cgi")
+                 `("PERL5LIB" ":" prefix
+                   ,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
+                         (list
+                          ,@(transitive-input-references
+                             'inputs
+                             (map (lambda (l)
+                                    (assoc l (package-inputs this-package)))
+                                  '("perl-cgi")))))))
+
+               ;; Tell 'git-submodule' where Perl is.
+               (wrap-program git-sm
+                 `("PATH" ":" prefix
+                   (,(string-append (assoc-ref inputs "perl")
+                                    "/bin")))))))
+         (add-after 'split 'install-man-pages
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (man (string-append out "/share/man"))
+                    (manpages (assoc-ref inputs "git-manpages")))
+               (mkdir-p man)
+               (with-directory-excursion man
+                 (invoke "tar" "xvf" manpages))))))))
+
+    (native-search-paths
+     ;; For HTTPS access, Git needs a single-file certificate bundle, specified
+     ;; with $GIT_SSL_CAINFO.
+     (list (search-path-specification
+            (variable "GIT_SSL_CAINFO")
+            (file-type 'regular)
+            (separator #f)              ;single entry
+            (files '("etc/ssl/certs/ca-certificates.crt")))
+           (search-path-specification
+            (variable "GIT_EXEC_PATH")
+            (separator #f)              ;single entry
+            (files '("libexec/git-core")))))
+
+    (synopsis "Distributed version control system")
+    (description
+     "Git is a free distributed version control system designed to handle
 everything from small to very large projects with speed and efficiency.")
-   ;; XXX: Ignore this CVE to work around a name clash with the unrelated
-   ;; "cpe:2.3:a:jenkins:git" package.  The proper fix is for (guix cve) to
-   ;; account for "vendor names".
-   (properties '((lint-hidden-cve . ("CVE-2018-1000182"
-                                     "CVE-2018-1000110"
-                                     "CVE-2019-1003010"
-                                     "CVE-2020-2136"))))
-   (license license:gpl2)
-   (home-page "https://git-scm.com/";)))
+    ;; XXX: Ignore this CVE to work around a name clash with the unrelated
+    ;; "cpe:2.3:a:jenkins:git" package.  The proper fix is for (guix cve) to
+    ;; account for "vendor names".
+    (properties '((lint-hidden-cve . ("CVE-2018-1000182"
+                                      "CVE-2018-1000110"
+                                      "CVE-2019-1003010"
+                                      "CVE-2020-2136"))))
+    (license license:gpl2)
+    (home-page "https://git-scm.com/";)))
 
 (define-public git-minimal
   ;; The size of the closure of 'git-minimal' is two thirds that of 'git'.



reply via email to

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