Ludovic Courtès (2015-02-26 02:05 +0300) wrote: > Alex Kost <[email protected]> skribis: > >> Suppose a user specifies "--no-substitutes" in his GUIX_BUILD_OPTIONS >> and then he calls "guix system reconfigure". What would happen? >> Substitutes _will be used_ anyway, because: >> ‘(parse-options-from args)’ will contain ‘(substitutes? . #t)’ among >> other things and it will shadow the false value for substitutes returned >> by ‘(parse-options-from (environment-build-options))’. >> >> Now (after your patch) the same will happen with "--no-grub": >> “export GUIX_BUILD_OPTIONS=--no-grub” will not be honored unless a user >> explicitly specifies "--no-grub" option one more time in a "guix system" >> command. > > Oh, that’s right. AFAICS, commit cf6ce3e fixes it. > > It was a good opportunity to factorize all that and to add tests.
I think I've found that there are still some problems in parsing options. 1. The following command: GUIX_BUILD_OPTIONS="--no-grub" guix package --help gives the following error: guix package: error: no-grub: unrecognized option So it makes impossible to use GUIX_BUILD_OPTIONS env var or did I miss anything? 2. The manual says that ‘guix package’ «supports all the common build options that ‘guix build’ supports» and the following command works perfectly: guix build --system=i686-linux hello However, the following command: guix package --system=i686-linux --install hello gives an error again: guix package: error: system=i686-linux: unrecognized option -- Alex
