;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system trivial))
+ #:use-module (guix build-system trivial)
+ #:use-module (ice-9 match)
+ #:export (autoconf-wrapper))
(define-public autoconf
(package
(base32
"113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4"))))
(build-system gnu-build-system)
- (inputs
+ (native-inputs
`(("perl" ,perl)
("m4" ,m4)))
;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It
know anything about Autoconf or M4.")
(license gpl3+))) ; some files are under GPLv2+
-(define-public autoconf-wrapper
- ;; An Autoconf wrapper that generates `configure' scripts that use our
- ;; own Bash instead of /bin/sh in shebangs. For that reason, it
- ;; should only be used internally---users should not end up
- ;; distributing `configure' files with a system-specific shebang.
+(define-public autoconf-2.68
+ (package (inherit autoconf)
+ (version "2.68")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/autoconf/autoconf-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1fjm21k2na07f3vasf288a0zx66lbv0hd3l9bvv3q8p62s3pg569"))))))
+
+(define-public autoconf-2.64
+ ;; As of GDB 7.8, GDB is still developed using this version of Autoconf.
+ (package (inherit autoconf)
+ (version "2.64")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/autoconf/autoconf-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j"))))))
+
+
+(define* (autoconf-wrapper #:optional (autoconf autoconf))
+ "Return an wrapper around AUTOCONF that generates `configure' scripts that
+use our own Bash instead of /bin/sh in shebangs. For that reason, it should
+only be used internally---users should not end up distributing `configure'
+files with a system-specific shebang."
(package (inherit autoconf)
- (location (source-properties->location (current-source-location)))
(name (string-append (package-name autoconf) "-wrapper"))
(build-system trivial-build-system)
(inputs `(("guile"
port)))
(chmod (string-append bin "/autoconf") #o555)))))))
+(define-public autoconf-archive
+ (package
+ (name "autoconf-archive")
+ (version "2016.03.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/autoconf-archive/autoconf-archive-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0dz4fnc723jqn3by22ds5fys7g31apzm1r9allldvva0yvzjxyw8"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.gnu.org/software/autoconf-archive")
+ (synopsis "Collection of freely reusable Autoconf macros")
+ (description
+ "Autoconf Archive is a collection of over 450 new macros for Autoconf,
+greatly expanding the domain of its functionality. These macros have been
+contributed as free software by the community.")
+ (license gpl3+)))
+
+(define-public autobuild
+ (package
+ (name "autobuild")
+ (version "5.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/autobuild/autobuild-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0gv7g61ja9q9zg1m30k4snqwwy1kq7b4df6sb7d2qra7kbdq8af1"))))
+ (build-system gnu-build-system)
+ (inputs `(("perl" ,perl)))
+ (synopsis "Process generated build logs")
+ (description "Autobuild is a package that processes build logs generated
+when building software. Autobuild is primarily focused on packages using
+Autoconf and Automake, but can be used with other build systems too.
+Autobuild generates an HTML summary file, containing links to each build log.
+The summary includes project name, version, build hostname, host type (cross
+compile aware), date of build, and indication of success or failure. The
+output is indexed in many ways to simplify browsing.")
+ (home-page "http://josefsson.org/autobuild/")
+ (license gpl3+)))
+
(define-public automake
(package
(name "automake")
- (version "1.14.1")
+ (version "1.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
- "0s86rzdayj1licgj35q0mnynv5xa8f4p32m36blc5jk9id5z1d59"))
+ "0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r"))
(patches
- (list (search-patch "automake-skip-amhello-tests.patch")))))
+ (search-patches "automake-regexp-syntax.patch"
+ "automake-skip-amhello-tests.patch"))))
(build-system gnu-build-system)
- (inputs
- `(("autoconf" ,autoconf-wrapper)
+ (native-inputs
+ `(("autoconf" ,(autoconf-wrapper))
("perl" ,perl)))
(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)
(define-public libtool
(package
(name "libtool")
- (version "2.4.2")
+ (version "2.4.6")
(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
+ "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
+ (patches (search-patches "libtool-skip-tests2.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
complexity of working with shared libraries across platforms.")
(license gpl3+)
(home-page "http://www.gnu.org/software/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 "2.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/libtool/libtool-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#: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+)))