On Sun, Jan 01, 2017 at 03:24:27PM +0000, ng0 wrote:
> * gnu/packages/autotools.scm (libtool): Use 'modify-phases'.
> [arguments]: Use 'modify-phases'.

> +                     ("help2man" ,help2man) ;because we modify ltmain.sh

This should go in the other patch, right?

I attached a revised patch series with that change, and another bug fix.
From 7f0fce3f71be7da461de89fb5f6f47289c6498b6 Mon Sep 17 00:00:00 2001
From: ng0 <n...@libertad.pw>
Date: Sun, 1 Jan 2017 15:24:27 +0000
Subject: [PATCH 1/3] gnu: libtool: Use 'modify-phases'.

* gnu/packages/autotools.scm (libtool): Use 'modify-phases'.
[arguments]: Use 'modify-phases'.

Signed-off-by: Leo Famulari <l...@famulari.name>
---
 gnu/packages/autotools.scm | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 72492e70e..64a1e68bf 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis...@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2016 David Thompson <da...@gnu.org>
+;;; Copyright © 2017 ng0 <n...@libertad.pw>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -313,21 +314,22 @@ Makefile, simplifying the entire process for the 
developer.")
                                       (or (%current-target-system)
                                           (%current-system))))
 
-       #:phases (alist-cons-before
-                 'check 'pre-check
-                 (lambda* (#:key inputs #:allow-other-keys)
-                   ;; Run the test suite in parallel, if possible.
-                   (setenv "TESTSUITEFLAGS"
-                           (string-append
-                            "-j"
-                            (number->string (parallel-job-count))))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       ;; Run the test suite in parallel, if possible.
+                       (setenv "TESTSUITEFLAGS"
+                               (string-append
+                                "-j"
+                                (number->string (parallel-job-count))))
+
+                       ;; Path references to /bin/sh.
+                       (let ((bash (assoc-ref inputs "bash")))
+                         (substitute* "tests/testsuite"
+                           (("/bin/sh")
+                            (string-append bash "/bin/bash")))))))))
 
-                   ;; Path references to /bin/sh.
-                   (let ((bash (assoc-ref inputs "bash")))
-                     (substitute* "tests/testsuite"
-                       (("/bin/sh")
-                        (string-append bash "/bin/bash")))))
-                 %standard-phases)))
     (synopsis "Generic shared library support tools")
     (description
      "GNU Libtool helps in the creation and use of shared libraries, by
-- 
2.11.0

From fc60e04d85ab171538333fe5aa47c2e6849b02e3 Mon Sep 17 00:00:00 2001
From: ng0 <n...@libertad.pw>
Date: Sun, 1 Jan 2017 15:24:28 +0000
Subject: [PATCH 2/3] gnu: libtool: Restore ltmain.sh shebang.

This fixes <http://bugs.gnu.org/25304>

* gnu/packages/autotools.scm (libtool)[arguments]: Add new phase
'restore-ltmain-shebang'.
[native-inputs]: Add help2man.

Signed-off-by: Leo Famulari <l...@famulari.name>
---
 gnu/packages/autotools.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 64a1e68bf..217517ade 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages bash)
   #:use-module (guix utils)
   #:use-module (guix packages)
@@ -301,6 +302,7 @@ Makefile, simplifying the entire process for the 
developer.")
     (propagated-inputs `(("m4" ,m4)))
     (native-inputs `(("m4" ,m4)
                      ("perl" ,perl)
+                     ("help2man" ,help2man) ;because we modify ltmain.sh
                      ("automake" ,automake)      ;some tests rely on 'aclocal'
                      ("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te'
 
@@ -328,7 +330,12 @@ Makefile, simplifying the entire process for the 
developer.")
                        (let ((bash (assoc-ref inputs "bash")))
                          (substitute* "tests/testsuite"
                            (("/bin/sh")
-                            (string-append bash "/bin/bash")))))))))
+                            (string-append bash "/bin/bash"))))))
+         (add-after 'patch-source-shebangs 'restore-ltmain-shebang
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* "build-aux/ltmain.in"
+                        (((string-append (assoc-ref inputs "bash") "/bin/sh"))
+                         "/bin/sh")))))))
 
     (synopsis "Generic shared library support tools")
     (description
-- 
2.11.0

From 809120b991603b8c557be7481be2bbae29bd8a7f Mon Sep 17 00:00:00 2001
From: Leo Famulari <l...@famulari.name>
Date: Wed, 4 Jan 2017 19:44:27 -0500
Subject: [PATCH 3/3] gnu: libtool: Don't replace 'sh' reference with 'bash'.

Bash behaves differently based on how it is invoked (see Invocation in bash(1)).

* gnu/packages/autotools.scm (libtool)[arguments]: Use /bin/sh instead
of /bin/bash in 'pre-check' phase. Fix typo in comment.
---
 gnu/packages/autotools.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 217517ade..926767855 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -326,11 +326,11 @@ Makefile, simplifying the entire process for the 
developer.")
                                 "-j"
                                 (number->string (parallel-job-count))))
 
-                       ;; Path references to /bin/sh.
+                       ;; Patch references to /bin/sh.
                        (let ((bash (assoc-ref inputs "bash")))
                          (substitute* "tests/testsuite"
                            (("/bin/sh")
-                            (string-append bash "/bin/bash"))))))
+                            (string-append bash "/bin/sh"))))))
          (add-after 'patch-source-shebangs 'restore-ltmain-shebang
                     (lambda* (#:key inputs #:allow-other-keys)
                       (substitute* "build-aux/ltmain.in"
-- 
2.11.0

Attachment: signature.asc
Description: PGP signature

Reply via email to