guix/guix/scripts
Ludovic Courtès 0552dcb294
shell: Cache profiles even when using package specs.
This enables profile caching not just when '-m' or '-f' is used, but
also when package specs are passed on the command line, as in:

  guix shell -D guix git

It also changes profile cache keys to include the system type, which was
previously ignored.

* guix/scripts/shell.scm (options-with-caching)[single-file-for-caching]:
Remove.
Call 'profile-cached-gc-root' instead; adjust to accept two values.
(profile-cache-primary-key): New procedure.
(profile-cache-key): Remove.
(profile-file-cache-key, profile-spec-cache-key): New procedures.
(profile-cached-gc-root): Rewrite to include functionality formally in
'single-file-for-caching', but extend to handle package specs.
* gnu/packages.scm (cache-is-authoritative?): Export.
* guix/transformations.scm (transformation-option-key?): New procedure.
* doc/guix.texi (Invoking guix shell): Move '--rebuild-cache'
documentation to the bottom, just above '--root'.  Explain caching and
how these two options relate to that.
2022-01-11 20:34:59 +01:00
..
container
git Add 'guix git authenticate'. 2020-07-11 12:33:01 +02:00
home home: import: Fix handling of manifest entries with specific output. 2022-01-05 23:44:18 +01:00
import import: texlive: Update error message. 2022-01-10 12:47:01 +01:00
system gnu: bootloader: Support multiple targets. 2021-08-29 01:05:26 -04:00
archive.scm scripts: Commands warn when passed zero arguments. 2021-05-28 11:36:02 +02:00
authenticate.scm authenticate: Encode strings as ISO-8859-1. 2020-09-15 14:40:20 +02:00
build.scm Revert "guix build: Autoload (gnu packages)." 2021-06-29 00:10:54 +02:00
challenge.scm challenge: Store item contents are returned in canonical order. 2021-12-12 00:27:53 +01:00
container.scm scripts: Use 'define-command' and have 'guix help' use that. 2020-09-10 12:27:24 +02:00
copy.scm scripts: Commands warn when passed zero arguments. 2021-05-28 11:36:02 +02:00
deploy.scm reconfigure: Use 'formatted-message'. 2021-06-25 15:12:05 +02:00
describe.scm describe: Gracefully handle profiles that lack provenance info. 2021-05-09 23:46:46 +02:00
discover.scm scripts: discover: Report Avahi errors. 2021-05-22 14:04:19 +02:00
download.scm scripts: download: Replace 'args-fold*' by 'parse-command-line'. 2021-04-01 14:58:54 +02:00
edit.scm scripts: Commands warn when passed zero arguments. 2021-05-28 11:36:02 +02:00
environment.scm environment: Suggestion code gracefully handles empty "/bin" directories. 2021-12-10 15:32:44 +01:00
gc.scm scripts: Use 'define-command' and have 'guix help' use that. 2020-09-10 12:27:24 +02:00
git.scm scripts: Use 'define-command' and have 'guix help' use that. 2020-09-10 12:27:24 +02:00
graph.scm guix graph: Show '-M' in '--help' output. 2021-11-23 10:24:28 +01:00
hash.scm guix hash: Allow '-r' as a non-deprecated alias. 2022-01-10 19:31:02 +01:00
home.scm guix home, system: Use 'leave' to report missing generations. 2022-01-06 16:27:30 +01:00
import.scm Revert the #51061 patch series for now. 2021-10-08 23:31:34 +02:00
install.scm transformations: Show '--help-transform' only where applicable. 2020-11-21 12:39:14 +01:00
lint.scm scripts: lint: Display result of checkers on stdout. 2020-11-21 10:23:08 +00:00
offload.scm offload: Do not read ~/.ssh/config. 2022-01-03 19:32:08 +01:00
pack.scm Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
package.scm home: import: Factorize triplicated 'version-spec' procedure. 2021-10-31 00:51:06 +02:00
perform-download.scm download: Use Disarchive as a last resort. 2021-04-29 11:24:48 -04:00
processes.scm processes: Add '--format' and the "normalized" format. 2020-11-29 23:55:57 +01:00
publish.scm publish: Defer narinfo string creation to the http-write. 2021-10-05 18:55:55 +00:00
pull.scm pull: Use SRFI-71 instead of SRFI-11. 2021-06-29 00:00:14 +02:00
refresh.scm refresh: Support non-tarball sources. 2022-01-06 16:27:30 +01:00
remove.scm scripts: Use 'define-command' and have 'guix help' use that. 2020-09-10 12:27:24 +02:00
repl.scm scripts: repl: Replace 'args-fold*' by 'parse-command-line'. 2021-04-01 14:58:54 +02:00
search.scm scripts: search: Replace 'args-fold*' by 'parse-command-line'. 2021-04-01 14:58:55 +02:00
shell.scm shell: Cache profiles even when using package specs. 2022-01-11 20:34:59 +01:00
show.scm scripts: show: Replace 'args-fold*' by 'parse-command-line'. 2021-04-01 14:58:55 +02:00
size.scm scripts: Use 'define-command' and have 'guix help' use that. 2020-09-10 12:27:24 +02:00
style.scm style: '-S format' canonicalizes comments. 2022-01-10 14:59:26 +01:00
substitute.scm substitute: Document the limited UI. 2021-12-29 01:43:24 +01:00
system.scm guix home, system: Use 'leave' to report missing generations. 2022-01-06 16:27:30 +01:00
time-machine.scm inferior: 'cached-channel-instance' no longer calls 'show-what-to-build'. 2021-08-09 18:14:37 +02:00
upgrade.scm upgrade: Allow several regexps. 2020-12-01 11:34:10 +01:00
weather.scm weather: Don't look for exported package replacements twice. 2021-09-03 10:08:27 +01:00