summary refs log tree commit diff
diff options
context:
space:
mode:
-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