;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
(define-public m4
(package
(name "m4")
- (version "1.4.17")
+ (version "1.4.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/m4/m4-"
- version ".tar.bz2"))
+ version ".tar.xz"))
+ (patches (search-patches "m4-gnulib-libio.patch"))
(sha256
(base32
- "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))
- (patches (list (search-patch "m4-readlink-EINVAL.patch")))))
+ "01sfjd5a4waqw83bibvmn522g69qfqvwig9i2qlgy154l1nfihgj"))))
(build-system gnu-build-system)
(arguments
- ;; XXX: Disable tests on those platforms with know issues.
- `(#:tests? ,(not (member (%current-system)
- '("x86_64-darwin"
- "i686-cygwin"
- "i686-sunos")))
- #:phases (alist-cons-before
- 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Fix references to /bin/sh.
- (let ((bash (assoc-ref inputs "bash")))
- (for-each patch-shebang
- (find-files "tests" "\\.sh$"))
- (substitute* (find-files "tests"
- "posix_spawn")
- (("/bin/sh")
- (format #f "~a/bin/bash" bash)))))
- %standard-phases)))
+ `(;; Explicitly disable tests when cross-compiling, otherwise 'make check'
+ ;; proceeds and fails, unsurprisingly.
+ #:tests? ,(not (%current-target-system))
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix references to /bin/sh.
+ (let ((bash (assoc-ref inputs "bash")))
+ (for-each patch-shebang
+ (find-files "tests" "\\.sh$"))
+ (substitute* (find-files "tests"
+ "posix_spawn")
+ (("/bin/sh")
+ (format #f "~a/bin/sh" bash)))
+ #t))))))
(synopsis "Macro processor")
(description
"GNU M4 is an implementation of the M4 macro language, which features
-some extensions over other implementations. It is used as a macro processor,
-which means it processes text, expanding macros as it encounters them. It
-also has some built-in functionns, for example to run shell commands or to do
-arithmetic.")
+some extensions over other implementations, some of which are required by GNU
+Autoconf. It is used as a macro processor, which means it processes text,
+expanding macros as it encounters them. It also has some built-in functions,
+for example to run shell commands or to do arithmetic.")
(license gpl3+)
- (home-page "http://www.gnu.org/software/m4/")))
+ (home-page "https://www.gnu.org/software/m4/")))