aboutsummaryrefslogtreecommitdiff
path: root/guix/build-system/gnu.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-07 19:35:20 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-07 19:35:20 +0200
commitf986c264b2502df5376f4c50ff104b5fc8db9f23 (patch)
treedab7ce3810b6c30bab0f87d0b33178bb8a4ec21e /guix/build-system/gnu.scm
parent1c93be5600fb90a64cbbdf7a55061902d2ff150a (diff)
downloadguix-f986c264b2502df5376f4c50ff104b5fc8db9f23.tar
guix-f986c264b2502df5376f4c50ff104b5fc8db9f23.tar.gz
build-system/gnu: Add 'package-with-restricted-references'.
* guix/build-system/gnu.scm (package-with-restricted-references): New procedure.
Diffstat (limited to 'guix/build-system/gnu.scm')
-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.