Commit Graph

128 Commits

Author SHA1 Message Date
Tobias Geerinckx-Rice
4d0b61a1f6
pull: Accept no non-option arguments.
* guix/scripts/pull.scm (guix-pull): LEAVE if any non-option arguments
were passed.
2020-12-05 16:47:59 +01:00
Florian Pelz
29ed17d634
pull: Do not suggest running `guix pull --news' on the first run.
* guix/scripts/pull.scm (display-channel-news-headlines): If there
are no news to display, return false instead of <unspecified>.
2020-11-16 13:44:29 +00:00
Ludovic Courtès
3794ce93be
scripts: Use 'define-command' and have 'guix help' use that.
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-09-10 12:27:24 +02:00
Ludovic Courtès
0c9d22c13f
pull: Avoid "Migrating profile" message on the first run.
* 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-27 19:58:16 +02:00
Ludovic Courtès
898e6d0a07
scripts: Pass #:verbosity to 'build-notifier'.
* 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-08-03 17:18:37 +02:00
Ludovic Courtès
69db2993b5
git: Add 'with-git-error-handling'.
* 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-07-11 11:51:56 +02:00
Ludovic Courtès
a9eeeaa6ae
pull: Add '--disable-authentication'.
* 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-16 16:10:47 +02:00
Ludovic Courtès
5bafc70d1e
channels: Make 'validate-pull' call right after clone/pull.
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-06-16 16:10:47 +02:00
Ludovic Courtès
9744cc7b46
pull: Protect against downgrade attacks.
* 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-05-25 00:00:28 +02:00
Marius Bakke
ae0badf5bb
Merge branch 'master' into core-updates
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-30 12:17:33 +02:00
Ludovic Courtès
131f50cdc9
'--dry-run' no longer implies '--no-grafts'.
* 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-29 15:32:18 +02:00
Marius Bakke
18af687037
Merge branch 'master' into core-updates
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-27 00:12:15 +01:00
Ludovic Courtès
7b322d3c4c
ui: Add 'indented-string'.
* 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-23 10:48:17 +01:00
Ludovic Courtès
65ffb9388c
guix package, pull: Use 'with-build-handler'.
* 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-22 12:42:51 +01:00
Ludovic Courtès
d8e98e853c
scripts: Refer to (default-guile) instead of 'guile-2.2'.
This is a followup to b6bee63bed.

* 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-03-17 15:36:58 +01:00
Ludovic Courtès
1d88470e10
describe: Remove dependency on (guix scripts pull).
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-02-11 12:33:35 +01:00
Ludovic Courtès
6a7c4636d4
Adjust module autoloads.
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.
2020-01-06 16:31:54 +01:00
Ludovic Courtès
60f4564a63
guix system: "list-generations" displays provenance info.
* 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-12-07 00:59:56 +01:00
Ludovic Courtès
55e1dfa4dd
ui: Factorize 'with-profile-lock'.
* 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.
2019-11-29 15:54:20 +01:00
Ludovic Courtès
2d6bd5edbc
pull, describe: Emit hyperlinks for commit identifiers.
* guix/scripts/pull.scm (%vcs-web-views): New variable.
(channel-commit-hyperlink): New procedure.
(display-news-entry): Add 'channel' parameter.  When
'supports-hyperlinks?' returns true, call 'channel-commit-hyperlink'.
(display-profile-content): Likewise, and define CHANNEL.
(display-channel-specific-news): Pass CHANNEL to 'display-news-entry'.
* guix/ui.scm (hyperlink): Make public.
2019-11-28 18:43:54 +01:00
Ludovic Courtès
7f44ab48f9
Use 'offload?' instead of 'build-hook?' internally.
* guix/scripts/archive.scm (%default-options): Replace 'build-hook?'
with 'offload?'.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:offload? instead of #:use-build-hook?.
(%standard-build-options): Use the 'offload? key instead of 'build-hook?.
(%default-options): Replace 'build-hook?' with 'offload?'.
* guix/scripts/copy.scm (%default-options): Likewise.
* guix/scripts/deploy.scm (%default-options): Likewise.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.
* guix/scripts/time-machine.scm (%default-options): Likewise.
* guix/store.scm (set-build-options): Have #:use-build-hook? default
to *unspecified*.  Add #:offload?.  Add call to 'warn-about-deprecation'
when #:use-build-hook? is specified.
2019-11-26 00:16:36 +01:00
Ludovic Courtès
6fbd8fde2f
pull: Acquire a lock for the target profile.
This is a followup to b1fb663404.

* guix/scripts/pull.scm (guix-pull): Wrap 'run-with-store' call in
'with-file-lock/no-wait'.
2019-11-19 10:51:52 +01:00
Ludovic Courtès
d17e012da7
time-machine: Handle 'git-error' exceptions.
* guix/scripts/pull.scm (with-git-error-handling): Export.
* guix/scripts/time-machine.scm (guix-time-machine): Wrap body in
'with-git-error-handling'.
2019-11-15 23:29:06 +01:00
Konrad Hinsen
f675f8dec7
Add 'guix time-machine'.
* guix/scripts/time-machine.scm: New file.
* Makefile.am: (MODULES): Add it.
* guix/scripts/pull.scm (channel-list): Export.
* guix/inferior.scm (cached-channel-instance): New procedure.
(inferior-for-channels): Use it.
* doc/guix.texi (Invoking guix time-machine): New section.
(Channels): Cross-reference it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-11-15 23:28:17 +01:00
Ludovic Courtès
1edcfda81b
pull: Remove unused '--verbose' option.
This option had been ignored since commit
0d39a3b989 (August 2018).

* guix/scripts/pull.scm (show-help, %options): Remove "--verbose".
(build-and-install): Remove #:verbose?, which was unused.
(guix-pull): Adjust accordingly.
2019-11-15 23:28:17 +01:00
Ludovic Courtès
6330db4d55
pull: Gracefully handle invalid Texinfo markup in news.
Reported by Oleg Pykhalov <go.wigust@gmail.com>.

* guix/scripts/pull.scm (display-news-entry-title)
(display-news-entry): Catch 'parser-error' around call to
'texi->plain-text', and return Texinfo as-is when an exception is
caught.
2019-11-01 12:23:45 +01:00
Ludovic Courtès
49af34cfac
pull: Honor '/etc/guix/channels.scm'.
* guix/scripts/pull.scm (channel-list)[global-file]: New variable.
[channels]: Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
2019-10-27 23:05:01 +01:00
Ludovic Courtès
e6ea74d86c
pull: Call 'ensure-default-profile' after 'set-build-options'.
This is a followup to 81c580c866.

* guix/scripts/pull.scm (guix-pull): Move 'ensure-default-profile' call after
'set-build-options-from-command-line' call.  This ensures that the
'profiles/per-user/$USER' directory is created before
'ensure-default-profile' is called when 'GUIX_DAEMON_SOCKET' points to a
remote TCP daemon.
2019-10-18 12:02:52 +02:00
Konrad Hinsen
13169000f6
pull: Do not use '~*', which 'msgfmt' fails to interpret.
Really fixes <https://bugs.gnu.org/37505>.
This is a followup to f751b4646d3989d76dad9e33e39f9724c7c50be6.

* guix/scripts/pull.scm (display-channel-news): Remove second occurrence
of '~*' in a format string.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-10-01 23:34:30 +02:00
Ludovic Courtès
43f7fd8783
pull: Do not use '~*', which 'msgfmt' fails to interpret.
Fixes <https://bugs.gnu.org/37505>.
Reported by Konrad Hinsen <konrad.hinsen@fastmail.net>.

* guix/scripts/pull.scm (display-channel-news): Use ~a instead of ~*
when reporting new channels.
2019-10-01 10:50:24 +02:00
Ludovic Courtès
d26c290b7d
pull: Dim the commit ID when displaying news.
* guix/scripts/pull.scm (display-news-entry): Dim the commit line.
2019-09-25 15:46:48 +02:00
Ludovic Courtès
7b3f56f5d7
pull: Use ~/.cache/guix/checkouts instead of ~/.cache/guix/pull.
Previously 'channel-news-for-commit' would use the former while 'guix
pull' would use the latter.  Consequently, the first 'guix pull -N'
would clone the repository anew.

* guix/scripts/pull.scm (guix-pull): Remove 'cache', and leave
%REPOSITORY-CACHE-DIRECTORY to its default value.
2019-09-23 23:41:19 +02:00
Ludovic Courtès
dabdd7d465
pull: Display news titles directly upon 'pull'.
* guix/scripts/pull.scm (display-profile-news): Return true when there's
more to display.
(display-news-entry-title): New procedure.
(display-news-entry): Use it.
(display-channel-specific-news): Return true when there's more to
display.
(display-channel-news-headlines): New procedure.
(build-and-install): Call it.  When 'display-channel-news-headlines' or
'display-profile-news' returns #t, print a hint to run "pull --news".
(display-new/upgraded-packages): Return true when there's more to display.
2019-09-23 10:38:44 +02:00
Ludovic Courtès
192ee02aeb
pull: '-l' displays channel news.
* guix/scripts/pull.scm (display-channel-news): Make 'previous' a
parameter.
(process-query)[list-generations]: Call 'display-channel-news'.
2019-09-23 10:38:44 +02:00
Ludovic Courtès
7faffdc2d5
pull: Display channel news.
* guix/scripts/pull.scm (display-news-entry)
(display-channel-specific-news): New procedures.
(display-channel-news): Call it.
(display-new/upgraded-packages): Adjust hint message.
* doc/guix.texi (Invoking guix pull): Mention it.
2019-09-23 10:38:44 +02:00
Ludovic Courtès
961b95c985
pull: '--news' shows the list of channels added or removed.
* guix/scripts/pull.scm (display-channel, channel=?)
(display-channel-news, display-news): New procedures.
(process-query): Call 'display-news' instead of 'display-profile-news'.
2019-09-23 10:38:43 +02:00
Konrad Hinsen
da55110712
scripts: pull: Add options for generation management
* guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation,
--delete-generations
(process-generation-change): New function
(guix-pull): Execute generation management operations

* doc/guix.texi: Document the generation management operations

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-09-18 23:08:29 +02:00
Ludovic Courtès
ee25048e51
pull: Work around Ubuntu's 'sudo'.
Partly fixes <https://bugs.gnu.org/36785>.
Reported by Julien Lepiller <julien@lepiller.eu>.

* guix/scripts/pull.scm (ensure-default-profile): Do not call
'migrate-generations' when "SUDO_USER" is set.
2019-09-18 23:08:29 +02:00
Ludovic Courtès
9b9b753529
pull: Pass #:use-substitutes? to 'show-what-to-build'.
Fixes <https://bugs.gnu.org/36509>.
Reported by Robert Vollmert <rob@vllmrt.net>.

* guix/scripts/pull.scm (build-and-install): Add #:use-substitutes?
parameter and pass it to UPDATE-PROFILE.
(guix-pull): Pass #:use-substitutes? to 'build-and-install'.
2019-07-18 00:44:23 +02:00
Ludovic Courtès
67fb53c0d8
pull: Use (ice-9 format).
* guix/scripts/pull.scm (guix): Use (ice-9 format), as reported by
'-Wformat'.
2019-07-18 00:44:23 +02:00
Ludovic Courtès
c84c4c1db7
pull: Remove unused procedures.
* guix/scripts/pull.scm (what-to-build, indirect-root-added): Remove.
2019-07-18 00:44:23 +02:00
Ludovic Courtès
5c3d44303e
guix gc: Correctly handle '--delete-generations' with no arguments.
Previously, 'guix gc --delete-generations' would crash: the "" pattern
would be passed to 'matching-generations', which would return #f instead
of returning a list.

Reported by Raghav Gururajan <rvgn@disroot.org>
in <https://bugs.gnu.org/36466>.

* guix/ui.scm (matching-generations): Raise an error when passed an
invalid pattern.
* guix/scripts/gc.scm (delete-old-generations): Check if PATTERN is
true.
(%options): Leave ARG as-is for 'delete-generations'.
(guix-gc): Use 'assq' instead of 'assoc-ref' for 'delete-generations'.
* guix/scripts/package.scm (delete-matching-generations):
Replace (string-null? pattern) with (not pattern).  Remove 'else'
clause.
(%options): Leave ARG as-is for 'delete-generations'.
* guix/scripts/pull.scm (%options): Leave ARG as-is for
'list-generations'.
(process-query): Replace (string-null? pattern) with (not pattern).
* guix/scripts/system.scm (list-generations): Likewise, and remove
'else' clause.
(process-command): Use #f instead of "" when no pattern is given.
2019-07-11 23:13:26 +02:00
Ludovic Courtès
a0dc97a517
pull: Display 'hash guix' hint when the new and old 'guix' are different.
Fixes <https://bugs.gnu.org/35601>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.

Previously we were calling (which "guix") after the new profile had been
built and symlinked, so in most cases the hint would not be triggered,
even though it should have been triggered.

* guix/scripts/pull.scm (build-and-install)[guix-command]: New variable.
Compare PROFILE/bin/guix against GUIX-COMMAND.
2019-05-09 17:42:31 +02:00
Ludovic Courtès
a06a95baff
pull: Create profile after the store connection has been opened.
Fixes <https://bugs.gnu.org/35341>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

Previously, we'd call 'ensure-default-profile' before the connection to
the daemon has been opened.  On the first connection, the daemon ensures
that /var/guix/profiles/per-user is world-writable.  Since we were
calling 'ensure-default-profile' before that,
/var/guix/profiles/per-user was typically non-writable (555 and
root-owned), and thus 'guix pull' would error out.

* guix/scripts/pull.scm (guix-pull): Call 'ensure-default-profile'
within 'with-store'.
2019-04-22 12:01:32 +02:00
Ludovic Courtès
c5265a0951
pull: Add '--news'.
Suggested by Tobias Geerinckx-Rice <me@tobias.gr>.

* guix/scripts/pull.scm (%options, show-help): Add '--news'.
(display-profile-news): Add #:current-is-newer? and #:concise?.
Honor them.
(build-and-install): Pass #:concise? #t.
(display-new/upgraded-packages)[concise/max-item-count]: New variable.
Add call to 'display-hint'.
(process-query): Add clause for 'display-news'.
* doc/guix.texi (Invoking guix pull): Add '--news'.
2019-04-22 12:01:32 +02:00
Ludovic Courtès
72f749dcb8
pull: '--url', '--commit', and '--branch' apply to the 'guix' channel.
Suggested by pkill9 <pkill9@runbox.com>.

* guix/scripts/pull.scm (channel-list): Apply REF and URL to the 'guix'
channel.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
2019-04-17 13:56:40 +02:00
Ludovic Courtès
08d0f950b3
pull: Remove duplicate '--dry-run' description.
Reported by pkill9.

* guix/scripts/pull.scm (show-help): Remove duplicate '--dry-run'
description.
2019-04-10 17:09:47 +02:00
Ludovic Courtès
539af7f257
pull: Truncate the list of packages displayed on completion.
Previously, if you'd run 'guix pull' after a couple of weeks, it would
fill your screen with package names, which is unhelpful.

* guix/scripts/pull.scm (ellipsis): New procedure.
(display-new/upgraded-packages): Add #:concise?.
[list->enumeration]: New procedure.
Use it instead of 'string-join'.
(display-profile-news): Pass #:concise? #t.
2019-03-28 23:06:59 +01:00
Ludovic Courtès
9f4169f6c8
pull: Factorize pretty-printing for new/upgraded package lists.
* guix/scripts/pull.scm (display-new/upgraded-packages)[pretty]: New
procedure.
Use it.
2019-03-28 23:06:58 +01:00
Ludovic Courtès
201253674b
pull: Speed up the new/upgraded package computation.
* guix/scripts/pull.scm (new/upgraded-packages): OLD no longer stores
all the versions of each package.  Remove 'vhash-fold*' call and reduce
the number of 'version>?' calls when computing UPGRADED.
2019-02-12 23:30:16 +01:00