summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/build-system/gnu.scm12
1 files changed, 11 insertions, 1 deletions
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 @@
package-with-extra-configure-variable
static-libgcc-package
static-package
- dist-package))
+ dist-package
+ package-with-restricted-references))
;; Commentary:
;;
@@ -190,6 +191,15 @@ runs `make distcheck' and whose result is one or more source tarballs."
("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.