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.
This commit is contained in:
Ludovic Courtès 2012-07-01 17:32:03 +02:00
parent a1232d0cb8
commit 03671375b6
2 changed files with 10 additions and 4 deletions

View File

@ -62,9 +62,13 @@ (define-public gawk
(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/")

View File

@ -171,7 +171,9 @@ (define* (package-derivation store package
(package-source-derivation store source)
inputs
#:outputs outputs #:system system
args)))))
(if (procedure? args)
(args system)
args))))))
(define* (package-cross-derivation store package)
;; TODO