guix-devel
[Top][All Lists]
Advanced

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

[PATCH 4/4] gnu: git: Add inputs for send-email.


From: ericbavier
Subject: [PATCH 4/4] gnu: git: Add inputs for send-email.
Date: Sat, 27 Jun 2015 21:39:07 -0500

From: Eric Bavier <address@hidden>

* 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




reply via email to

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