summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-03-20 22:46:45 +0100
committerLudovic Courtès <ludo@gnu.org>2016-03-20 22:46:45 +0100
commit55e1f25d89bd3cf68cb91be315ac1961ab984042 (patch)
treef4801c25f273fd84e6c336970ced242983822c88
parent3f4ecf32291779d9f75493a5e75cdbea2bc51adb (diff)
downloadguix-55e1f25d89bd3cf68cb91be315ac1961ab984042.tar.gz
build-system/gnu: Add #:disallowed-references.
* guix/build-system/gnu.scm (gnu-build): Add #:disallowed-references and
honor it.
(gnu-cross-build): Likewise.
-rw-r--r--guix/build-system/gnu.scm17
1 files changed, 14 insertions, 3 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index afd57668e2..a7d1952b57 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -296,7 +296,8 @@ standard packages used as implicit inputs of the GNU build system."
                     (imported-modules %gnu-build-system-modules)
                     (modules %default-modules)
                     (substitutable? #t)
-                    allowed-references)
+                    allowed-references
+                    disallowed-references)
   "Return a derivation called NAME that builds from tarball SOURCE, with
 input derivation INPUTS, using the usual procedure of the GNU Build
 System.  The builder is run with GUILE, or with the distro's final Guile
@@ -313,7 +314,8 @@ SUBSTITUTABLE? determines whether users may be able to use substitutes of the
 returned derivations, or whether they should always build it locally.
 
 ALLOWED-REFERENCES can be either #f, or a list of packages that the outputs
-are allowed to refer to."
+are allowed to refer to.  Likewise for DISALLOWED-REFERENCES, which lists
+packages that must not be referenced."
   (define canonicalize-reference
     (match-lambda
      ((? package? p)
@@ -378,6 +380,10 @@ are allowed to refer to."
                                 (and allowed-references
                                      (map canonicalize-reference
                                           allowed-references))
+                                #:disallowed-references
+                                (and disallowed-references
+                                     (map canonicalize-reference
+                                          disallowed-references))
                                 #:guile-for-build guile-for-build))
 
 
@@ -432,7 +438,8 @@ is one of `host' or `target'."
                           (imported-modules %gnu-build-system-modules)
                           (modules %default-modules)
                           (substitutable? #t)
-                          allowed-references)
+                          allowed-references
+                          disallowed-references)
   "Cross-build NAME for TARGET, where TARGET is a GNU triplet.  INPUTS are
 cross-built inputs, and NATIVE-INPUTS are inputs that run on the build
 platform."
@@ -524,6 +531,10 @@ platform."
                                 (and allowed-references
                                      (map canonicalize-reference
                                           allowed-references))
+                                #:disallowed-references
+                                (and disallowed-references
+                                     (map canonicalize-reference
+                                          disallowed-references))
                                 #:guile-for-build guile-for-build))
 
 (define gnu-build-system