summaryrefslogtreecommitdiff
path: root/guix/scripts/pull.scm
AgeCommit message (Collapse)Author
2026-05-16pull: Add ‘guix-channel?’ to the set of bindings when loading channel files.Ludovic Courtès
* guix/scripts/pull.scm (%safe-channel-bindings): Add ‘guix-channel?’. Reported-by: Tomas Volf <~@wolfsden.cz> Change-Id: I5c1d06f540b85ebf96390ac4eaf10ff45e13123d Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8562
2026-05-10pull, time-machine: ‘--allow-untrusted-channels’ takes an argument.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Change ‘require-trusted-channels?’ to ‘require-trusted-channels’. (show-help, %options): Support optional argument to ‘--allow-untrusted-channels’. (channel-list): Adjust accordingly. * guix/scripts/time-machine.scm (show-help, %options) (%default-options): Likewise. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull) (Invoking guix time-machine): Adjust accordingly. Suggested-by: Reepca Russelstein <reepca@russelstein.xyz> Change-Id: I342ebbcc7355953487a5c6c8ac85048943a5ac46 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Accept content SWHIDs as arguments to ‘--channels’.Ludovic Courtès
* guix/swh.scm (swhid-content-data): New procedure. (call): Do not close ‘port’ when ‘result’ is the same as ‘port’. * guix/scripts/pull.scm (swhid-content-data*): New procedure. (channel-list): Accept ‘file’ as a SWHID. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull): Document it. (Invoking guix time-machine): Likewise. Change-Id: I8145cd8685fe2926b1548d4a2dcd54804d89228a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Support transparent download of channel files.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add ‘require-trusted-channels?’. (show-help, %options): Add ‘--allow-untrusted-channels’. (trusted-channels, equivalent-channels?, check-trusted-channels): New procedures. (channel-list)[require-trusted-channels?]: New variable. [load-channels]: Honor it and call ‘check-trusted-channels’. * guix/scripts/time-machine.scm (show-help, %options): Add ‘--allow-untrusted-channels’. (%default-options): Add ‘require-trusted-channels?’. * tests/guix-time-machine.sh: Add test. * doc/guix.texi (Invoking guix pull): Update ‘--channels’ documentation and document ‘allow-untrusted-channels’. (Invoking guix time-machine): Likewise. (Channels with Substitutes): Add example of ‘guix pull’ with a URL. Change-Id: If0bb6acaedf324e35a21c9c7d285f3e423ae49aa Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10pull, time-machine: Evaluate channels in a sandbox by default.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add ‘isolated-channel-evaluation?’. (show-help, %options): Add ‘--unsafe-channel-evaluation’. (%safe-channel-bindings): New variable. (channel-list): Honor ‘isolated-channel-evaluation?’. * guix/scripts/time-machine.scm (show-help, %options): Add ‘--unsafe-channel-evaluation’. (%default-options): Add ‘isolated-channel-evaluation?’. * tests/guix-time-machine.sh: Test use of unauthorized bindings in channel files. * doc/guix.texi (Invoking guix time-machine): Document ‘--unsafe-channel-evaluation’. (Invoking guix pull): Likewise. (Channels with Substitutes): Add index entry for ‘channel-with-substitutes-available’. Mention that it requires ‘--unsafe-channel-evaluation’. Change-Id: I75f60dba516f42ef62a9d779cde8e2f0a9d0c140 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-05-10ui: ‘load*’ takes a list of modules to import.Ludovic Courtès
* guix/ui.scm (load*): Change ‘module’ to ‘imports’. Define ‘user-module’. * guix/scripts/build.scm (options->things-to-build): Update to new ‘load*’ calling convention. * guix/scripts/deploy.scm (load-source-file): Likewise. * guix/scripts/environment.scm (load-manifest) (options/resolve-packages): Likewise. * guix/scripts/home.scm (process-action): Likewise. (%user-module): Rename to… (%user-modules): … this, and change to a list of module names. * guix/scripts/pack.scm (guix-pack): Update ‘load*’ calls. * guix/scripts/package.scm (load-manifest, %options): Likewise. * guix/scripts/pull.scm (channel-list): Likewise. * guix/scripts/refresh.scm (packages-from-manifest): Likewise. * guix/scripts/system.scm (%user-module): Rename to… (%user-modules): … this, and change to a list of module names. (read-operating-system): Adjust accordingly. (process-action): Likewise. * guix/scripts/weather.scm (load-manifest): Likewise. * tests/gexp.scm ("local-file, relative file name, within gexp, compiled"): Likewise. Change-Id: Ic838e66719d89de556ac0872c3ce0c8ff6de8790 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-01pull: Remove old code to migrate generations to /var/guix/profiles.Ludovic Courtès
This code was added in 2018 (commit 795d430d90e41eb172315bfccf79c9f13fc0ebfa) to move profile generations created before that from ~/.config/guix to /var/guix/profiles. It has long become useless. * guix/scripts/pull.scm (migrate-generations): Remove. (ensure-default-profile): Remove call to ‘migrate-generations’. Change-Id: I43d3860995be300a065814db6c0482514035bda9
2024-12-25pull: Add ‘--no-check-certificate’.Ludovic Courtès
This can be tested with: guix shell libfaketime -- faketime 2019-01-01 \ guix pull -q --no-check-certificate -p /tmp/p * guix/scripts/pull.scm (%options, show-help): Add ‘--no-check-certificate’. (%default-options): Add ‘verify-certificate?’ key. (guix-pull): Honor it. * doc/guix.texi (Invoking guix pull): Document it. Change-Id: Ia9d7af1c64156b112e86027fb637e2e02dae6e3c
2023-10-17scripts: pull: Handle EPIPE errors when displaying help.Simon Tournier
Reported by Mathieu Othacehe <othacehe@gnu.org>. * guix/scripts/pull.scm (%options): Handle EPIPE errors when displaying help.
2023-08-29scripts: pull: Teach 'channels-list' to use 'tag' git references.Simon Tournier
* guix/scripts/pull.scm (channel-list): Add support for 'tag' references, to honor the various possible references types as defined in the documentation of the update-cached-checkout procedure. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-08-17pull, time-machine: Add '-q' to ignore channel files.Ludovic Courtès
This also fixes <https://issues.guix.gnu.org/63726>. * guix/scripts/pull.scm (show-help, %options): Add '-q'. (channel-list): Honor it. * guix/scripts/time-machine.scm (show-help, %options): Add '-q'. * doc/guix.texi (Invoking guix pull, Invoking guix time-machine): Document it. Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
2023-08-16pull: Tag commit argument with 'tag-or-commit.Maxim Cournoyer
For compatibility with (guix git) procedures. * guix/scripts/pull.scm (channel-list): Also accept tag-or-commit tagged refspec.
2023-06-16pull: Preserve channel ordering when using '--commit', '--url', etc.Ludovic Courtès
Previously using '--url', '--commit', or '--branch' would move the 'guix' channel to the front. This is okay in itself but it gratuitously leads to a different cache key in 'cached-channel-instance'--IOW, 'guix time-machine --commit=X' where X is already in cache would gratuitously recompute the channel derivations. * guix/scripts/pull.scm (channel-list): Use 'map' instead of 'find' + 'remove' + 'cons'.
2023-03-13guix: Strip #:use-module lists.Ludovic Courtès
This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
2023-02-27ui: 'display-hint' quotes extra arguments for Texinfo.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/61201>. Previously, common practice was to splice arbitrary strings (user names, file names, etc.) into Texinfo snippets passed to 'display-hint'. This is unsafe in the general case because at signs and braces need to be escaped to produced valid Texinfo. This commit addresses that. * guix/ui.scm (texinfo-quote): New procedure. (display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote' and call 'format'. (report-unbound-variable-error, check-module-matches-file) (display-collision-resolution-hint, run-guix-command): Remove explicit 'format' call; pass 'format' arguments as extra arguments to 'display-hint'. * gnu/services/monitoring.scm (zabbix-front-end-config): Likewise. * guix/scripts.scm (warn-about-disk-space): Likewise. * guix/scripts/build.scm (%standard-cross-build-options) (%standard-native-build-options): Likewise. * guix/scripts/describe.scm (display-checkout-info): Likewise. * guix/scripts/environment.scm (suggest-command-name): Likewise. * guix/scripts/home.scm (process-command): Likewise. * guix/scripts/home/edit.scm (service-type-not-found): Likewise. * guix/scripts/import.scm (guix-import): Likewise. * guix/scripts/package.scm (display-search-path-hint): Likewise. * guix/scripts/pull.scm (build-and-install): Likewise. * guix/scripts/shell.scm (auto-detect-manifest): Likewise. * guix/scripts/system.scm (check-file-system-availability): Likewise. (guix-system): Likewise. * guix/scripts/system/edit.scm (service-type-not-found): Likewise. * guix/status.scm (print-build-event): Likewise.
2022-10-22Remove now unnecessary uses of (guix grafts).Ludovic Courtès
These modules would use (guix grafts) just to access '%graft?' and related bindings, which are now in (guix store). * gnu/ci.scm, guix/gexp.scm, guix/lint.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/deploy.scm, guix/scripts/environment.scm, guix/scripts/home.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/pull.scm, guix/scripts/size.scm, guix/scripts/system.scm, guix/scripts/weather.scm, tests/builders.scm, tests/channels.scm, tests/cpan.scm, tests/derivations.scm, tests/gexp.scm, tests/graph.scm, tests/guix-daemon.sh, tests/monads.scm, tests/pack.scm, tests/packages.scm, tests/profiles.scm, tests/system.scm: Remove #:use-module (guix grafts).
2022-08-31pull: Create a version 3 manifest.Ludovic Courtès
This makes the profile readable by older Guix instances. This is a followup to c9fbd40785a99e13a59d8e530830ce85220a9871. Fixes <https://issues.guix.gnu.org/57306>. Reported by Arun Isaac <arunisaac@systemreboot.net>. * guix/profiles.scm (%manifest-format-version): Export. * guix/scripts/package.scm (build-and-use-profile): Add #:format-version and pass it to 'profile-derivation'. * guix/scripts/pull.scm (build-and-install): Pass #:format-version 3.
2022-06-15pull: Tweak cache directory validation code.Ludovic Courtès
This is a followup to 7c52cad0464175370c44bd4695e4c01a62b8268f. * guix/scripts/pull.scm (guix-pull): Move cache directory validation code to... (validate-cache-directory-ownership): ... here. New procedure. Use SRFI-71 instead of SRFI-11. Use 'formatted-message' for the error message, with ASCII quotation marks, and use Texinfo markup for '&fix-hint'.
2022-06-12pull: Fix typo in error message.Tobias Geerinckx-Rice
* guix/scripts/pull.scm (guix-pull): Report the right user name/ID.
2022-06-05pull: Fail if cache directory ownership is suspect.Tobias Geerinckx-Rice
New users frequently run ‘sudo guix pull’ which breaks subsequent unprivileged ‘guix pull’s until manually fixed with chmod -R. * guix/scripts/pull.scm (guix-pull): Fail if the cache directory (or its innermost extant parent) is not owned by the user pulling the Guix, with a hint about ‘sudo -i’.
2022-05-22scripts: Add --list-systems and --list-targets options.Mathieu Othacehe
Also factorize the --system and --target build options. Check that the passed system and target arguments are known platforms. * doc/guix.texi (Additional Build Options): Document the new --list-systems and --list-targets options. * guix/scripts/build.scm (show-cross-build-options-help, show-emulated-build-options-help, list-systems, list-targets): New procedures. (%standard-cross-build-options, %standard-emulated-build-options): New variables. (show-help): Remove --system and --target entries and use show-cross-build-options-help and show-emulated-build-options-help procedures instead. (%options): Remove --system and --target entries and use %standard-cross-build-options and %standard-emulated-build-options variables instead. * guix/scripts/archive.scm (show-help, %options): Adapt them. * guix/scripts/environment.scm: Ditto. * guix/scripts/graph.scm: Ditto. * guix/scripts/pack.scm: Ditto. * guix/scripts/pull.scm: Ditto. * guix/scripts/size.scm: Ditto. * guix/scripts/weather.scm: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-20guix: Remove unused import.Ricardo Wurmus
* guix/scripts/pull.scm: Do not import with-file-lock/no-wait from (guix build syscalls).
2022-02-27pull: No longer print upgraded/added packages upon completion.Ludovic Courtès
* guix/scripts/pull.scm (build-and-install): Remove call to 'display-profile-news' and adjust accordingly.
2022-02-27pull: '--news' no longer shows package lists.Ludovic Courtès
* guix/scripts/pull.scm (display-channel-news): Return #t when news were displayed. (display-news): Add #:profile-news? parameter and honor it. Print something there were no news. (process-query): For 'display-news', call 'display-channel-news' directly. * doc/guix.texi (Invoking guix pull): Adjust accordingly.
2022-02-14pull: '--list-generations' pipes its output to the pager.Ludovic Courtès
* guix/scripts/pull.scm (process-query): For 'list-generations queries, use 'with-paginated-output-port'. (display-news-entry-title): Pass second argument to 'highlight'. (display-news-entry): Pass second argument to 'dim'.
2022-02-14pull: '--list-generations' lists packages only with '--details'.Ludovic Courtès
* guix/scripts/pull.scm (show-help, %options): Add "--details". (process-query): Honor it. * doc/guix.texi (Invoking guix pull): Document it.
2021-06-29pull: Use SRFI-71 instead of SRFI-11.Ludovic Courtès
* guix/scripts/pull.scm (display-new/upgraded-packages): Use SRFI-71 'let'.
2021-06-29pull: Autoload (gnu ...) modules.Ludovic Courtès
This reduces startup time for 'guix pull --help' and similar. * guix/scripts/pull.scm: Autoload (gnu ...) modules.
2021-03-05pull: Expand help text for --{url,commit,branch}.Tobias Geerinckx-Rice
* guix/scripts/pull.scm (show-help): Document that ‘--url’, ‘--commit’, and ‘--branch’ affect only the ‘guix’ channel (for now?).
2021-02-12pull: Create the "${XDG_CONFIG_HOME}/guix" directory when needed.宋文武
This fixes <https://bugs.gnu.org/46269>. * guix/scripts/pull.scm (ensure-default-profile): Add a 'mkdir-p' call before 'symlink'.
2021-01-31guix: channels: Introduce "channel-with-substitutes-available".Mathieu Othacehe
* guix/channels.scm (find-latest-commit-with-substitutes, channel-with-substitutes-available): New procedures. * guix/scripts/pull.scm (guix-pull): Move "channel-list" call inside the %current-system parameter scope. * doc/guix.texi (Channels with substitutes): New section.
2020-12-05pull: Accept no non-option arguments.Tobias Geerinckx-Rice
* guix/scripts/pull.scm (guix-pull): LEAVE if any non-option arguments were passed.
2020-11-16pull: Do not suggest running `guix pull --news' on the first run.Florian Pelz
* guix/scripts/pull.scm (display-channel-news-headlines): If there are no news to display, return false instead of <unspecified>.
2020-09-10scripts: Use 'define-command' and have 'guix help' use that.Ludovic Courtès
This changes 'guix help' to print a short synopsis for each command and to group commands by category. * guix/scripts.scm (synopsis, category): New variables. (define-command-categories, define-command): New macros. (%command-categories): New variable. * guix/ui.scm (<command>): New record type. (source-file-command): New procedure. (command-files): Return absolute file names. (commands): Return a list of <command> records. (show-guix-help)[display-commands, category-predicate]: New procedures. Display commands grouped in three categories. * guix/scripts/archive.scm (guix-archive): Use 'define-command'. * guix/scripts/authenticate.scm (guix-authenticate): Likewise. * guix/scripts/build.scm (guix-build): Likewise. * guix/scripts/challenge.scm (guix-challenge): Likewise. * guix/scripts/container.scm (guix-container): Likewise. * guix/scripts/copy.scm (guix-copy): Likewise. * guix/scripts/deploy.scm (guix-deploy): Likewise. * guix/scripts/describe.scm (guix-describe): Likewise. * guix/scripts/download.scm (guix-download): Likewise. * guix/scripts/edit.scm (guix-edit): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/gc.scm (guix-gc): Likewise. * guix/scripts/git.scm (guix-git): Likewise. * guix/scripts/graph.scm (guix-graph): Likewise. * guix/scripts/hash.scm (guix-hash): Likewise. * guix/scripts/import.scm (guix-import): Likewise. * guix/scripts/install.scm (guix-install): Likewise. * guix/scripts/lint.scm (guix-lint): Likewise. * guix/scripts/offload.scm (guix-offload): Likewise. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/perform-download.scm (guix-perform-download): Likewise. * guix/scripts/processes.scm (guix-processes): Likewise. * guix/scripts/publish.scm (guix-publish): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. * guix/scripts/refresh.scm (guix-refresh): Likewise. * guix/scripts/remove.scm (guix-remove): Likewise. * guix/scripts/repl.scm (guix-repl): Likewise. * guix/scripts/search.scm (guix-search): Likewise. * guix/scripts/show.scm (guix-show): Likewise. * guix/scripts/size.scm (guix-size): Likewise. * guix/scripts/substitute.scm (guix-substitute): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * guix/scripts/time-machine.scm (guix-time-machine): Likewise. * guix/scripts/upgrade.scm (guix-upgrade): Likewise. * guix/scripts/weather.scm (guix-weather): Likewise.
2020-08-27pull: Avoid "Migrating profile" message on the first run.Ludovic Courtès
* guix/scripts/pull.scm (ensure-default-profile): Do not call 'migrate-generations' when %USER-PROFILE-DIRECTORY (~/.config/guix/current) does not exist. This avoids a confusing "Migrating profile" message when the user runs 'guix pull' for the first time.
2020-08-03scripts: Pass #:verbosity to 'build-notifier'.Ludovic Courtès
* guix/scripts/archive.scm (guix-archive): Pass #:verbosity to 'build-notifier'. * guix/scripts/build.scm (guix-build): Likewise. * guix/scripts/copy.scm (guix-copy): Likewise. * guix/scripts/deploy.scm (guix-deploy): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package*): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. * guix/scripts/system.scm (verbosity-level): New procedure. (process-action): Pass #:verbosity to 'build-notifier'. (guix-system): Use 'verbosity-level' for 'with-status-verbosity'.
2020-07-11git: Add 'with-git-error-handling'.Ludovic Courtès
* guix/scripts/pull.scm (report-git-error, with-git-error-handling): Move to... * guix/git.scm: ... here. * guix/scripts/time-machine.scm: Adjust accordingly.
2020-06-16pull: Add '--disable-authentication'.Ludovic Courtès
* guix/channels.scm (latest-channel-instance): Add #:authenticate? and honor it. (latest-channel-instances): Likewise. * guix/scripts/pull.scm (%default-options): Add 'authenticate-channels?'. (show-help, %options): Add '--disable-authentication'. (guix-pull): Pass #:authenticate? to 'latest-channel-instances'. * doc/guix.texi (Invoking guix pull): Document it.
2020-06-16channels: Make 'validate-pull' call right after clone/pull.Ludovic Courtès
This should come before patching, authentication, etc. * guix/channels.scm (latest-channel-instance): Add #:validate-pull parameter and honor it. Return a single value: the instance. (ensure-forward-channel-update): Change 'instance' parameter to 'commit' and adjust accordingly. (latest-channel-instances): Adjust to 'latest-channel-instance' changes. * guix/scripts/pull.scm (warn-about-backward-updates): Change 'instance' parameter to 'commit' and adjust accordingly. * tests/channels.scm ("latest-channel-instances #:validate-pull"): Likewise.
2020-05-25pull: Protect against downgrade attacks.Ludovic Courtès
* guix/scripts/pull.scm (%default-options): Add 'validate-pull'. (%options, show-help): Add '--allow-downgrades'. (warn-about-backward-updates): New procedure. (guix-pull): Pass #:current-channels and #:validate-pull to 'latest-channel-instances'. * guix/channels.scm (ensure-forward-channel-update): Add hint for when (channel-commit channel) is true. * doc/guix.texi (Invoking guix pull): Document '--allow-downgrades'.
2020-03-30Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/guile.scm gnu/packages/linux.scm gnu/packages/package-management.scm gnu/packages/pulseaudio.scm gnu/packages/web.scm
2020-03-29'--dry-run' no longer implies '--no-grafts'.Ludovic Courtès
* guix/scripts/archive.scm (%options): "dry-run" option no longer adds 'graft? #f to RESULT. * guix/scripts/environment.scm (%options): Likewise. * guix/scripts/pack.scm (%options): Likewise. * guix/scripts/package.scm (%options): Likewise. * guix/scripts/pull.scm (%options): Likewise. * guix/scripts/system.scm (%options): Likewise.
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-23ui: Add 'indented-string'.Ludovic Courtès
* 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.
2020-03-22guix package, pull: Use 'with-build-handler'.Ludovic Courtès
* 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'.
2020-03-17scripts: Refer to (default-guile) instead of 'guile-2.2'.Ludovic Courtès
This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade. * guix/scripts/environment.scm (guix-environment): Use (default-guile) instead of (canonical-package guile-2.2) when parameterizing '%guile-for-build'. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package*): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise.
2020-02-11describe: Remove dependency on (guix scripts pull).Ludovic Courtès
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).
2020-01-06Adjust module autoloads.Ludovic Courtès
In Guile < 2.9.7, autoloading a module would give you access to all its bindings. In future versions, autoloading a module gives access only to the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>). This commit adjusts autoloads to the new semantics, allowing Guix to be built with Guile 2.9.7/2.9.8. * guix/build/download.scm <top level>: Remove call to 'module-autoload!'. (load-gnutls): New procedure. (tls-wrap): Call it. * guix/git.scm <top level>: Remove call to 'module-autoload!'. (load-git-submodules): New procedure. (update-submodules): Call it instead of 'resolve-interface'. * gnu/bootloader/grub.scm: Replace #:autoload with #:use-module. * gnu/packages.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/tex.scm: Likewise. * gnu/services/cuirass.scm: Likewise. * gnu/services/mcron.scm: Likewise. * guix/lint.scm: Augment list of bindings in #:autoload. * guix/scripts/build.scm: Likewise. * guix/scripts/gc.scm: Likewise. * guix/scripts/pack.scm: Likewise. * guix/scripts/publish.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/utils.scm: Remove unnecessary #:autoload clauses; replace one of them with #:use-module.
2019-12-07guix system: "list-generations" displays provenance info.Ludovic Courtès
* guix/scripts/pull.scm (channel-commit-hyperlink): Export. * guix/scripts/system.scm (display-system-generation) [display-channel]: New procedure. Read the "provenance" file of GENERATION and display channel info and the configuration file name when available.
2019-11-29ui: Factorize 'with-profile-lock'.Ludovic Courtès
* guix/ui.scm (profile-lock-handler, profile-lock-file): New procedures. (with-profile-lock): New macro. * guix/scripts/package.scm (process-actions): Use 'with-profile-lock' instead of 'with-file-lock/no-wait'. * guix/scripts/pull.scm (guix-pull): Likewise.