unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/4] git send-email
@ 2015-06-28  2:39 ericbavier
  2015-06-28  2:39 ` [PATCH 1/4] gnu: Add perl-net-smtp-ssl ericbavier
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: ericbavier @ 2015-06-28  2:39 UTC (permalink / raw)
  To: guix-devel; +Cc: Eric Bavier

From: Eric Bavier <bavier@member.fsf.org>

This patch set adds some perl modules that I found I needed in order for `git
send-email` to function properly for me on GuixSD.

The wrapper logic is a bit messy, but I couldn't implement what I needed any
more cleanly.  Any suggestions would be most appreciated.

We wouldn't strictly need to wrap git-send-email, as long as the user
installed the required perl modules to their profile.  But the extra inputs
only add an additional 2 MiB to git's closure, so it seems like some that
could work out-of-the-box.

And I am of course sending this patch set with the resulting git package ;)

Eric Bavier (4):
  gnu: Add perl-net-smtp-ssl.
  gnu: Add perl-gssapi.
  gnu: Add perl-authen-sasl.
  gnu: git: Add inputs for send-email.

 gnu/packages/version-control.scm | 31 ++++++++++++++++++-
 gnu/packages/web.scm             | 65 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+), 1 deletion(-)

-- 
2.2.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/4] gnu: Add perl-net-smtp-ssl.
  2015-06-28  2:39 [PATCH 0/4] git send-email ericbavier
@ 2015-06-28  2:39 ` ericbavier
  2015-06-29 11:46   ` Ludovic Courtès
  2015-06-28  2:39 ` [PATCH 2/4] gnu: Add perl-gssapi ericbavier
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: ericbavier @ 2015-06-28  2:39 UTC (permalink / raw)
  To: guix-devel; +Cc: Eric Bavier

From: Eric Bavier <bavier@member.fsf.org>

* gnu/packages/web.scm (perl-net-smtp-ssl): New variable.
---
 gnu/packages/web.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 94d9970..cbc795f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -2235,6 +2235,26 @@ In all but the inetd type, the server provides the ability to connect to one
 or to multiple server ports.")
     (license (package-license perl))))
 
+(define-public perl-net-smtp-ssl
+  (package
+    (name "perl-net-smtp-ssl")
+    (version "1.03")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://cpan.metacpan.org/authors/id/R/RJ/RJBS/"
+                           "Net-SMTP-SSL-" version ".tar.gz"))
+       (sha256
+	(base32
+	 "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-io-socket-ssl" ,perl-io-socket-ssl)))
+    (home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
+    (synopsis "SSL support for Net::SMTP")
+    (description "SSL support for Net::SMTP")
+    (license (package-license perl))))
+
 (define-public perl-plack
   (package
     (name "perl-plack")
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/4] gnu: Add perl-gssapi.
  2015-06-28  2:39 [PATCH 0/4] git send-email ericbavier
  2015-06-28  2:39 ` [PATCH 1/4] gnu: Add perl-net-smtp-ssl ericbavier
@ 2015-06-28  2:39 ` ericbavier
  2015-06-29 11:48   ` Ludovic Courtès
  2015-06-28  2:39 ` [PATCH 3/4] gnu: Add perl-authen-sasl ericbavier
  2015-06-28  2:39 ` [PATCH 4/4] gnu: git: Add inputs for send-email ericbavier
  3 siblings, 1 reply; 12+ messages in thread
From: ericbavier @ 2015-06-28  2:39 UTC (permalink / raw)
  To: guix-devel; +Cc: Eric Bavier

From: Eric Bavier <bavier@member.fsf.org>

* gnu/packages/web.scm (perl-gssapi): New variable.
---
 gnu/packages/web.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index cbc795f..b186577 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages mit-krb5)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
@@ -1575,6 +1576,29 @@ Encode::decode(locale => $string).")
 which can be used to parse directory listings.")
     (home-page "http://search.cpan.org/~gaas/File-Listing/")))
 
+(define-public perl-gssapi
+  (package
+    (name "perl-gssapi")
+    (version "0.28")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/A/AG/AGROLMS/"
+                           "GSSAPI-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mkhwxjjlhr58pd770i9gnf7zy7jj092iv6jfbnb8bvnc5xjr3vx"))))
+    (build-system perl-build-system)
+    (inputs `(("gssapi" ,mit-krb5)))
+    (arguments
+     `(#:make-maker-flags
+       `(,(string-append "--gssapiimpl=" (assoc-ref %build-inputs "gssapi")))))
+    (home-page "http://search.cpan.org/dist/GSSAPI")
+    (synopsis "Perl extension providing access to the GSSAPIv2 library")
+    (description "This is a Perl extension for using GSSAPI C-Bindings as
+described in FRC 2744.")
+    (license (package-license perl))))
+
 (define-public perl-html-form
   (package
     (name "perl-html-form")
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/4] gnu: Add perl-authen-sasl.
  2015-06-28  2:39 [PATCH 0/4] git send-email ericbavier
  2015-06-28  2:39 ` [PATCH 1/4] gnu: Add perl-net-smtp-ssl ericbavier
  2015-06-28  2:39 ` [PATCH 2/4] gnu: Add perl-gssapi ericbavier
@ 2015-06-28  2:39 ` ericbavier
  2015-06-29 11:49   ` Ludovic Courtès
  2015-06-28  2:39 ` [PATCH 4/4] gnu: git: Add inputs for send-email ericbavier
  3 siblings, 1 reply; 12+ messages in thread
From: ericbavier @ 2015-06-28  2:39 UTC (permalink / raw)
  To: guix-devel; +Cc: Eric Bavier

From: Eric Bavier <bavier@member.fsf.org>

* gnu/packages/web.scm (perl-authen-sasl): New variable.
---
 gnu/packages/web.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b186577..4317213 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -668,6 +668,27 @@ minimum to provide high performance operation.")
 to perl-code, for faster generation of access_log lines.")
     (license (package-license perl))))
 
+(define-public perl-authen-sasl
+  (package
+    (name "perl-authen-sasl")
+    (version "2.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/G/GB/GBARR/"
+                           "Authen-SASL-" version ".tar.gz"))
+       (sha256
+        (base32
+         "02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-digest-hmac" ,perl-digest-hmac)
+       ("perl-gssapi" ,perl-gssapi)))
+    (home-page "http://search.cpan.org/dist/Authen-SASL")
+    (synopsis "SASL authentication framework")
+    (description "Authen::SASL provides an SASL authentication framework.")
+    (license (package-license perl))))
+
 (define-public perl-catalyst-action-renderview
   (package
     (name "perl-catalyst-action-renderview")
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/4] gnu: git: Add inputs for send-email.
  2015-06-28  2:39 [PATCH 0/4] git send-email ericbavier
                   ` (2 preceding siblings ...)
  2015-06-28  2:39 ` [PATCH 3/4] gnu: Add perl-authen-sasl ericbavier
@ 2015-06-28  2:39 ` ericbavier
  2015-06-29 11:56   ` Ludovic Courtès
  3 siblings, 1 reply; 12+ messages in thread
From: ericbavier @ 2015-06-28  2:39 UTC (permalink / raw)
  To: guix-devel; +Cc: Eric Bavier

From: Eric Bavier <bavier@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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] gnu: Add perl-gssapi.
  2015-06-29 11:48   ` Ludovic Courtès
@ 2015-06-29 10:01     ` Eric Bavier
  0 siblings, 0 replies; 12+ messages in thread
From: Eric Bavier @ 2015-06-29 10:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Eric Bavier

On Mon, 29 Jun 2015 13:48:08 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> ericbavier@openmailbox.org skribis:
> 
> > From: Eric Bavier <bavier@member.fsf.org>
> >
> > * gnu/packages/web.scm (perl-gssapi): New variable.
> 
> [...]
> 
> > +    (inputs `(("gssapi" ,mit-krb5)))
> 
> If it works with GNU GSS (‘gss’), it would be better to use that.

It does not.  The have a small list of implementations that are
supported, and GNU GSS is not included.

> 
> > +    (description "This is a Perl extension for using GSSAPI
> > C-Bindings as
> 
> “for using the GSSAPI C bindings”
> 
> > +described in FRC 2744.")
> 
> “RFC”

Thanks.

`~Eric

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] gnu: Add perl-net-smtp-ssl.
  2015-06-28  2:39 ` [PATCH 1/4] gnu: Add perl-net-smtp-ssl ericbavier
@ 2015-06-29 11:46   ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-06-29 11:46 UTC (permalink / raw)
  To: ericbavier; +Cc: guix-devel, Eric Bavier

ericbavier@openmailbox.org skribis:

> From: Eric Bavier <bavier@member.fsf.org>
>
> * gnu/packages/web.scm (perl-net-smtp-ssl): New variable.

OK.

Ludo'.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] gnu: Add perl-gssapi.
  2015-06-28  2:39 ` [PATCH 2/4] gnu: Add perl-gssapi ericbavier
@ 2015-06-29 11:48   ` Ludovic Courtès
  2015-06-29 10:01     ` Eric Bavier
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-06-29 11:48 UTC (permalink / raw)
  To: ericbavier; +Cc: guix-devel, Eric Bavier

ericbavier@openmailbox.org skribis:

> From: Eric Bavier <bavier@member.fsf.org>
>
> * gnu/packages/web.scm (perl-gssapi): New variable.

[...]

> +    (inputs `(("gssapi" ,mit-krb5)))

If it works with GNU GSS (‘gss’), it would be better to use that.

> +    (description "This is a Perl extension for using GSSAPI C-Bindings as

“for using the GSSAPI C bindings”

> +described in FRC 2744.")

“RFC”

OK with these changes.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/4] gnu: Add perl-authen-sasl.
  2015-06-28  2:39 ` [PATCH 3/4] gnu: Add perl-authen-sasl ericbavier
@ 2015-06-29 11:49   ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-06-29 11:49 UTC (permalink / raw)
  To: ericbavier; +Cc: guix-devel, Eric Bavier

ericbavier@openmailbox.org skribis:

> From: Eric Bavier <bavier@member.fsf.org>
>
> * gnu/packages/web.scm (perl-authen-sasl): New variable.

OK.

Ludo'.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 4/4] gnu: git: Add inputs for send-email.
  2015-06-28  2:39 ` [PATCH 4/4] gnu: git: Add inputs for send-email ericbavier
@ 2015-06-29 11:56   ` Ludovic Courtès
  2015-06-30  1:46     ` Eric Bavier
  0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2015-06-29 11:56 UTC (permalink / raw)
  To: ericbavier; +Cc: guix-devel, Eric Bavier

ericbavier@openmailbox.org skribis:

> From: Eric Bavier <bavier@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.

[...]

> +      #:modules ((guix build gnu-build-system)
> +                 (guix build utils)
> +                 (srfi srfi-1))

Use %gnu-build-system-modules instead of listing modules explicitly.

> +              ;; Tell 'git-send-email' where perl modules are.
> +              (wrap-program (string-append out "/libexec/git-core/git-send-email")

It would be best to add a “send-email” output specifically for that, so
we keep the size of the closure of “out” under control (2 MiB is still
10% of the size of “out”.)

> +                `("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)))))))

Could you move the part of ,@ to a top-level procedure?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 4/4] gnu: git: Add inputs for send-email.
  2015-06-29 11:56   ` Ludovic Courtès
@ 2015-06-30  1:46     ` Eric Bavier
  2015-06-30 13:10       ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2015-06-30  1:46 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Eric Bavier

[-- Attachment #1: Type: text/plain, Size: 2092 bytes --]

On Mon, 29 Jun 2015 13:56:51 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> ericbavier@openmailbox.org skribis:
> 
> > From: Eric Bavier <bavier@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.
> 
> [...]
> 
> > +      #:modules ((guix build gnu-build-system)
> > +                 (guix build utils)
> > +                 (srfi srfi-1))
> 
> Use %gnu-build-system-modules instead of listing modules explicitly.
> 
> > +              ;; Tell 'git-send-email' where perl modules are.
> > +              (wrap-program (string-append out
> > "/libexec/git-core/git-send-email")
> 
> It would be best to add a “send-email” output specifically for that,
> so we keep the size of the closure of “out” under control (2 MiB is
> still 10% of the size of “out”.)
> 
> > +                `("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)))))))
> 
> Could you move the part of ,@ to a top-level procedure?

Updated patch attached.

`~Eric

[-- Attachment #2: 0004-gnu-git-Add-inputs-for-send-email.patch --]
[-- Type: text/plain, Size: 6223 bytes --]

From 850f3672ef192354d4bacad48fd84079db08775e Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Sat, 27 Jun 2015 21:06:53 -0500
Subject: [PATCH 4/4] gnu: git: Add inputs for send-email.

* gnu/packages/version-control.scm (package-transitive-propagated-labels*)
  (package-propagated-input-refs): New procedures.
  (git)[inputs]: Add perl-authen-sasl, perl-net-smtp-ssl, and perl-io-socket-ssl.
  [outputs]: Add send-email output.
  [arguments]: Add #:modules argument with srfi-1.  In 'split phase, wrap
  git-send-email.
---
 gnu/packages/version-control.scm | 49 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 46 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 71171e6..15e6fb6 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
@@ -97,6 +99,23 @@ changes to project files over time.  It supports both a distributed workflow
 as well as the classic centralized workflow.")
     (license gpl2+)))
 
+(define (package-transitive-propagated-labels* package)
+  "Return a list of the input labels of PACKAGE and its transitive inputs."
+  (let ((name (package-name package)))
+    `(,name
+      ,@(map (match-lambda
+               ((label (? package? _) . _)
+                (string-append name "/" label)))
+             (package-transitive-propagated-inputs package)))))
+
+(define (package-propagated-input-refs inputs packages)
+  "Return a list of (assoc-ref INPUTS <package-name>) for each package in
+PACKAGES and their propagated inputs."
+  (map (lambda (l)
+         `(assoc-ref ,inputs ,l))
+       (append-map package-transitive-propagated-labels*
+                   packages)))
+
 (define-public git
   ;; Keep in sync with 'git-manpages'!
   (package
@@ -124,10 +143,16 @@ 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)))
    (outputs '("out"                               ; the core
+              "send-email"                        ; for git-send-email
               "svn"                               ; git-svn
               "gui"))                             ; gitk, git gui
    (arguments
@@ -141,6 +166,8 @@ as well as the classic centralized workflow.")
                                              (assoc-ref %build-inputs "tk")
                                              "/bin/wish8.6")) ; XXX
 
+      #:modules ((srfi srfi-1)
+                 ,@%gnu-build-system-modules)
       #:phases
        (alist-cons-after
         'configure 'patch-makefile-shebangs
@@ -164,6 +191,7 @@ as well as the classic centralized workflow.")
           (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"))
@@ -172,20 +200,23 @@ as well as the classic centralized workflow.")
                    (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-svn)
-                        (list gitk* git-gui* git-cit* git-svn*))
+                        (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 is.
               (wrap-program git-svn*
@@ -202,6 +233,18 @@ as well as the classic centralized workflow.")
                   (,(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"))
+                        (delete-duplicates
+                         (list
+                          ,@(package-propagated-input-refs
+                             'inputs
+                             `(,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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 4/4] gnu: git: Add inputs for send-email.
  2015-06-30  1:46     ` Eric Bavier
@ 2015-06-30 13:10       ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-06-30 13:10 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, Eric Bavier

Eric Bavier <ericbavier@openmailbox.org> skribis:

> From 850f3672ef192354d4bacad48fd84079db08775e Mon Sep 17 00:00:00 2001
> From: Eric Bavier <bavier@member.fsf.org>
> Date: Sat, 27 Jun 2015 21:06:53 -0500
> Subject: [PATCH 4/4] gnu: git: Add inputs for send-email.
>
> * gnu/packages/version-control.scm (package-transitive-propagated-labels*)
>   (package-propagated-input-refs): New procedures.
>   (git)[inputs]: Add perl-authen-sasl, perl-net-smtp-ssl, and perl-io-socket-ssl.
>   [outputs]: Add send-email output.
>   [arguments]: Add #:modules argument with srfi-1.  In 'split phase, wrap
>   git-send-email.

Perfect, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-06-30 13:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-28  2:39 [PATCH 0/4] git send-email ericbavier
2015-06-28  2:39 ` [PATCH 1/4] gnu: Add perl-net-smtp-ssl ericbavier
2015-06-29 11:46   ` Ludovic Courtès
2015-06-28  2:39 ` [PATCH 2/4] gnu: Add perl-gssapi ericbavier
2015-06-29 11:48   ` Ludovic Courtès
2015-06-29 10:01     ` Eric Bavier
2015-06-28  2:39 ` [PATCH 3/4] gnu: Add perl-authen-sasl ericbavier
2015-06-29 11:49   ` Ludovic Courtès
2015-06-28  2:39 ` [PATCH 4/4] gnu: git: Add inputs for send-email ericbavier
2015-06-29 11:56   ` Ludovic Courtès
2015-06-30  1:46     ` Eric Bavier
2015-06-30 13:10       ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).