From a8afb9aed320d3d3ce026936cd5fc2bdd65b331b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Jul 2015 22:57:54 +0200 Subject: 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. --- guix/store.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'guix') diff --git a/guix/store.scm b/guix/store.scm index 7b13334952..39e5faf6c8 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -996,8 +996,12 @@ permission bits are kept." (system (%current-system))) "Run MVAL, a monadic value in the store monad, in STORE, an open store 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) - (%current-system system)) + (%current-system system) + (%current-target-system #f)) (call-with-values (lambda () (run-with-state mval store)) (lambda (result store) -- cgit v1.2.3