;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages gawk)
#:use-module (guix licenses)
+ #:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages libsigsegv)
#:use-module (guix packages)
(define-public gawk
(package
(name "gawk")
- (version "4.1.1")
+ (version "4.1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
- (base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g"))))
+ (base32 "0rn2mmjxm767zliqzd67j7h2ncjn4j0321c60y9fy3grs3i89qak"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; test suite fails in parallel
- #:phases (alist-cons-before
- 'configure 'set-shell-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Refer to the right shell.
- (let ((bash (assoc-ref inputs "bash")))
- (substitute* "io.c"
- (("/bin/sh")
- (string-append bash "/bin/bash")))
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-shell-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Refer to the right shell.
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* "io.c"
+ (("/bin/sh")
+ (string-append bash "/bin/sh")))
- ;; When cross-compiling, remove dependencies on the
- ;; `check-for-shared-lib-support' target, which tries to
- ;; run the cross-built `gawk'.
- ,@(if (%current-target-system)
- '((substitute* "extension/Makefile.in"
- (("^.*: check-for-shared-lib-support" match)
- (string-append "### " match))))
- '())
+ ;; When cross-compiling, remove dependencies on the
+ ;; `check-for-shared-lib-support' target, which tries
+ ;; to run the cross-built `gawk'.
+ ,@(if (%current-target-system)
+ '((substitute* "extension/Makefile.in"
+ (("^.*: check-for-shared-lib-support" match)
+ (string-append "### " match))))
+ '()))))
- ;; XXX FIXME prerelease libtool fails on MIPS in the
- ;; absence of /usr/bin/file.
- ,@(if (equal? "mips64el-linux" (or (%current-target-system)
- (%current-system)))
- '((substitute* "extension/configure"
- (("/usr/bin/file") (which "file"))))
- '())))
+ (add-before 'check 'adjust-test-infrastructure
+ (lambda _
+ ;; Remove dependency on 'more' (from util-linux), which
+ ;; would needlessly complicate bootstrapping.
+ (substitute* "test/Makefile"
+ (("\\| more") ""))
+
+ ;; Adjust the shebang in that file since it is then diff'd
+ ;; against the actual test output.
+ (substitute* "test/watchpoint1.ok"
+ (("#! /usr/bin/gawk")
+ (string-append "#!" (which "gawk"))))
+ #t)))))
- (alist-cons-before
- 'check 'install-locales
- (lambda _
- ;; A bunch of tests require the availability of a UTF-8
- ;; locale and otherwise fail. Give them what they want.
- (setenv "LOCPATH" (getcwd))
- (zero? (system* "localedef" "--no-archive"
- "--prefix" (getcwd) "-i" "en_US"
- "-f" "UTF-8" "./en_US.UTF-8")))
- %standard-phases))))
(inputs `(("libsigsegv" ,libsigsegv)
,@(if (%current-target-system)
`(("bash" ,bash))
'())))
- (home-page "http://www.gnu.org/software/gawk/")
+ (home-page "https://www.gnu.org/software/gawk/")
(synopsis "Text scanning and processing language")
(description
"Gawk is the GNU implementation of Awk, a specialized programming