From 847391fe6229bc9b989939470b4a84bd82c75088 Mon Sep 17 00:00:00 2001 From: nebuli Date: Fri, 5 Dec 2014 01:28:12 +0100 Subject: guix: scripts: Parse $GUIX_BUILD_OPTIONS separately. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Appending to "raw" args broke optional parameters in 'guix package -I' and 'guix package -A', and possibly other places. Therefore, switch to parsing each set of options on its own and append resulting alists together afterwards. * guix/scripts/archive.scm (parse-options-from): Rename from (parse-options) and add explicit argument. New form of (parse-options) using its old algorithm via -from function. * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix build): Make it clear that the options are parsed independently. Co-authored-by: Ludovic Courtès --- tests/guix-package.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/guix-package.sh') diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 3e0e36fa23..f4e091a5a2 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -289,3 +289,16 @@ GUIX_PACKAGE_PATH="$module_dir" export GUIX_PACKAGE_PATH guix package -A emacs-foo-bar | grep 42 guix package -i emacs-foo-bar-42 -n +unset GUIX_PACKAGE_PATH + +# Using 'GUIX_BUILD_OPTIONS'. + +available="`guix package -A | sort`" +GUIX_BUILD_OPTIONS="--dry-run" +export GUIX_BUILD_OPTIONS + +# Make sure $GUIX_BUILD_OPTIONS is not simply appended to the command-line, +# which would break 'guix package -A' and similar. +available2="`guix package -A | sort`" +test "$available2" = "$available" +guix package -I -- cgit v1.2.3