mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
build-system/trivial: Add support for #:allowed-references.
* guix/build-system/trivial.scm (lower): Add #:allowed-references and
keep it in the 'arguments' field.
(trivial-build): Add #:allowed-references. Add
'canonicalize-reference'. Pass #:allowed-references to
'build-expression->derivation'.
(trivial-cross-build): Likewise.
* tests/packages.scm ("trivial with #:allowed-references"): New test.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -557,6 +557,24 @@
|
||||
(let ((p (pk 'drv d (derivation->output-path d))))
|
||||
(eq? 'hello (call-with-input-file p read))))))
|
||||
|
||||
(test-assert "trivial with #:allowed-references"
|
||||
(let* ((p (package
|
||||
(inherit (dummy-package "trivial"))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:guile ,%bootstrap-guile
|
||||
#:allowed-references (,%bootstrap-guile)
|
||||
#:builder
|
||||
(begin
|
||||
(mkdir %output)
|
||||
;; The reference to itself isn't allowed so building it
|
||||
;; should fail.
|
||||
(symlink %output (string-append %output "/self")))))))
|
||||
(d (package-derivation %store p)))
|
||||
(guard (c ((nix-protocol-error? c) #t))
|
||||
(build-derivations %store (list d))
|
||||
#f)))
|
||||
|
||||
(test-assert "search paths"
|
||||
(let* ((p (make-prompt-tag "return-search-paths"))
|
||||
(s (build-system
|
||||
|
||||
Reference in New Issue
Block a user