Ludovic Courtès
a4f08f9258
guix package: Report packages to be removed/installed.
...
* guix/scripts/package.scm (guix-package)[process-actions](show-what-to-remove/install):
New procedure.
Call it before `show-what-to-build'.
2013-03-18 23:04:07 +01:00
Ludovic Courtès
993fb66dd2
guix package: Gracefully handle `official-gnu-packages' failure.
...
* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
* guix/scripts/package.scm (check-package-freshness): Wrap
`gnu-package?' call in `false-if-exception'.
Reported by Cyril Roelandt <tipecaml@gmail.com>.
2013-03-16 00:59:19 +01:00
Ludovic Courtès
ef86c39f27
ui: Gracefully report failures to connect to the daemon.
...
* guix/store.scm (&nix-connection-error): New condition type.
(open-connection): Translate `system-error' during the `connect' call
into `&nix-connection-error'.
* guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'.
* guix/scripts/package.scm (guix-package): Move `open-connection' call
within `with-error-handling'.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/download.scm (guix-download): Move body within
`with-error-handling'.
2013-03-07 19:44:14 +01:00
Ludovic Courtès
19777ae6ea
guix package: Recover from freshness check transient errors.
...
* guix/scripts/package.scm (check-package-freshness): Ignore
`getaddrinfo-error' and `ftp-error' exceptions.
2013-03-05 22:24:19 +01:00
Ludovic Courtès
ef010c0f3d
guix package: Inform about new upstream versions of GNU packages.
...
* guix/gnu-maintenance.scm (gnu-package?): New procedure.
* guix/scripts/package.scm (waiting): New macro.
(check-package-freshness): New procedure.
(guix-package)[process-actions]: Use it.
* doc/guix.texi (Invoking guix package): Mention the feature.
2013-03-05 20:35:47 +01:00
Ludovic Courtès
eb0880e71d
ui: Factorize `read/eval-package-expression'.
...
* guix/scripts/package.scm (read/eval-package-expression): Move to...
* guix/ui.scm (read/eval-package-expression): ... here.
* guix/scripts/build.scm (derivations-from-package-expressions): Use it.
2013-03-01 21:55:42 +01:00
Ludovic Courtès
5d4b411f8a
guix package: Add `--install-from-expression'.
...
* guix/scripts/package.scm (read/eval-package-expression): New
procedure.
(show-help): Add `-e'.
(%options): Likewise.
(guix-package)[process-actions]: Handle ('install . p) pairs, where P
is a package.
* tests/guix-package.sh: Add `boot_make_drv'. Use `-i $boot_make_drv'
once, and then use `-e $boot_make'.
* doc/guix.texi (Invoking guix package): Document `-e'.
2013-03-01 21:54:56 +01:00
Ludovic Courtès
9bb2b96aab
ui: Factorize `show-what-to-build'.
...
* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here. Add a `store'
parameter'. Adjust callers.
* guix/scripts/build.scm (guix-build): Use it. Remove `req' and `req*'
variables.
2013-02-20 23:46:57 +01:00
Ludovic Courtès
c61b026e3a
ui: Add temporary file handling and atomic symlink switch.
...
* guix/scripts/download.scm (call-with-temporary-output-file): Move to
ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
procedures.
2013-02-20 23:03:24 +01:00
Ludovic Courtès
fdca1c079b
scripts: Remove hyphen in the command name shown by `--version'.
...
* guix/scripts/build.scm (%options): Remove hyphen from the name passed
to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
2013-02-17 22:19:32 +01:00
Ludovic Courtès
633f045f62
scripts: Remove initialization now redundant with `initialize-guix'.
...
* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
`textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
(initialize-guix): Add docstring.
2013-02-17 15:38:02 +01:00
Mark H Weaver
e49951eb3e
Replace individual scripts with master 'guix' script.
...
* 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-16 22:17:37 -05:00