aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-07-01 17:32:03 +0200
committerLudovic Courtès <ludo@gnu.org>2012-07-02 15:59:30 +0200
commit03671375b6eda0d47452780d91fd3af7bde791aa (patch)
treeb179e999ab03cc75bbd1b32a7de2f2fa104b0e9e
parenta1232d0cb886c96b721d3f83aefdbc921bd95bc3 (diff)
downloadgnu-guix-03671375b6eda0d47452780d91fd3af7bde791aa.tar
gnu-guix-03671375b6eda0d47452780d91fd3af7bde791aa.tar.gz
packages: Allow the `arguments' field to be a procedure.
* guix/packages.scm (package-derivation): When ARGS is a procedure, call (ARGS SYSTEM). * distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable tests on Cygwin.
-rw-r--r--distro/base.scm10
-rw-r--r--guix/packages.scm4
2 files changed, 10 insertions, 4 deletions
diff --git a/distro/base.scm b/distro/base.scm
index c9d2ae8033..9570b6d684 100644
--- a/distro/base.scm
+++ b/distro/base.scm
@@ -62,9 +62,13 @@ handlers, distributed shared memory, and more.")
(nix-base32-string->bytevector
"0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
(build-system gnu-build-system)
- (arguments '()
- ;; TODO: disable tests on Cygwin
- )
+ (arguments (case-lambda
+ ((system)
+ (if (string=? system "i686-cygwin")
+ '(#:tests? #f) ; work around test failure on Cygwin
+ '()))
+ ((system cross-system)
+ '())))
(inputs `(("libsigsegv" ,libsigsegv) ; headers
("libsigsegv/lib" ,libsigsegv "lib"))) ; library
(home-page "http://www.gnu.org/software/gawk/")
diff --git a/guix/packages.scm b/guix/packages.scm
index 3f8f880b29..0d5823ad5d 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -171,7 +171,9 @@ etc."
(package-source-derivation store source)
inputs
#:outputs outputs #:system system
- args)))))
+ (if (procedure? args)
+ (args system)
+ args))))))
(define* (package-cross-derivation store package)
;; TODO