summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-07-11 17:26:43 +0200
committerLudovic Courtès <ludo@gnu.org>2012-07-11 17:26:43 +0200
commitce5d658c5c24ccd394818ba892d43ea4c424ec24 (patch)
treeaee925a591f5fd0897a34691bddc95d8431e4b4f
parentfd33c82c43faafb3a3489e52dd8a6b651d952ac9 (diff)
downloadguix-ce5d658c5c24ccd394818ba892d43ea4c424ec24.tar.gz
Add `nixpkgs-derivation*'; use it in the distro.
* guix/utils.scm (nixpkgs-derivation*): New macro.

* distro/base.scm: Use it instead of `nixpkgs-derivation'.
-rw-r--r--distro/base.scm20
-rw-r--r--guix/utils.scm5
2 files changed, 15 insertions, 10 deletions
diff --git a/distro/base.scm b/distro/base.scm
index 7b5a2f8b98..935f313da3 100644
--- a/distro/base.scm
+++ b/distro/base.scm
@@ -211,7 +211,7 @@ faster algorithms.")
               "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))))
    (build-system gnu-build-system)
    (native-inputs `(("m4" ,m4)
-                    ("perl" ,(nixpkgs-derivation "perl"))))
+                    ("perl" ,(nixpkgs-derivation* "perl"))))
    (description "GNU Libtool, a generic library support script")
    (long-description
     "GNU libtool is a generic library support script.  Libtool hides the
@@ -290,7 +290,7 @@ internal in-memory representation.")
    (inputs `(("patch/snarf"
               ,(search-path %load-path "distro/guile-1.8-cpp-4.5.patch"))
              ("gawk" ,gawk)
-             ("readline" ,(nixpkgs-derivation "readline"))))
+             ("readline" ,(nixpkgs-derivation* "readline"))))
 
    ;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
    ;; propagated.
@@ -320,10 +320,10 @@ extensible.  It supports many SRFIs.")
              (base32
               "000ng5qsq3cl1k35jvzvhwxj92wx4q87745n2fppkd4irh58vv5l"))))
    (build-system gnu-build-system)
-   (native-inputs `(("xz" ,(nixpkgs-derivation "xz"))
-                    ("pkgconfig" ,(nixpkgs-derivation "pkgconfig"))))
-   (inputs `(("libffi" ,(nixpkgs-derivation "libffi"))
-             ("readline" ,(nixpkgs-derivation "readline"))))
+   (native-inputs `(("xz" ,(nixpkgs-derivation* "xz"))
+                    ("pkgconfig" ,(nixpkgs-derivation* "pkgconfig"))))
+   (inputs `(("libffi" ,(nixpkgs-derivation* "libffi"))
+             ("readline" ,(nixpkgs-derivation* "readline"))))
 
    (propagated-inputs
     `( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
@@ -335,7 +335,7 @@ extensible.  It supports many SRFIs.")
 
       ;; The headers and/or `guile-2.0.pc' refer to these packages, so they
       ;; must be propagated.
-      ("bdw-gc" ,(nixpkgs-derivation "boehmgc"))
+      ("bdw-gc" ,(nixpkgs-derivation* "boehmgc"))
       ("gmp" ,gmp)))
 
    (self-native-input? #t)
@@ -366,8 +366,8 @@ or 2.0."
               (base32
                "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
    (build-system gnu-build-system)
-   (native-inputs `(("pkgconfig" ,(nixpkgs-derivation "pkgconfig"))
-                    ("gperf" ,(nixpkgs-derivation "gperf"))))
+   (native-inputs `(("pkgconfig" ,(nixpkgs-derivation* "pkgconfig"))
+                    ("gperf" ,(nixpkgs-derivation* "gperf"))))
    (inputs `(("guile" ,guile)))
    (description "Guile-Reader, a simple framework for building readers for
 GNU Guile")
@@ -462,7 +462,7 @@ many readers as needed).")
                "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq"))))
     (build-system gnu-build-system)               ; actually, just a makefile
     (outputs '("out" "doc"))
-    (inputs `(("ghostscript" ,(nixpkgs-derivation "ghostscript"))))
+    (inputs `(("ghostscript" ,(nixpkgs-derivation* "ghostscript"))))
     (arguments `(#:modules ((guix build utils)
                             (guix build gnu-build-system)
                             (srfi srfi-1))        ; we need SRFI-1
diff --git a/guix/utils.scm b/guix/utils.scm
index 3d92bac9cc..66563c727e 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -43,6 +43,7 @@
 
             %nixpkgs-directory
             nixpkgs-derivation
+            nixpkgs-derivation*
 
             define-record-type*
             compile-time-value
@@ -457,6 +458,10 @@ starting from the right of S."
          (not (eof-object? l))
          l)))
 
+(define-syntax-rule (nixpkgs-derivation* attribute)
+  "Evaluate the given Nixpkgs derivation at compile-time."
+  (compile-time-value (nixpkgs-derivation attribute)))
+
 
 ;;;
 ;;; Miscellaneous.