From: Eric Bavier <bav...@member.fsf.org> * gnu/packages/version-control.scm (git)[inputs]: Add perl-authen-sasl, perl-net-smtp-ssl, and perl-io-socket-ssl. [arguments]: Add #:modules argument with srfi-1. In 'split phase, wrap git-send-email. --- gnu/packages/version-control.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 71171e6..8d8e592 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -60,7 +60,9 @@ #:use-module (gnu packages compression) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) - #:use-module (gnu packages)) + #:use-module (gnu packages) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) (define-public bazaar (package @@ -124,6 +126,11 @@ as well as the classic centralized workflow.") ;; For 'git-svn'. ("subversion" ,subversion) + ;; 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))) @@ -141,6 +148,9 @@ as well as the classic centralized workflow.") (assoc-ref %build-inputs "tk") "/bin/wish8.6")) ; XXX + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) #:phases (alist-cons-after 'configure 'patch-makefile-shebangs @@ -202,6 +212,25 @@ as well as the classic centralized workflow.") (,(string-append (assoc-ref inputs "subversion") "/lib")))) + ;; Tell 'git-send-email' where perl modules are. + (wrap-program (string-append out "/libexec/git-core/git-send-email") + `("PERL5LIB" ":" prefix + ,(map (lambda (o) (string-append o "/lib/perl5/site_perl")) + (delete-duplicates + (list + ,@(append-map + (lambda (p) + (let ((name (package-name p))) + `((assoc-ref inputs ,name) + ,@(map (match-lambda + ((label (? package? _) . _) + `(assoc-ref inputs + ,(string-append name "/" label)))) + (package-transitive-propagated-inputs p))))) + `(,perl-authen-sasl + ,perl-net-smtp-ssl + ,perl-io-socket-ssl))))))) + ;; Tell 'git-submodule' where Perl is. (wrap-program git-sm `("PATH" ":" prefix -- 2.2.1