aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-11-18 23:08:20 +0100
committerLudovic Courtès <ludo@gnu.org>2013-11-18 23:08:20 +0100
commitac5de156ae5de8cb61870469863fb862b6a1205e (patch)
treeb1c13b61c7d3a66e1879f4b3eca28ae8f471e970 /tests
parente900c5031f4ecf5ac3f131a908a2616871793f8c (diff)
downloadguix-ac5de156ae5de8cb61870469863fb862b6a1205e.tar
guix-ac5de156ae5de8cb61870469863fb862b6a1205e.tar.gz
guix build: '-e' can be passed a monadic thunk.
* guix/ui.scm (read/eval): New procedure. (read/eval-package-expression): Use it. * guix/scripts/build.scm (derivations-from-package-expressions): Rename to... (derivation-from-expression): ... this. Accept procedures, under the assumption that they are monadic thunk. (show-help): Adjust accordingly. (guix-build): Ditto. * tests/guix-build.sh: Add test. * doc/guix.texi (Invoking guix build): Augment description of '-e'.
Diffstat (limited to 'tests')
-rw-r--r--tests/guix-build.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index e228b38616..391e7b9da3 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -72,3 +72,11 @@ if guix build -n time-3.2; # FAIL, version not found
then false; else true; fi
if guix build -n something-that-will-never-exist; # FAIL
then false; else true; fi
+
+# Invoking a monadic procedure.
+guix build -e "(begin
+ (use-modules (guix monads) (guix utils))
+ (lambda ()
+ (derivation-expression \"test\" (%current-system)
+ '(mkdir %output) '())))" \
+ --dry-run