~ruther/guix-local

55e1f25d89bd3cf68cb91be315ac1961ab984042 — Ludovic Courtès 10 years ago 3f4ecf3
build-system/gnu: Add #:disallowed-references.

* guix/build-system/gnu.scm (gnu-build): Add #:disallowed-references and
honor it.
(gnu-cross-build): Likewise.
1 files changed, 14 insertions(+), 3 deletions(-)

M guix/build-system/gnu.scm
M guix/build-system/gnu.scm => guix/build-system/gnu.scm +14 -3
@@ 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