gexp: #:references-graphs refers to non-native derivations.
Fixes a regression introduced in c6d6aee6659acb293eb33f498fdac3b47a19a48, where #:reference-graphs would end up referring to native inputs. This would notably break the compilation of systems using a childhurd, because they would attempt to build the 'hurd' package natively. * guix/gexp.scm (lower-reference-graphs)[tuple->gexp-input]: Honor TARGET. * tests/gexp.scm ("gexp->derivation #:references-graphs cross-compilation"): New test.master
parent
d9f1752c55
commit
9fc4e94986
|
@ -875,9 +875,9 @@ corresponding <derivation-input> or store item."
|
|||
(define tuple->gexp-input
|
||||
(match-lambda
|
||||
((thing)
|
||||
(%gexp-input thing "out" #t))
|
||||
(%gexp-input thing "out" (not target)))
|
||||
((thing output)
|
||||
(%gexp-input thing output #t))))
|
||||
(%gexp-input thing output (not target)))))
|
||||
|
||||
(match graphs
|
||||
(((file-names . inputs) ...)
|
||||
|
|
|
@ -1095,6 +1095,22 @@ importing.* \\(guix config\\) from the host"
|
|||
(call-with-input-file g-guile read)
|
||||
(list (derivation->output-path guile-drv) bash))))))
|
||||
|
||||
(test-assertm "gexp->derivation #:references-graphs cross-compilation"
|
||||
;; The objects passed in #:references-graphs implicitly refer to
|
||||
;; cross-compiled derivations. Make sure this is the case.
|
||||
(mlet* %store-monad ((drv1 (lower-object coreutils (%current-system)
|
||||
#:target "i586-pc-gnu"))
|
||||
(drv2 (lower-object coreutils (%current-system)
|
||||
#:target #f))
|
||||
(drv3 (gexp->derivation "three"
|
||||
#~(symlink #$coreutils #$output)
|
||||
#:target "i586-pc-gnu"
|
||||
#:references-graphs
|
||||
`(("coreutils" ,coreutils))))
|
||||
(refs (references* (derivation-file-name drv3))))
|
||||
(return (and (member (derivation-file-name drv1) refs)
|
||||
(not (member (derivation-file-name drv2) refs))))))
|
||||
|
||||
(test-assertm "gexp->derivation #:allowed-references"
|
||||
(mlet %store-monad ((drv (gexp->derivation "allowed-refs"
|
||||
#~(begin
|
||||
|
|
Reference in New Issue