;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
(define-public gawk
(package
(name "gawk")
- (version "4.1.0")
+ (version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
- (base32 "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"))))
+ (base32 "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; test suite fails in parallel
- ;; Work around test failure on Cygwin.
- #:tests? ,(not (string=? (%current-system) "i686-cygwin"))
-
#:phases (alist-cons-before
'configure 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "io.c"
(("/bin/sh")
- (string-append bash "/bin/bash")))))
+ (string-append bash "/bin/bash")))
+
+ ;; 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 gawk 4.1.1 was bootstrapped with a prerelease
+ ;; libtool, which fails on MIPS in the absence of
+ ;; /usr/bin/file. As a temporary workaround, we patch
+ ;; the configure script to hardcode use of the little
+ ;; endian N32 ABI on MIPS.
+ ,@(if (equal? "mips64el-linux" (or (%current-target-system)
+ (%current-system)))
+ '((substitute* "extension/configure"
+ (("\\$emul") "elf32ltsmipn32")))
+ '())))
%standard-phases)))
(inputs `(("libsigsegv" ,libsigsegv)
(home-page "http://www.gnu.org/software/gawk/")
(synopsis "A text scanning and processing language")
(description
- "Many computer users need to manipulate text files: extract and then
-operate on data from parts of certain lines while discarding the rest, make
-changes in various text files wherever certain patterns appear, and so on.
-To write a program to do these things in a language such as C or Pascal is a
-time-consuming inconvenience that may take many lines of code. The job is
-easy with awk, especially the GNU implementation: Gawk.
-
-The awk utility interprets a special-purpose programming language that makes
-it possible to handle many data-reformatting jobs with just a few lines of
-code.")
+ "Gawk is the GNU implementation of Awk, a specialized programming
+language for the easy manipulation of formatted text, such as tables of data.
+ Gawk features many extensions beyond the traditional implementation,
+including network access, sorting, and large libraries.")
(license gpl3+)))