summary refs log tree commit diff
path: root/guix-build.in
AgeCommit message (Collapse)Author
2013-02-16Replace individual scripts with master 'guix' script.Mark H Weaver
* scripts/guix.in: New script. * Makefile.am (bin_SCRIPTS): Add 'scripts/guix'. Remove 'guix-build', 'guix-download', 'guix-import', 'guix-package', and 'guix-gc'. (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm', 'guix/scripts/import.scm', 'guix/scripts/package.scm', and 'guix/scripts/gc.scm'. * configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'. Remove 'guix-build', 'guix-download', 'guix-import', 'guix-package', and 'guix-gc'. * guix-build.in, guix-download.in, guix-gc.in, guix-import.in, guix-package.in: Remove shell script boilerplate. Move to guix-COMMAND.in to guix/scripts/COMMAND.scm. Rename module from (guix-COMMAND) to (guix scripts COMMAND). Change "guix-COMMAND" to "guix COMMAND" in usage help string. * pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH. Export $GUIX_UNINSTALLED. * tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of "guix-COMMAND". * doc/guix.texi: Replace all occurrences of "guix-COMMAND" with "guix COMMAND". * po/POTFILES.in: Update.
2013-02-13Build newest versions unless specified, and implement upgrades.Mark H Weaver
* gnu/packages.scm (find-newest-available-packages): New exported procedure. * guix-build.in (newest-available-packages, find-best-packages-by-name): New procedures. (find-package): Use find-best-packages-by-name, to guarantee that if a version number is not specified, only the newest versions will be considered. * guix-package.in (%options): Add --upgrade/-u option. (newest-available-packages, find-best-packages-by-name, upgradeable?): New procedures. (find-package): Use find-best-packages-by-name, to guarantee that if a version number is not specified, only the newest versions will be considered. (process-actions): Implement upgrade option. * doc/guix.texi (Invoking guix-package): In the description of --install, mention that if no version number is specified, the newest available version will be selected.
2013-02-01Augment `.dir-locals.el'.Ludovic Courtès
* .dir-locals.el: Add more Scheme settings. * guix-build.in, tests/base32.scm, tests/build-utils.scm, tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm: Remove redundant Emacs local variable settings.
2013-01-30Gracefully handle failure to install the current locale.Ludovic Courtès
* guix/ui.scm (install-locale): New procedure. * guix-build.in, guix-download.in, guix-gc.in, guix-import.in, guix-package.in: Use it instead of (setlocale LC_ALL "").
2013-01-23guix-build: Fix typo.Ludovic Courtès
* guix-build.in (guix-build)[find-package]: Use `x', not `_', to avoid confusion with `gettext'.
2013-01-22guix-build: Allow version-qualified package names.Ludovic Courtès
* guix-build.in (guix-build)[find-package]: New procedure. Use it instead of using `find-packages-by-name' directly. Suggested by Andreas Enge <andreas@enge.fr>. * tests/guix-build.sh: Add tests. * doc/guix.texi (Invoking guix-build): Add `coreutils-8.20' as an example. Fix guile-1.8 example.
2013-01-18distro: Rename (distro) to (gnu packages).Ludovic Courtès
* distro.scm: Rename to... * gnu/packages.scm: ... this. Update all users accordingly. * Makefile.am (MODULES): Adjust accordingly. * po/POTFILES.in: Likewise.
2013-01-06Update license headers.Ludovic Courtès
Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
2013-01-06guix-build: Make `--root' effective for .drv files too.Ludovic Courtès
* guix-build.in (guix-build)[register-root]: Change first argument to `paths', which should be a list of store paths. Update caller to call `derivation-path->output-paths' on DRV. When `derivations-only?', also register root for .drv files.
2013-01-05ui: Factorize bug-report information in `--help'.Ludovic Courtès
* guix/config.scm.in (%guix-home-page-url): New variable. * guix/ui.scm (show-bug-report-information): New procedure. * guix-build.in (show-help): Use it. * guix-download.in (show-help): Likewise. * guix-import.in (show-help): Likewise. * guix-package.in (show-help): Likewise.
2012-12-15guix-build: Add `--verbosity'.Ludovic Courtès
* guix-build.in (%default-options): Add `verbosity'. (%options): Add `--verbosity'. (guix-build): Pass it to `set-build-options'. (show-help): Update accordingly. * doc/guix.texi (Invoking guix-build): Document `--verbosity'.
2012-12-04guix-build: Don't connect to the daemon when run with `--version' or `--help'.Ludovic Courtès
* guix-build.in (%store): Turn into a SRFI-39 parameter. Update users. (guix-build): Set %STORE and call `open-connection' only after `parse-options' has been called.
2012-11-19guix-build: Use `location->string'.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): Use `location->string'.
2012-11-07guix-build: Error out when `-S' used for source-less package.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): Leave with an error message when SOURCE? is #t and P has no source. * tests/guix-build.sh: Add test.
2012-11-03ui: Factorize `--version'.Ludovic Courtès
* guix/ui.scm (show-version-and-exit): New procedure. * guix-build.in (show-version): Remove. (%options)["version"]: Use `show-version-and-exit'. * guix-download.in: Likewise. * guix-package.in: Likewise.
2012-11-01Add (guix ui).Ludovic Courtès
* guix/ui.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Add it. * guix-build.in: Use it. (_, N_, leave): Remove. (guix-build): Use `with-error-handling' instead of the `guard' form. * guix-download.in: Use it. (_, N_, leave): Remove.
2012-10-30guix-build: Add `--root'.Ludovic Courtès
* guix/store.scm (add-indirect-root): New operation. * guix-build.in (show-help): Document `--root'. (%options): Add `--root'. (guix-build)[register-root]: New procedure. Call it when `--root' is passed.
2012-10-27build: Make sure scripts know where to find their modules.Ludovic Courtès
* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so that `guilemoduledir' expands to something meaningful.
2012-10-27guix-build: Gracefully handle `&package-input-error' conditions.Ludovic Courtès
* guix/packages.scm: Export `package-error?' and `package-input-error?'. * guix-build.in (guix-build): Catch `&package-input-error' conditions, print a human-readable message, and exit.
2012-10-24guix-build: Change `--local-build' to `--no-substitutes'.Ludovic Courtès
* guix-build.in (%default-options): Add `substitutes?'. (show-help): Change `--local-build' to `--no-substitutes'. (guix-build): Adjust accordingly.
2012-10-18guix-build: Add `--system'.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): New `system' parameter. Pass it to `package-derivation'. (%default-options): Add `system' pair. (show-help): Describe `--system'. (%options): Add it. (guix-build): Check the `system' pair in OPTS; pass it to `derivations-from-package-expressions' and `package-derivation'.
2012-10-18guix-build: Add `--local-build'.Ludovic Courtès
* guix-build.in (show-help): Add `--local-build'. (%options): Likewise. (guix-build): Pass `set-build-options' the #:use-substitutes? argument accordingly.
2012-10-05Support build-cores = 0; change `guix-build' to default to 0.Ludovic Courtès
* guix/build/gnu-build-system.scm (%parallel-job-count): New variable. (build, check): Use it instead of $NIX_BUILD_CORES. * guix-build.in (guix-build): Default to 0 for the #:build-cores option.
2012-09-04guix-build: Add `--derivations'.Ludovic Courtès
* guix-build.in (show-help): Add `--derivations'. (%options): Likewise. (guix-build): Handle it.
2012-09-04guix-build: Add `--source'.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): Add `source?' parameter. Honor it. (show-help): Add `--source'. (%options): Likewise. (guix-build): Honor `--source'.
2012-08-31guix-build: Fix the "unrecognized option" error message.Ludovic Courtès
* guix-build.in (guix-build): Show the option name when an unrecognized option is passed.
2012-07-12guix-build: Default the number of build cores to (current-processor-count).Ludovic Courtès
* guix-build.in (guix-build): Use (current-processor-count) build cores by default.
2012-07-07guix-build: Add `--cores'.Ludovic Courtès
* guix-build.in (leave): New macro, formerly in `guix-build'. (show-help): Document `--cores'. (%options): Add `--cores'. (guix-build): Remove `leave' macro from here. Pass the `cores' option value to `set-build-options'.
2012-07-02guix-build: Display multiple outputs when needed.Ludovic Courtès
* guix-build.in (guix-build): Display multiple outputs when there's more than one.
2012-07-01Add `guix-build'.Ludovic Courtès
* guix-build.in: New file. * configure.ac: Emit `guix-build'. Add `commands-exec'. * Makefile.am (bin_SCRIPTS): New variable. * po/POTFILES.in: Add `guix-build.in'.