summaryrefslogtreecommitdiff
path: root/guix/scripts
Commit message (Collapse)AuthorAge
* import: utils: 'recursive-import' accepts an optional version parameter.Martin Becze2020-03-23
| | | | | | | | | | | | | | | | | | | | | | This adds a key VERSION to 'recursive-import' and move the paramter REPO to a key. This also changes all the things that rely on 'recursive-import' * guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a key. (package->definition): Added optional 'append-version?'. * guix/import/cran.scm (cran->guix-package): Change the REPO parameter to a key. (cran-recursive-import): Likewise. * guix/import/elpa.scm (elpa->guix-pakcage): Likewise. (elpa-recursive-import): Likewise. * guix/import/gem.scm (gem->guix-package): Likewise. (recursive-import): Likewise. * guix/import/opam.scm (opam-recurive-import): Likewise. * guix/import/pypi.scm (pypi-recursive-import): Likewise. * guix/import/stackage.scm (stackage-recursive-import): Likewise. * guix/scripts/import/cran.scm: (guix-import-cran) Likewise. * guix/scripts/import/elpa.scm: (guix-import-elpa) Likewise. * tests/elpa.scm: (eval-test-with-elpa) Likewise. * tests/import-utils.scm Likewise.
* deploy: Write a message upon successful deployment.Ludovic Courtès2020-03-23
| | | | | * guix/scripts/deploy.scm (guix-deploy): Write message upon successful deployment.
* deploy: Show what machines will be deployed.Ludovic Courtès2020-03-23
| | | | | * guix/scripts/deploy.scm (show-what-to-deploy): New procedure. (guix-deploy): Call it.
* ui: Add 'indented-string'.Ludovic Courtès2020-03-23
| | | | | | | | | * guix/scripts/pull.scm (display-news-entry): Remove extra space in format string for 'indented-string'. (indented-string): Remove. (display-new/upgraded-packages)[pretty]: Pass #:initial-indent? to 'indented-string'. * guix/ui.scm (indented-string): New procedure.
* Remove workaround for 'time-monotonic' in Guile 2.2.2.Ludovic Courtès2020-03-22
| | | | | | | | | | | | This is a followup to e688c2df3924423b67892cc9939ca099c729d1cb. * build-aux/hydra/evaluate.scm <top level>: Remove 'time-monotonic' definition. * guix/cache.scm: Likewise. * guix/progress.scm: Likewise. * guix/scripts/substitute.scm: Likewise. * guix/scripts/weather.scm: Likewise. * tests/cache.scm: Likewise.
* copy: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | * guix/scripts/copy.scm (send-to-remote-host): Remove explicit 'show-what-to-build' call. Call 'build-derivations' unconditionally. (guix-copy): Wrap 'with-status-verbosity' in 'with-build-handler'.
* copy: Actually implement '--dry-run'.Ludovic Courtès2020-03-22
| | | | * guix/scripts/copy.scm (%options): Add '--dry-run'.
* copy: Factorize 'with-store' & co.Ludovic Courtès2020-03-22
| | | | | | | | * guix/scripts/copy.scm (send-to-remote-host): Remove 'with-store' and 'set-build-options-from-command-line' call. Add 'local' parameter. (retrieve-from-remote-host): Likewise. (guix-copy): Wrap 'with-status-verbosity' in 'with-store' and add call to 'set-build-options-from-command-line'.
* guix system: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | * guix/scripts/system.scm (reinstall-bootloader): Remove call to 'show-what-to-build*'. (perform-action): Call 'build-derivations' instead of 'maybe-build'. (process-action): Wrap 'run-with-store' in 'with-build-handler'.
* guix package, pull: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | | | | | | * guix/scripts/package.scm (build-and-use-profile): Remove #:dry-run? and #:use-substitutes?. Remove call to 'show-what-to-build' and 'dry-run?' special case. (process-actions): Adjust accordingly. (guix-package*): Wrap 'parameterize' in 'with-build-handler'. * guix/scripts/pull.scm (build-and-install): Remove #:use-substitutes? and #:dry-run? and adjust 'update-profile' call accordingly. Remove 'dry-run?' conditional. (guix-pull): Wrap body in 'with-build-handler'.
* pack: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | * guix/scripts/pack.scm (guix-pack): Wrap 'parameterize' in 'with-build-handler'. Remove explicit call to 'show-what-to-build'. Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'.
* deploy: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | Until now, 'guix deploy' would never display what is going to be built. * guix/scripts/deploy.scm (guix-deploy): Wrap 'for-each' in 'with-build-handler'.
* guix build: Use 'with-build-handler'.Ludovic Courtès2020-03-22
| | | | | | | | | Fixes <https://bugs.gnu.org/28310>. Reported by Andreas Enge <andreas@enge.fr>. * guix/scripts/build.scm (guix-build): Wrap 'parameterize' in 'with-build-handler'. Remove explicit call to 'show-what-to-build'. Call 'build-derivations' regardless of whether OPTS contains 'dry-run?'.
* guix package: Remove unneeded import.Ludovic Courtès2020-03-19
| | | | | | This is a followup to 55e1dfa4dd189e010c541e3997b65434c702b4a5. * guix/scripts/package.scm: Remove unneeded #:use-module.
* pack: Do not create a squashfs "recovery file".Ludovic Courtès2020-03-13
| | | | | | | Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-no-recovery".
* pack: Make bit-reproducible squashfs images.Ludovic Courtès2020-03-13
| | | | | | | Reported by Josh Marshall <Josh.Marshall@jax.org>. * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): Always pass "-all-time", "-mkfs-time", "-force-uid", and "-force-gid" to 'mksquashfs'.
* pack: Factorize 'mksquashfs' invocations.Ludovic Courtès2020-03-13
| | | | | | * guix/scripts/pack.scm (squashfs-image)[build](mksquashfs): New procedure. Replace instances of (invoke "mksquashfs" ...) with (mksquashfs ...).
* weather: '--coverage' filters out non-package objects.Ludovic Courtès2020-03-13
| | | | | | | This is a followup to d37b5a1b58824dafbe6f32b1c183661c147c660c. * guix/scripts/weather.scm (guix-weather): Filter PACKAGES passed to 'report-package-coverage'.
* weather: Exit with non-zero when coverage is below 100%.Ludovic Courtès2020-03-13
| | | | | * guix/scripts/weather.scm (report-server-coverage): Return the coverage ratio. (guix-weather): Exit if and only if each server's coverage is 1.
* weather: Allow for multiple '--manifest' options.Ludovic Courtès2020-03-12
| | | | | | * guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it.
* weather: Add '--display-missing'.Ludovic Courtès2020-03-12
| | | | | | | | * guix/scripts/weather.scm (report-server-coverage): Add #:display-missing? and honor it. (show-help, %options): Add "--display-missing". (guix-weather): Pass #:display-missing? to 'report-server-coverage'. * doc/guix.texi (Invoking guix weather): Document it.
* weather: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | * guix/scripts/weather.scm (guix-weather): Parameterize %GRAFT? upfront.
* guix build: Parameterize '%graft?' upfront.Ludovic Courtès2020-03-05
| | | | | * guix/scripts/build.scm (guix-build): Add 'graft?' variable and parameterize %GRAFT?.
* weather: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | * guix/scripts/weather.scm (package-outputs)[lower-object/no-grafts]: New procedure. Use it instead of 'package->derivation'.
* guix build: Allow non-package objects in manifest.Ludovic Courtès2020-03-05
| | | | | | | * guix/scripts/build.scm (options->things-to-build)[manifest->packages]: Remove. Inline map of 'manifest-entry-item'. * tests/guix-build.sh: Add test for "guix build -m" with non-package object.
* file-systems: Add a 'file-system-device->string' procedure.Maxim Cournoyer2020-03-02
| | | | | | | * gnu/system/file-systems.scm (file-system-device->string): New procedure. * gnu/system.scm (bootable-kernel-arguments): Use it. * gnu/system/vm.scm (operating-system-uuid): Likewise. * guix/scripts/system.scm (display-system-generation): Likewise.
* Revert "ui: Only display link in capable terminals."Ludovic Courtès2020-02-28
| | | | | | | | | | | This reverts commit d7545a6b538813e88195d084f75a3e87065c999e. The commit led to a test failure in 'tests/guix-package-net.sh'. It also led to disagreements discussed here: https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00353.html Reverting until these are addressed.
* guix package: Don't error out when failing to create ~/.guix-profile.Ludovic Courtès2020-02-27
| | | | | | | | This is a followup to 7842ddcbc118cbc2799e22651732b7cdc06b93ee, which broke tests when 'HOME' is unset. * guix/scripts/package.scm (ensure-default-profile): Silently ignore 'symlink' exceptions.
* ui: Only display link in capable terminals.zimoun2020-02-24
| | | | | | | * guix/ui.scm (display-generation): Display generation path on new line. * guix/scripts/describe.scm (channel-commit-hyperlink): Add TRANSFORMER argument. (display-profile-content): Use TRANSFORMER argument to display URL explicitly when terminal does not support hyperlinks.
* scripts: system: Do not validate network file systems.Maxim Cournoyer2020-02-18
| | | | | | | Fixes <https://bugs.gnu.org/39551>. * guix/scripts/system.scm (check-file-system-availability): Ignore file systems of the NFS type.
* guix build: Add '--manifest' option.Marius Bakke2020-02-14
| | | | | | | | | * guix/scripts/build.scm (show-help): Document --manifest argument. (options->things-to-build): When given a manifest, evaluate all the entries. * tests/guix-build.sh: Add test for --manifest. * doc/guix.texi (Additional Build Options): Mention --manifest. * etc/completion/bash/guix: Complete file name if 'guix build' argument is -m.
* describe: Remove dependency on (guix scripts pull).Ludovic Courtès2020-02-11
| | | | | | | | | | | Until now, 'guix describe' would perform ~3K stat calls and ~1K openat calls because it was pulling (guix scripts pull), which in turn pulls in many (gnu packages …) modules. * guix/scripts/pull.scm (display-profile-content, %vcs-web-views) (channel-commit-hyperlink): Move to... * guix/scripts/describe.scm: ... here. Remove import of (guix scripts pull).
* Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice2020-02-09
| | | | | | | | | | | As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address.
* guix build, archive, graph: Disable absolute file port name canonicalization.Ludovic Courtès2020-01-24
| | | | | | | | | | | | | | | This avoids an 'lstat' storm. Specifically: ./pre-inst-env strace -c guix build -nd libreoffice goes from 1,711 to 214 'lstat' calls. * guix/scripts/build.scm (options->things-to-build): When SPEC matches 'derivation-path?', call 'canonicalize-path'. (guix-build): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/archive.scm (guix-archive): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/graph.scm (guix-graph): Likewise.
* guix package: Create profiles/per-user/$USER upfront.Ludovic Courtès2020-01-19
| | | | | | | | | Fixes <https://bugs.gnu.org/39194>. Reported by Matt Wette <matt.wette@gmail.com>. * guix/scripts/package.scm (build-and-use-profile): Move 'ensure-default-profile' call to... (process-actions): ... here.
* repl: Avoid dependency on high-level package modules.Ludovic Courtès2020-01-19
| | | | | | * guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu packages), (guix utils), and (guix packages). (%options): Define "--load-path" option right here.
* repl: Adjust "--listen" help message.Ludovic Courtès2020-01-19
| | | | * guix/scripts/repl.scm (show-help): Adjust "--listen" string.
* repl: Add "-q".Ludovic Courtès2020-01-19
| | | | | * guix/scripts/repl.scm (%options, show-help): Add "-q". (guix-repl): Add 'user-config' and use it. Honor 'ignore-dot-guile?'.
* refresh: Fix internal variable name.zimoun2020-01-18
| | | | * guix/scripts/refresh.scm (%option): Fix internal variable name.
* guix package: Export 'transaction-upgrade-entry'.Ludovic Courtès2020-01-16
| | | | | | | | * guix/scripts/package.scm (transaction-upgrade-entry): Add 'store' parameter and use it instead of (%store). Export. * tests/packages.scm ("transaction-upgrade-entry, zero upgrades") ("transaction-upgrade-entry, one upgrade") ("transaction-upgrade-entry, superseded package"): Adjust accordingly.
* publish: Export 'signed-string'.Ludovic Courtès2020-01-16
| | | | | | * guix/scripts/publish.scm (signed-string): Export and improve docstring. * tests/publish.scm ("/*.narinfo") ("/*.narinfo with properly encoded '+' sign"): Adjust accordingly.
* repl: Fix '--help' message.zimoun2020-01-16
| | | | * guix/scripts/repl.scm: (show-help): Add '--listen' option message.
* repl: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/repl.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* edit: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/edit.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* refresh: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/refresh.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* size: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/size.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* graph: Add '--load-path' option.Pierre Neidhardt2020-01-16
| | | | | | * guix/scripts/graph.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. * tests/guix-graph.sh: Test it.
* serialize: Export 'dump-port*'.Ludovic Courtès2020-01-15
| | | | | * guix/serialization.scm (dump): Export as 'dump-port*'. * guix/scripts/challenge.scm (dump-port*): Remove.
* More module autoload adjustments.Ludovic Courtès2020-01-15
| | | | | | | | This is a followup to 7a0836cffdfe3ab9ee899602f218277646959144. * guix/scripts/package.scm: Adjust binding list of the (guix store roots) autoload. * guix/inferior.scm: Adjust binding list of the (guix cache) autoload.
* substitute: 'http-multiple-get' processes each request only once.Ludovic Courtès2020-01-15
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/39090>. Reported by Gábor Boskovits <boskovits@gmail.com>. Fixes a regression introduced in 9e3f9ac3c00906f5bc647ea8398e4ed5a370614e. * guix/scripts/substitute.scm (http-multiple-get): In the "Connection: close" case, pass (drop requests (+ 1 processed)) to 'loop' as the remaining REQUESTS value. Previously, we would pass a list containing duplicates, and thus the final result would also contain duplicates. When sent to the daemon, that list would lead to a daemon error: got unexpected path `/gnu/store/…' from substituter