Subject: [bug#73034] [PATCH] gnu: git: Fix perl search-paths of wrapped programs.

From: Simon Tournier <[email-masked]>
Date: Thu, 5 Sep 2024 03:55:26 +0200

Fixes a regression introduced in f288604428e9c8f096ec9e0eccf207e079806271,
where the git-send-email and gitweb.cgi wrap-programs had translated into the
"new style" using G-exps.  See <https://issues.guix.gnu.org/73030>.

* gnu/packages/version-control.scm (git)[arguments]<phases>: Restore the
complete list of propagated inputs by modifying the functional composition
order.

Change-Id: Idfa33d9e5519aa9303b10138a166391244636ede
---
 gnu/packages/version-control.scm | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

Hi,

Since there is no team, I guess, let CC people who submitted and reviewed the
initial patch. ;-)

Well, is this patch allowed to go to directly to master?  Because it triggers
888 rebuilds:

    $ ./pre-inst-env guix refresh -l git | cut -f1 -d':'
    Building the following 411 packages would ensure 888 dependent packages are rebuilt

Cheers,
simon

PS: Sent using this fix. ;-)  But an annoyance remains about Need MIME::Base64
and Authen::SASL; it requires perl-authen-sasl.

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 1db783b731..d43382368b 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -55,6 +55,7 @@
 ;;; Copyright © 2024 Hilton Chain <[email-masked]>
 ;;; Copyright © 2023 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2024 Suhail Singh <[email-masked]>
+;;; Copyright © 2024 Simon Tournier <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -657,21 +658,24 @@ (define-public git
                       ,(search-path-as-list
                         '("lib/perl5/site_perl")
                         '#$(delete-duplicates
-                            (append-map
-                             (compose last package-transitive-propagated-inputs)
-                             (list (this-package-input "perl-authen-sasl")
-                                   (this-package-input "perl-net-smtp-ssl")
-                                   (this-package-input
-                                    "perl-io-socket-ssl")))))))
+                            (map last
+                                 (append-map
+                                  package-transitive-propagated-inputs
+                                  (list (this-package-input "perl-authen-sasl")
+                                        (this-package-input "perl-net-smtp-ssl")
+                                        (this-package-input
+                                         "perl-io-socket-ssl"))))))))
+
                   ;; Tell 'gitweb.cgi' where perl modules are.
                   (wrap-program (string-append out "/share/gitweb/gitweb.cgi")
                     `("PERL5LIB" ":" prefix
                       ,(search-path-as-list
                         '("lib/perl5/site_perl")
                         '#$(delete-duplicates
-                            (append-map
-                             (compose last package-transitive-propagated-inputs)
-                             (list (this-package-input "perl-cgi")))))))
+                            (map last
+                                 (append-map
+                                  package-transitive-propagated-inputs
+                                  (list (this-package-input "perl-cgi"))))))))
 
                   ;; Tell 'git-submodule' where Perl is.
                   (wrap-program git-sm

base-commit: ed95ddeb1e58c314f2e22b4cd35986042f3e2f21
-- 
2.45.2