diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 0c3f1ea4e3..4fa1d1683d 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -33,7 +33,8 @@ (define-module (guix build-system gnu) package-with-extra-configure-variable static-libgcc-package static-package - dist-package)) + dist-package + package-with-restricted-references)) ;; Commentary: ;; @@ -190,6 +191,15 @@ (define* (dist-package p source) ("gettext" ,(ref '(gnu packages gettext) 'gnu-gettext)) ("texinfo" ,(ref '(gnu packages texinfo) 'texinfo)))))))) +(define (package-with-restricted-references p refs) + "Return a package whose outputs are guaranteed to only refer to the packages +listed in REFS." + (if (eq? (package-build-system p) gnu-build-system) ; XXX: dirty + (package (inherit p) + (arguments `(#:allowed-references ,refs + ,@(package-arguments p)))) + p)) + (define %store ;; Store passed to STANDARD-INPUTS.