Ludovic Courtès
958dd3ce68
utils: Move combinators to (guix combinators).
...
* guix/utils.scm (compile-time-value, memoize, fold2)
(fold-tree, fold-tree-leaves): Move to...
* guix/combinators: ... here. New file.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists")
(fold-tree tests): Move to...
* tests/combinators.scm: ... here. New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
gnu/services/herd.scm, guix/build-system/gnu.scm,
guix/build-system/python.scm, guix/derivations.scm,
guix/gnu-maintenance.scm, guix/import/elpa.scm,
guix/scripts/archive.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/size.scm, guix/scripts/substitute.scm,
guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports
accordingly.
2016-05-04 23:35:55 +02:00
Ludovic Courtès
9a2a20052a
guix build: '--with-source' correctly matches versioned file names.
...
* guix/scripts/build.scm: Use the right 'package-name->name+version'
procedure. Fixes a regression introduced in
1b846da8c3
.
* tests/scripts-build.scm ("options->transformation, with-source, with
version"): New test.
2016-03-23 23:43:50 +01:00
Ludovic Courtès
5284339d9d
guix build: Add '--quiet'.
...
Fixes <http://bugs.gnu.org/19772 >.
Reported by Andrei Osipov <andrspv@gmail.com>.
* guix/scripts/build.scm (show-help, %options): Add --quiet.
(guix-build): Parameterize 'current-build-output-port' accordingly.
* doc/guix.texi (Invoking guix build): Use it in example.
(Additional Build Options): Document it.
2016-03-08 22:00:17 +01:00
Ludovic Courtès
c8f9f24776
guix build: Set the build options early.
...
This fixes a bug whereby, with grafts leading to builds very early,
build options such as --substitute-urls would not be taken into account
yet.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/build.scm (guix-build): Move 'opts' to the beginning.
Use 'with-store' instead of 'open-connection'. Call
'set-build-options-from-command-line' right after 'with-store'.
2016-03-05 00:19:10 +01:00
Ludovic Courtès
94d609aba8
guix build: -S returns the replacement's source.
...
Reported by Mark H Weaver.
* guix/scripts/build.scm (options->derivations): When SRC and GRAFT? are
true, use the source of P's replacement.
* tests/guix-build.sh: Add test.
2016-03-03 00:18:30 +01:00
Ludovic Courtès
7573d30ff8
guix build: Move '--no-grafts' to the common build options.
...
* guix/scripts/build.scm (%options): Move --no-grafts to...
(%standard-build-options): ... here.
(show-help, show-build-options-help): Adjust accordingly.
* guix/scripts/archive.scm (%default-options): Add 'graft?'.
(guix-archive): Parametrize '%graft?'.
* guix/scripts/environment.scm (%default-options): Add 'graft?'.
(guix-environment): Parametrize '%graft?'.
* guix/scripts/package.scm (%default-options): Add 'graft?'.
(guix-package): Parametrize '%graft?'.
* guix/scripts/system.scm (%default-options): Add 'graft?'.
(guix-system): Parametrize 'graft?'.
* doc/guix.texi (Additional Build Options): Move --no-grafts to...
(Common Build Options): ... here.
2016-03-02 14:47:07 +01:00
Ludovic Courtès
7adf9b8469
derivations: Move grafts to (guix grafts).
...
* guix/derivations.scm (<graft>, graft-derivation, %graft?)
(set-grafting): Move to...
* guix/grafts.scm: ... here. New file.
* guix/gexp.scm, guix/packages.scm, tests/packages.scm,
guix/scripts/build.scm: Use it.
* Makefile.am (MODULES): Add it.
(SCM_TESTS): Add tests/grafts.scm.
* tests/derivations.scm ("graft-derivation"): Move to...
* tests/grafts.scm: ... here. New file.
2016-02-22 22:11:37 +01:00
Ludovic Courtès
47c0f92c37
guix build: Add '--with-input'.
...
* guix/scripts/build.scm (transform-package-inputs): New procedure.
(%transformations): Add it.
(%transformation-options, show-transformation-options-help): Add
--with-input.
* tests/scripts-build.scm ("options->transformation, with-input"):
("options->transformation, with-input, no matches"): New tests.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Package Transformation Options): Document it.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
88ad6deda6
guix build: Separate transformation options.
...
* guix/scripts/build.scm (%transformation-options): New variable.
(show-transformation-options-help): New procedure.
(show-help): Remove '--with-source' documentation and add
'show-transformation-options-help' call.
(%options): Remove "with-source" and append %TRANSFORMATION-OPTIONS.
* doc/guix.texi (Package Transformation Options): New node. Document
'--with-source', moved from...
(Additional Build Options): ... here.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
629a064f32
guix build: Transformations operate on single objects.
...
* guix/scripts/build.scm (transform-package-source): Return a procedure
that expects a single object rather than a list of packages.
(options->transformation): Rewrite to precompute the list of applicable
transformations and to return a procedure that expects a single object
rather than a list of objects.
(options->derivations): Adjust accordingly.
* tests/scripts-build.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2016-02-01 08:59:13 +01:00
Ludovic Courtès
f495301902
guix build: Add '--keep-going'.
...
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --keep-going.
* guix/scripts/build.scm (set-build-options-from-command-line): Honor
it.
* doc/guix.texi (Invoking guix build): Document it.
2016-01-19 21:59:58 +01:00
Ludovic Courtès
223d793903
guix build: Augment %PATCH-PATH when -L is passed.
...
Fixes <http://bugs.gnu.org/22259 >.
Reported by Nikolay Merinov <nikolay.merinov@member.fsf.org>.
* guix/scripts/build.scm (%standard-build-options) <-L>: Augment
%PATCH-PATH.
* tests/guix-package.sh: Add test.
2015-12-30 18:15:54 +01:00
Ludovic Courtès
20464dde13
guix build: Gracefully handle type errors in -e and -f.
...
* guix/scripts/build.scm (options->things-to-build)[validate-type]: New
procedure.
[ensure-list]: Use it.
2015-12-13 21:13:16 +01:00
Ludovic Courtès
ee2a7e3fd2
guix build: Remove dead code.
...
* guix/scripts/build.scm (options->things-to-build): Remove unused
'match' clause.
2015-12-13 21:04:56 +01:00
Ludovic Courtès
a8d65643fb
guix build: Add '--check'.
...
* guix/derivations.scm (build-derivations): Add optional 'mode'
parameter.
* guix/scripts/build.scm (%default-options): Add 'build-mode'.
(show-help, %options): Add '--check'.
(guix-build): Honor 'build-mode' key of OPTS. Pass it to
'show-what-to-build' and 'build-derivations'.
* doc/guix.texi (Invoking guix build): Document it.
(Substitutes): Mention it.
2015-12-09 14:29:41 +01:00
Ludovic Courtès
5b74fe065b
guix build: Add '--rounds'.
...
* guix/scripts/build.scm (show-build-options-help)
(%standard-build-options): Add --rounds.
(set-build-options-from-command-line): Honor it.
* doc/guix.texi (Invoking guix build): Document it.
* doc/contributing.texi (Submitting Patches): Mention it.
2015-12-08 23:58:12 +01:00
Ludovic Courtès
64ec0e2912
guix build: Modularize transformation handling.
...
* guix/scripts/build.scm (options/resolve-packages): Remove.
(options->things-to-build, transform-package-source): New procedure.
(%transformations): New variable.
(options->transformation): New procedure.
(options->derivations): Rewrite to use 'options->things-to-build' and
'options->transformation'.
2015-12-01 00:02:54 +02:00
Ludovic Courtès
841cb43c6b
guix build: Factorize build log query.
...
* guix/scripts/build.scm (show-build-log): New procedure.
(guix-build): New variable 'items'. Use it and 'show-build-log'.
2015-11-29 17:42:01 +01:00
Ludovic Courtès
fb4bf72be3
store: Use the daemon's substitute URLs by default.
...
Partly fixes <http://bugs.gnu.org/20217 >.
* guix/store.scm (set-build-options): Change #:substitute-urls to
default to #f. Send the 'substitute-urls' pair only if
SUBSTITUTE-URLS is true.
* guix/scripts/build.scm (set-build-options-from-command-line): Do not
default to %DEFAULT-SUBSTITUTE-URLS for #:substitute-urls.
* guix/scripts/size.scm (%default-options): Remove 'substitute-urls'.
2015-10-28 15:31:44 +01:00
David Thompson
34a1783fc1
scripts: build: Add --file option.
...
* guix/scripts/build.scm (show-help): Add help text for --file option.
(%options): Add --file option.
(options/resolve-packages): Handle 'file' options.
* tests/guix-build.sh: Add tests.
* doc/guix.texi ("invoking guix build"): Add doc.
2015-10-28 08:40:16 -04:00
Alex Kost
fa394eb99c
ui: Add 'show-derivation-outputs'.
...
* guix/scripts/build.scm (guix-build): Extract code from here and move to...
* guix/ui.scm (show-derivation-outputs): ... here. New procedure.
2015-09-18 21:42:06 +03:00
Alex Kost
88981dd3e2
Add (guix scripts).
...
* guix/ui.scm: Add missing copyright lines.
(args-fold*, environment-build-options, %default-argument-handler,
parse-command-line): Move to ...
* guix/scripts.scm: ...here. New file.
* guix/scripts/archive.scm: Use it.
* guix/scripts/build.scm: Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/edit.scm: Likewise.
* guix/scripts/environment.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/graph.scm: Likewise.
* guix/scripts/hash.scm: Likewise.
* guix/scripts/import/cpan.scm: Likewise.
* guix/scripts/import/cran.scm: Likewise.
* guix/scripts/import/elpa.scm: Likewise.
* guix/scripts/import/gem.scm: Likewise.
* guix/scripts/import/gnu.scm: Likewise.
* guix/scripts/import/hackage.scm: Likewise.
* guix/scripts/import/nix.scm: Likewise.
* guix/scripts/import/pypi.scm: Likewise.
* guix/scripts/lint.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/size.scm: Likewise.
* guix/scripts/system.scm: Likewise.
* tests/ui.scm (with-environment-variable, "parse-command-line",
"parse-command-line and --no options"): Move to ...
* tests/scripts.scm: ...here. New file.
* Makefile.am (MODULES): Add guix/scripts.scm.
(SCM_TESTS): Add tests/scripts.scm.
* po/guix/POTFILES.in: Add guix/scripts.scm.
2015-09-18 21:42:06 +03:00
Ludovic Courtès
3f208ad758
guix build: '--log-file' can return URLs.
...
* guix/scripts/build.scm (%default-log-urls): New variable.
(log-url): New procedure.
(guix-build): Use it.
* doc/guix.texi (Invoking guix build): Document it.
2015-09-10 23:14:16 +02:00
Ludovic Courtès
f8a8e0fe16
guix build: Add '--substitute-urls' client option.
...
* guix/scripts/build.scm (%standard-build-options,
show-build-options-help): Add --substitute-urls=URLS.
(set-build-options-from-command-line): Honor it.
* guix/store.scm (%default-substitute-urls): Make public.
* doc/guix.texi (Substitutes): Add xref to the client --substitute-urls
option.
(Invoking guix build): Document it.
(Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.
2015-07-13 18:29:01 +02:00
Ludovic Courtès
a43b55f1a6
guix build: Allow directories to be passed to --with-source.
...
* guix/scripts/build.scm (package-with-source)[tarball-base-name]: Gracefully
handle file names that lack an extension.
Pass #:recursive? #t to 'download-to-store'.
* guix/download.scm (download-to-store): Add #:recursive? parameter and pass
it to 'add-to-store'.
* doc/guix.texi (Invoking guix build): Add an example of --with-source with a
directory.
2015-06-11 11:19:12 +02:00
David Thompson
2d977638c9
scripts: Move 'set-build-options-from-command-line*' to (guix scripts build) module.
...
* guix/scripts/build.scm (set-build-options-from-command-line*): New
procedure.
* guix/scripts/environment.scm (set-build-options-from-command-line*): Delete.
2015-05-21 08:29:47 -04:00
Eric Bavier
2087023dd4
guix: build: Fix indentation for --sources in help output.
...
* guix/scripts/build.scm (show-help)[--sources]: Make indentation
consistent with other long options.
2015-05-04 14:16:39 -05:00
Eric Bavier
2cdfe13dea
guix: build: Add transitive source building.
...
* guix/scripts/build.scm (%options, options->derivations): Add --sources
option.
* doc/guix.texi (Invoking guix build): Document --sources option.
* tests/guix-build.sh: Add tests.
2015-05-02 23:15:40 -05:00
Ludovic Courtès
b3f213893b
ui: Factorize command-line + env. var. option parsing.
...
* guix/ui.scm (%default-argument-handler, parse-command-line): New
procedures.
(environment-build-options): Make private.
* guix/scripts/archive.scm (guix-archive)[parse-options,
parse-options-from]: Remove. Use 'parse-command-line' instead.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* tests/ui.scm (with-environment-variable): New macro.
("parse-command-line"): New test.
2015-02-26 00:04:36 +01:00
Ludovic Courtès
e87f0591f3
monads: Move '%store-monad' and related procedures where they belong.
...
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
nebuli
847391fe62
guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
...
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 <ludo@gnu.org>
2014-12-06 16:03:49 +01:00
nebuli
16eb115ef4
guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
...
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-30 18:54:07 +01:00
Ludovic Courtès
f6526eb330
guix build: Add '--max-jobs' option.
...
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.
* guix/scripts/build.scm (show-build-options-help): Document
--max-jobs.
(set-build-options-from-command-line): Pass #:max-build-jobs.
(%standard-build-options): Add --max-jobs.
* doc/guix.texi (Invoking guix-daemon): Document the meaning of
'--max-jobs 0'.
(Invoking guix build): Document --max-jobs, with a reference to
"Invoking guix-daemon'.
2014-11-25 22:37:44 +01:00
Ludovic Courtès
05962f2958
packages: Implement grafts.
...
Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
and suggestions.
* guix/packages.scm (<package>)[graft]: New field.
(patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
(package-source-derivation): Likewise. Do not use (%guile-for-build)
in call to 'patch-and-repack', and we could end up using a grafted
Guile.
(expand-input): Likewise, also for 'package-cross-derivation' call.
(package->bag): Add #:graft? parameter. Honor it. Use 'strip-append'
instead of 'package-full-name'.
(input-graft, input-cross-graft, bag-grafts, package-grafts): New
procedures.
(package-derivation, package-cross-derivation): Add #:graft? parameter
and honor it.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
recursive call on 'graft'.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
package-with-extra-configure-variable, static-package): Likewise.
(gnu-build): Use the ungrafted Guile to avoid full rebuilds.
(gnu-cross-build): Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* tests/packages.scm ("package-derivation, direct graft",
"package-cross-derivation, direct graft", "package-grafts,
indirect grafts", "package-grafts, indirect grafts, cross",
"package-grafts, indirect grafts, propagated inputs",
"package-derivation, indirect grafts"): New tests.
("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
'parameterize'.
* doc/guix.texi (Security Updates): New node.
(Invoking guix build): Document --no-graft.
2014-11-02 21:22:12 +01:00
Ludovic Courtès
300868ba57
guix build: Add -L/--load-path as a common option.
...
* guix/scripts/build.scm (show-build-options-help): Document -L.
(%standard-build-options): Add -L/--load-path.
* tests/guix-package.sh: Test it.
2014-09-24 14:06:09 +02:00
Cyril Roelandt
5e3b388b51
Move specification->package to gnu/packages.scm.
...
* guix/scripts/build.scm (specification->package): Move from here...
* gnu/packages.scm: ... to here.
2014-09-03 02:07:07 +02:00
Ludovic Courtès
56b8210697
guix build: Allow gexps to be passed to '-e'.
...
* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
guxi build: Allow gexps to be passed to '-e'.
* guix/ui.scm (%guix-user-module): New variable.
(read/eval): Pass it as the second argument to 'eval'.
* guix/scripts/build.scm (options/resolve-packages): Add case for
'gexp?'.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix build): Document '-e gexp'.
2014-06-14 22:55:59 +02:00
Ludovic Courtès
b6b097ac81
guix build: Only 'guix build' sets #:print-build-trace.
...
This makes 'guix package' et al. slightly less verbose, by not emitting
"@ substituter-started" lines and similar.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:print-build-trace.
(%default-options): Add 'print-build-trace?'.
2014-06-09 18:55:48 +02:00
Ludovic Courtès
257b93412a
guix build: Support '--with-source' along with '-e'.
...
* guix/scripts/build.scm (derivation-from-expression): Remove.
(options->derivations): Handle pairs of the form
"('argument . (? derivation?))".
(options/resolve-packages): Add 'store' parameter; update caller. Add
'system' variable. Add case for 'expression pairs.
* guix/scripts/archive.scm (derivation-from-expression): New procedure.
2014-03-13 19:21:49 +01:00
Ludovic Courtès
7f3673f21d
guix build: Add '--with-source'.
...
* guix/scripts/build.scm (package-with-source): New procedure.
(show-help): Add '--with-source'.
(%options): Likewise.
(options->derivations): Call 'options/with-source' and
'options/resolve-packages'.
(options/resolve-packages, options/with-source): New procedures.
* doc/guix.texi (Invoking guix build): Document '--with-source'.
2014-03-12 00:22:41 +01:00
Ludovic Courtès
002622b65b
guix build: Add '--timeout' to the common build options.
...
* guix/scripts/build.scm (show-build-options-help): Document
'--timeout'.
(set-build-options-from-command-line): Pass #:timeout to
'set-build-options'.
(%standard-build-options): Add '--timeout'.
* doc/guix.texi (Invoking guix build): Document it.
2014-03-09 23:09:18 +01:00
Ludovic Courtès
dd67b429e1
guix package: Use the common build options from (guix scripts build).
...
* guix/scripts/build.scm (%standard-build-options): Change option
handlers to support multiple seeds.
* guix/scripts/package.scm (show-help): Remove --dry-run, --fallback,
--no-substitutes, and --max-silent-time.
(%options): Likewise, and add %STANDARD-BUILD-OPTIONS.
(%default-options): Add 'verbosity'.
(guix-package): Call 'set-build-options-from-command-line' instead of
'set-build-options'.
2014-03-01 18:29:29 +01:00
Ludovic Courtès
e7fc17b592
guix build: Factorize common options.
...
* guix/scripts/build.scm (show-build-options-help,
set-build-options-from-command-line): New procedures.
(show-help): Remove description of --dry-run,
--fallback, --no-substitutes, --max-silent-time, and --cores. Call
'show-build-options-help'.
(%standard-build-options): New variable.
(%options): Remove --dry-run, --fallback, --no-substitutes,
--verbosity, --max-silent-time, and --cores. Add
%STANDARD-BUILD-OPTIONS.
(guix-build): Use 'set-build-options-from-command-line' instead of
'set-build-options'.
* guix/scripts/archive.scm (show-help): Remove description of --dry-run,
--fallback, --no-substitutes, --max-silent-time, and --cores. Call
'show-build-options-help'.
(%options): Remove --dry-run, --fallback, --no-substitutes,
--verbosity, --max-silent-time, and --cores. Add
%STANDARD-BUILD-OPTIONS.
(export-from-store): Call 'set-build-options-from-command-line'
instead of 'set-build-options.
2014-02-18 00:13:24 +01:00
Ludovic Courtès
bdff90a16a
guix build: Move 'set-build-options' call earlier.
...
* guix/scripts/build.scm (guix-build): Move 'set-build-options' call
before 'show-what-to-build'.
2014-02-12 00:03:20 +01:00
Ludovic Courtès
425b0bfc2e
guix build: Add '--no-build-hook'.
...
* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair.
(show-help, %options): Add --no-build-hook.
(guix-build): Pass the 'build-hook?' value to 'set-build-options'.
* doc/guix.texi (Invoking guix build): Document '--no-build-hook'.
2014-01-05 22:58:32 +01:00
Ludovic Courtès
760c60d684
Add 'guix archive'.
...
* guix/scripts/archive.scm, tests/guix-archive.sh: New files.
* Makefile.am (MODULES): Add 'archive.scm'.
(SH_TESTS): Add 'guix-archive.sh'.
* doc/guix.texi (Invoking guix archive): New section.
* guix/scripts/build.scm: Export 'derivation-from-expression'.
* guix/scripts/package.scm: Export 'specification->package+output'.
2013-12-22 01:08:21 +01:00
Ludovic Courtès
81fa80b245
guix build: Improve procedural decomposition.
...
* guix/scripts/build.scm (%store): Remove.
(derivation-from-expression): Add 'store' parameter. Adjust caller
accordingly.
(register-root): New procedure, formerly within 'guix-build'.
(options->derivations): New procedure, formerly inline within
'guix-build'.
(guix-build): Adjust accordingly.
2013-12-21 22:53:58 +01:00
Ludovic Courtès
3f26bfc18a
Factorize package search between 'guix package' and 'guix build'.
...
* guix/scripts/package.scm (newest-available-packages): Remove.
(find-best-packages-by-name): Move to...
* gnu/packages.scm (find-best-packages-by-name): ... here.
(find-newest-available-packages): Memoize.
* guix/scripts/build.scm (specification->package): New procedure,
formerly called 'find-package' within 'guix-build'.
(guix-build): Adjust accordingly.
2013-12-21 22:36:32 +01:00
Ludovic Courtès
ac5de156ae
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'.
2013-11-18 23:08:20 +01:00
Ludovic Courtès
bf4211523b
guix build: Add '--log-file'.
...
* guix/scripts/build.scm (show-help): Add '--log-file'.
(%options): Likewise.
(guix-build): Set %FILE-PORT-NAME-CANONICALIZATION. Honor '--log-file'.
* tests/guix-build.sh: Add '--log-file' tests.
* doc/guix.texi (Invoking guix build): Document '--log-file'.
2013-11-12 01:06:45 +01:00