aboutsummaryrefslogtreecommitdiff
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)
downloadgnu-guix-ce5d658c5c24ccd394818ba892d43ea4c424ec24.tar
gnu-guix-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.