store: 'run-with-store' initializes %CURRENT-TARGET-SYSTEM to #f.
* guix/store.scm (run-with-store): Set %CURRENT-TARGET-SYSTEM to #f. * tests/gexp.scm ("gexp->derivation vs. %current-target-system"): New test.
This commit is contained in:
parent
d7facc6603
commit
a8afb9aed3
|
@ -996,8 +996,12 @@ permission bits are kept."
|
||||||
(system (%current-system)))
|
(system (%current-system)))
|
||||||
"Run MVAL, a monadic value in the store monad, in STORE, an open store
|
"Run MVAL, a monadic value in the store monad, in STORE, an open store
|
||||||
connection, and return the result."
|
connection, and return the result."
|
||||||
|
;; Initialize the dynamic bindings here to avoid bad surprises. The
|
||||||
|
;; difficulty lies in the fact that dynamic bindings are resolved at
|
||||||
|
;; bind-time and not at call time, which can be disconcerting.
|
||||||
(parameterize ((%guile-for-build guile-for-build)
|
(parameterize ((%guile-for-build guile-for-build)
|
||||||
(%current-system system))
|
(%current-system system)
|
||||||
|
(%current-target-system #f))
|
||||||
(call-with-values (lambda ()
|
(call-with-values (lambda ()
|
||||||
(run-with-state mval store))
|
(run-with-state mval store))
|
||||||
(lambda (result store)
|
(lambda (result store)
|
||||||
|
|
|
@ -636,6 +636,17 @@
|
||||||
file)))))
|
file)))))
|
||||||
#:guile-for-build (package-derivation %store %bootstrap-guile))))
|
#:guile-for-build (package-derivation %store %bootstrap-guile))))
|
||||||
|
|
||||||
|
(test-assert "gexp->derivation vs. %current-target-system"
|
||||||
|
(let ((mval (gexp->derivation "foo"
|
||||||
|
#~(begin
|
||||||
|
(mkdir #$output)
|
||||||
|
(foo #+gnu-make))
|
||||||
|
#:target #f)))
|
||||||
|
;; The value of %CURRENT-TARGET-SYSTEM at bind-time should have no
|
||||||
|
;; influence.
|
||||||
|
(parameterize ((%current-target-system "fooooo"))
|
||||||
|
(derivation? (run-with-store %store mval)))))
|
||||||
|
|
||||||
(test-assert "printer"
|
(test-assert "printer"
|
||||||
(string-match "^#<gexp \\(string-append .*#<package coreutils.*\
|
(string-match "^#<gexp \\(string-append .*#<package coreutils.*\
|
||||||
\"/bin/uname\"\\) [[:xdigit:]]+>$"
|
\"/bin/uname\"\\) [[:xdigit:]]+>$"
|
||||||
|
|
Loading…
Reference in New Issue