summary refs log tree commit diff
path: root/gnu/packages/autotools.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/autotools.scm')
-rw-r--r--gnu/packages/autotools.scm123
1 files changed, 58 insertions, 65 deletions
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 3db3f45949..8e72562444 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -178,7 +178,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
     (native-search-paths
      (list (search-path-specification
             (variable "ACLOCAL_PATH")
-            (directories '("share/aclocal")))))
+            (files '("share/aclocal")))))
     (arguments
      '(#:modules ((guix build gnu-build-system)
                   (guix build utils)
@@ -238,52 +238,48 @@ Makefile, simplifying the entire process for the developer.")
 (define-public libtool
   (package
     (name "libtool")
-    (version "2.4.2")
+    (version "2.4.4")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnu/libtool/libtool-"
-                                 version ".tar.gz"))
-             (sha256
-              (base32
-               "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
-             (patches
-              (list (search-patch "libtool-skip-tests.patch")
-                    (search-patch "libtool-skip-tests-for-mips.patch")))))
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/libtool/libtool-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
+              (patches
+               (list (search-patch "libtool-skip-tests.patch")))))
     (build-system gnu-build-system)
+    (propagated-inputs `(("m4" ,m4)))
     (native-inputs `(("m4" ,m4)
-                     ("perl" ,perl)))
-
-    ;; Separate binaries from the rest.  During bootstrap, only ltdl is
-    ;; used; not depending on the binaries allows us to avoid retaining
-    ;; a reference to the bootstrap bash.
-    (outputs '("bin"                         ; libtoolize, libtool, etc.
-               "out"))                       ; libltdl.so, ltdl.h, etc.
+                     ("perl" ,perl)
+                     ("automake" ,automake)      ;some tests rely on 'aclocal'
+                     ("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te'
 
     (arguments
-     (if (%current-target-system)
-         '()                            ; no `check' phase when cross-building
-         '(#:phases (alist-cons-before
-                     'check 'pre-check
-                     (lambda* (#:key inputs #:allow-other-keys)
-                       ;; Run the test suite in parallel, if possible.
-                       (let ((ncores
-                              (cond
-                               ((getenv "NIX_BUILD_CORES")
-                                =>
-                                (lambda (n)
-                                  (if (zero? (string->number n))
-                                      (number->string (current-processor-count))
-                                      n)))
-                               (else "1"))))
-                         (setenv "TESTSUITEFLAGS"
-                                 (string-append "-j" ncores)))
+     `(;; Libltdl is provided as a separate package, so don't install it here.
+       #:configure-flags '("--disable-ltdl-install")
+
+       ;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
+       ;; <http://hydra.gnu.org/build/181662>.
+       #:tests? ,(not (string-prefix? "mips64"
+                                      (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))))
 
-                       ;; Path references to /bin/sh.
-                       (let ((bash (assoc-ref inputs "bash")))
-                         (substitute* "tests/testsuite"
-                           (("/bin/sh")
-                            (string-append bash "/bin/bash")))))
-                     %standard-phases))))
+                   ;; 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
@@ -292,28 +288,25 @@ complexity of working with shared libraries across platforms.")
     (license gpl3+)
     (home-page "http://www.gnu.org/software/libtool/")))
 
-(define-public libtool-2.4.4
-  (package (inherit libtool)
-    (version "2.4.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/libtool/libtool-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
-              (patches
-               (list (search-patch "libtool-2.4-skip-tests.patch")))))
-
-    (native-inputs `(("automake" ,automake)      ;some tests rely on 'aclocal'
-                     ("autoconf" ,(autoconf-wrapper)) ;others on 'autom4te'
-                     ,@(package-native-inputs libtool)))
-
+(define-public libltdl
+  ;; This is a libltdl package separate from the libtool package.  This is
+  ;; useful because, unlike libtool, it has zero extra dependencies (making it
+  ;; readily usable during bootstrap), and it builds very quickly since
+  ;; Libtool's extensive test suite isn't run.
+  (package
+    (name "libltdl")
+    (version (package-version libtool))
+    (source (package-source libtool))
+    (build-system gnu-build-system)
     (arguments
-     ;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
-     ;; <http://hydra.gnu.org/build/181662>.
-     (if (string-prefix? "mips64el"
-                         (or (%current-target-system) (%current-system)))
-         `(#:tests? #f
-           ,@(package-arguments libtool))
-         (package-arguments libtool)))))
+     '(#:configure-flags '("--enable-ltdl-install") ;really install it
+       #:phases (alist-cons-before
+                 'configure 'change-directory
+                 (lambda _
+                   (chdir "libltdl"))
+                 %standard-phases)))
+
+    (synopsis "System-independent dlopen wrapper of GNU libtool")
+    (description (package-description libtool))
+    (home-page (package-home-page libtool))
+    (license lgpl2.1+)))