Age | Commit message (Expand) | Author |
2022-08-04 | environment: Report "command not found" from the child process....Fixes a bug whereby, for example:
guix shell bash -- bash -c xyz
would erroneously print:
guix shell: error: bash: command not found
simply because the parent process could not distinguish that 127 from a
"genuine" 127 used by convention for "command not found".
* guix/scripts/environment.scm (launch-environment): Before exiting,
report a "command not found" error and suggest a command name.
(validate-exit-status): Remove.
(launch-environment/fork): Remove call
(launch-environment/container)[exit/status*]: Remove.
Call 'exit/status' instead of it.
| Ludovic Courtès |
2022-08-04 | guix build: Print hints when -s or --target is passed an invalid string....* guix/scripts/build.scm (%standard-cross-build-options)
(%standard-native-build-options): Print hints when the target/system is
not found.
| Ludovic Courtès |
2022-08-01 | guix gc: '--delete-generations' now deletes old Home generations....This reverts commit 24c0518dd404cbb3c434fb6704f4f551bbc78693,
thereby reinstating ba22560627f848f40891a56355ff26b6de1380bc, with an
additional fix in (guix self).
Fixes <https://issues.guix.gnu.org/56722>.
Reported by "(" <paren@disroot.org>.
* guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to
'home-generation-base'.
* guix/self.scm (compiled-guix)[*core-cli-modules*]: Remove (guix
scripts gc).
* doc/guix.texi (Invoking guix gc): Document the change.
| Ludovic Courtès |
2022-07-17 | Revert "guix gc: '--delete-generations' now deletes old Home generations."...This reverts commit ba22560627f848f40891a56355ff26b6de1380bc.
| Tobias Geerinckx-Rice |
2022-07-23 | guix gc: '--delete-generations' now deletes old Home generations....Previously, 'guix gc -d4m' would ignore Home generations. With this
change, they are treated like profiles and generations that match the
pattern are deleted.
* guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to
'home-generation-base'.
* doc/guix.texi (Invoking guix gc): Document the change.
| Ludovic Courtès |
2022-07-23 | deploy: Honor '--dry-run'....* guix/scripts/deploy.scm (%options): Add "dry-run".
(show-what-to-deploy): Add #:dry-run? and honor it.
(guix-deploy): Honor --dry-run.
| Ludovic Courtès |
2022-07-19 | import: Enable recursive import for texlive packages....* guix/import/texlive.scm (tlpdb->package): Add VERSION argument; include
explicit version field in output.
(texlive->guix-package): Set default value for VERSION argument; adjust call
of tlpdb->package.
(texlive-recursive-import): Accept REPO and VERSION keyword arguments.
* guix/import/utils.scm (package->definition): Add a clause to deal with
output from tlpdb->package.
* guix/scripts/import/texlive.scm (%options): Add "recursive" option.
(guix-import-texlive): Honor "recursive" option.
* doc/guix.texi (Using TeX and LaTeX): Mention "recursive" option.
| Ricardo Wurmus |
2022-07-19 | system: Add -I, --list-installed option....* guix/scripts/system.scm (display-system-generation): Add
#:list-installed-regex and honor it.
(list-generations): Likewise.
(show-help, %options): Add "--list-installed".
(process-command): For 'describe' and 'list-generation', honor the
'list-installed option.
* doc/guix.texi (Invoking Guix System): Add information for
--list-installed flag.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2022-07-19 | home: Add -I, --list-installed option....* guix/scripts/package.scm (list-installed): New procedure.
* guix/scripts/home.scm (%options, show-help): Add '--list-installed'.
(process-command): For 'describe' and 'list-generations', honor the
'list-installed option.
(display-home-environment-generation): Add #:list-installed-regex and
honor it.
(list-generations): Likewise.
* guix/scripts/utils.scm (pretty-print-table): New argument "left-pad".
* doc/guix.texi (Invoking Guix Home): Add information and example for
--list-installed flag.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2022-07-15 | shell: Ignore cached profiles when using '--export-manifest'....Fixes <https://issues.guix.gnu.org/56539>.
Fixes a bug where "guix shell -D pkg --export-manifest" would provide
the expansion of PKG's dependencies instead of a call to
'package-development-manifest' if that profile happened to be cached.
* guix/scripts/shell.scm (profile-cached-gc-root): Add clause for 'export-manifest?.
| Ludovic Courtès |
2022-07-12 | style: Gracefully handle failure to locate a source file....* guix/scripts/style.scm (absolute-location): Raise an error when
'search-path' returns #f.
| Ludovic Courtès |
2022-07-04 | style: For 'let' and similar forms, emit one binding per line....Previously, 'let' bindings could be rendered like this:
(let ((x 1) (y 2)
(z 3))
...)
With this change, each bindings goes in its own line.
Partly fixes <https://issues.guix.gnu.org/56297>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/scripts/style.scm (pretty-print-with-comments)[list-of-lists?]:
New procedure.
Use it.
* tests/style.scm: Add tests with 'let' and 'substitute-keyword-arguments'.
| Ludovic Courtès |
2022-07-04 | style: Add option '--list-stylings'....* guix/scripts/style.scm (show-stylings): New procedure.
(%options, show-help): Add "--list-stylings".
* doc/guix.texi (Invoking guix style): Document "-l".
| Hartmut Goebel |
2022-07-03 | challenge: Do nothing when passed zero arguments....Previously, 'guix challenge' without arguments would list live store
items that had been locally built. This was deemed confusing,
especially since 'list-live' is an expensive operation.
* guix/scripts/challenge.scm (guix-challenge): Warn and exit with 0 when
FILES is empty.
* doc/guix.texi (Invoking guix challenge): Update accordingly.
| Ludovic Courtès |
2022-06-26 | substitute: Use SRFI-71 instead of SRFI-11....* guix/scripts/substitute.scm (display-narinfo-data)
(open-connection-for-uri/cached)
(process-substitution): Use SRFI-71 instead of SRFI-11.
| Ludovic Courtès |
2022-06-23 | guix system: Inline menu-entries in to bootcfg in perform-action....This avoids an exception when generating images, where the reading of boot
parameters fails.
* guix/scripts/system.scm (perform-action): Inline menu-entries in to bootcfg.
| Christopher Baines |
2022-06-22 | refresh: Repurpose '-L' for '--load-path'....This incompatible change fixes an inconsistency with other commands
where '-L' is short for '--load-path'.
* guix/scripts/refresh.scm (%options): Add --load-path option from
%STANDARD-BUILD-OPTIONS. Remove #\L shortcut for --list-updaters, and
remove --load-path option that lacked the #\L shortcut.
(show-help): Update accordingly.
* doc/guix.texi (Invoking guix refresh): Update accordingly.
| Ludovic Courtès |
2022-06-22 | style: Keep values next to their keyword....This ensures we print '#:key value' rather than insert a newline
between '#:key' and 'value' as was the case before.
* guix/scripts/style.scm (pretty-print-with-comments)[print-sequence]:
When ITEM is a keyword, loop with FIRST? = true.
* tests/style.scm: Add test.
| Ludovic Courtès |
2022-06-19 | challenge: Colorize output....* guix/scripts/challenge.scm (good-news, bad-news): New procedures.
(summarize-report, summarize-report-list): Use them and 'highlight'.
| Ludovic Courtès |
2022-06-16 | shell: Fix '--export-manifest' for cached profiles and when '-p' is used....Fixes <https://issues.guix.gnu.org/55521>.
* guix/scripts/shell.scm (export-manifest): When computing 'manifest',
honor the 'profile key.
* tests/guix-shell-export-manifest.sh: Add test.
| Ludovic Courtès |
2022-06-16 | shell: Do not auto-detect manifest when '-p' is used....Previous, "guix shell -p /path/to/profile" would have manifest/guix.scm
auto-detection turned on.
* guix/scripts/shell.scm (auto-detect-manifest)[options-contain-payload?]:
Return #t for 'profile.
| Ludovic Courtès |
2022-06-15 | refresh: Switch to SRFI-71....* guix/scripts/refresh.scm (update-package): Use SRFI-71 'let' instead
of SRFI-11 'let-values'.
| Ludovic Courtès |
2022-06-15 | challenge: When using '--diff', do not attempt to chmod symlinks....This is a followup to 2a2856d5ccd9a9b7df8a94333a277b971a39b150.
* guix/scripts/challenge.scm (make-directory-writable): Do not call
'make-file-writable' on symlinks.
| Ludovic Courtès |
2022-06-15 | import: Add hex.pm importer....hex.pm is a package repository for Erlang and Elixir.
* guix/scripts/import.scm (importers): Add "hexpm".
* guix/scripts/import/hexpm.scm, guix/import/hexpm.scm,
guix/hexpm-download.scm: New files.
* guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of
fetch methods.
* guix/upstream.scm (package-update/hexpm-fetch): New function.
(%method-updates) Add it.
* Makefile.am: Add them.
| Hartmut Goebel |
2022-06-15 | pull: Tweak cache directory validation code....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'.
| Ludovic Courtès |
2022-06-12 | pull: Fix typo in error message....* guix/scripts/pull.scm (guix-pull): Report the right user name/ID.
| Tobias Geerinckx-Rice |
2022-06-13 | challenge: Actually delete nars that have been extracted....Fixes <https://issues.guix.gnu.org/55809>.
Reported by Vagrant Cascadian <vagrant@reproducible-builds.org>.
* guix/scripts/challenge.scm (make-directory-writable): New procedure.
(call-with-mismatches)[restore-file*]: New procedure.
Use it instead of 'restore-file'.
| Ludovic Courtès |
2022-06-05 | pull: Fail if cache directory ownership is suspect....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’.
| Tobias Geerinckx-Rice |
2022-06-06 | packages: Add 'specifications->packages'....* gnu/packages.scm (specifications->packages): New procedure.
* guix/scripts/home/import.scm (manifest+configuration-files->code): Use it.
* tests/home-import.scm (match-home-environment-no-services)
(match-home-environment-no-services-nor-packages)
(match-home-environment-bash-service)
(match-home-environment-bash-service-with-alias): Adjust 'packages'
field accordingly.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2022-05-29 | guix system: Don't suggest reconfiguration during reconfiguration....* guix/scripts/system.scm (process-action):
Add 'reconfigure to the warning's guard clause.
Reported by johnjaye on #guix.
| Tobias Geerinckx-Rice |
2022-06-04 | guix home: Add 'edit' sub-command....* guix/scripts/home/edit.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/home.scm (show-help): Add "edit".
(process-command): Handle it.
(guix-home): Add it.
* po/guix/POTFILES.in: Add 'guix/scripts/home/edit.scm'.
* doc/guix.texi (Invoking guix home): Document it.
| Ludovic Courtès |
2022-06-04 | guix system: Add 'edit' sub-command....* guix/scripts/system/edit.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (show-help): Mention "edit".
(actions): Add it.
(process-command): Handle it.
* doc/guix.texi (Invoking guix system): Document it.
* po/guix/POTFILES.in: Add guix/scripts/system/edit.scm.
| Ludovic Courtès |
2022-06-04 | edit: Extract 'spawn-editor' procedure....* guix/scripts/edit.scm (spawn-editor): New procedure, with code from...
(guix-edit): ... here. Use it.
| Ludovic Courtès |
2022-06-01 | shell: '--export-manifest -D x -D y' generates a valid manifest....* guix/scripts/shell.scm (manifest->code*): Add missing 'list' in
generated 'concatenate-manifests' call.
* tests/guix-shell-export-manifest.sh: Add test.
| Ludovic Courtès |
2022-05-29 | scripts/import: Use pretty printer from (guix scripts style)....* guix/scripts/import.scm (guix-import): Use pretty-print-with-comments.
(newline-rewriting-port): Remove procedure.
| Ricardo Wurmus |
2022-05-27 | substitute: Check for --help or --version options early....Running `guix archive --authorize` sets /etc/guix/acl to 600
via with-atomic-file-output via mkstemp!.
Then running `guix substitute --help/--version` fails on "permission denied".
While "guix substitute" is an internal tool, the options --help and --version
exist and you should be able to run those from the command line.
* guix/scripts/substitute.scm (guix-substitute): Earlier check for
--help or --version.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| yarl-baudig@mailoo.org |
2022-05-26 | guix package: Sort search results by package version....Fixes <https://issues.guix.gnu.org/55480>.
Reported by Greg Hogan <code@greghogan.com>.
* guix/scripts/package.scm (find-packages-by-description): When PACKAGE1
and PACKAGE2 have the same name, sort by version.
| Ludovic Courtès |
2022-05-25 | Move (gnu platform) and (gnu platforms ...) to guix/....* gnu/platform.scm:
* gnu/platforms/arm.scm:
* gnu/platforms/hurd.scm:
* gnu/platforms/mips.scm:
* gnu/platforms/powerpc.scm:
* gnu/platforms/riscv.scm:
* gnu/platforms/s390.scm:
* gnu/platforms/x86.scm: Move to guix/.
* Makefile.am:
* doc/guix.texi (Porting to a New Platform):
* etc/release-manifest.scm:
* gnu/ci.scm:
* gnu/image.scm:
* gnu/local.mk:
* gnu/packages/bioinformatics.scm:
* gnu/packages/bootstrap.scm:
* gnu/packages/cross-base.scm:
* gnu/packages/instrumentation.scm:
* gnu/packages/linux.scm:
* gnu/system/image.scm:
* gnu/system/images/hurd.scm:
* gnu/system/images/novena.scm:
* gnu/system/images/pine64.scm:
* gnu/system/images/pinebook-pro.scm:
* gnu/system/images/rock64.scm:
* guix/scripts/build.scm:
* guix/scripts/system.scm:
* guix/self.scm: Update (gnu platform...) to (guix platform...).
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Josselin Poiret |
2022-05-23 | scripts: package: Transform before creating manifest entries....* guix/scripts/package.scm (options->installable): Add TRANSFORM
argument, to be able to directly transform the new packages before
creating their manifest entries.
(process-actions): Remove transform-entry, and step3, transforming
directly in step2.
* tests/guix-package.sh: Add test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Josselin Poiret |
2022-05-22 | scripts: build: Highlight the current system with --list-systems....* guix/scripts/build.scm (list-systems): Highlight it.
| Mathieu Othacehe |
2022-05-22 | scripts: Add --list-systems and --list-targets options....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>
| Mathieu Othacehe |
2022-05-22 | import: Add Elm importer....* guix/import/elm.scm, guix/scripts/import/elm.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "elm".
* doc/guix.texi (Invoking guix import): Document Elm importer.
* doc/contributing.texi (Elm Packages): Mention it.
* tests/elm.scm ("(guix import elm)"): New test group.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Philip McGrath |
2022-05-20 | guix: Remove unused import....* guix/scripts/pull.scm: Do not import with-file-lock/no-wait from (guix build
syscalls).
| Ricardo Wurmus |
2022-04-29 | guix system: Highlight search results....This is a followup to 5e0c3479759047311b6a518fd0bc512b232f201a.
* guix/scripts/system/search.scm (guix-system-search): Pass #:regexps
parameter to 'display-search-results'.
| Ludovic Courtès |
2022-04-29 | publish: Send uncached narinfo replies from the main thread....Fixes <https://issues.guix.gnu.org/54723>.
Reported by Guillaume Le Vaillant <glv@posteo.net>.
Regression introduced in f743f2046be2c5a338ab871ae8666d8f6de7440b.
With commit f743f2046be2c5a338ab871ae8666d8f6de7440b, responses to
pipelined GETs would end up being written concurrently by many threads.
Thus the body of those responses could be interleaved and garbled.
* guix/scripts/publish.scm: Revert
f743f2046be2c5a338ab871ae8666d8f6de7440b.
* tests/publish.scm ("/*.narinfo pipeline"): New test.
| Ludovic Courtès |
2022-04-26 | scripts: pack: Fix typo....* guix/scripts/pack.scm (compressor-extenstion): Fix typo.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Alex Griffin |
2022-04-23 | pack: Fix match error for multi-packages deb packs....* guix/scripts/pack.scm: Remove duplicated copyright line.
(debian-archive)[single-entry]: Match one or anything, not one or zero.
Reported-by: jgart <jgart@dismail.de>
| Maxim Cournoyer |
2022-04-19 | ui: Highlight package and service search results....* guix/ui.scm (package->recutils): Add #:highlighting parameter and use it.
(display-search-results): Add #:regexps parameter; call
'colorize-full-matches' and pass #:highlighting.
* guix/scripts/package.scm (process-query): Pass #:regexps to
'display-search-results'.
* guix/scripts/home.scm (search): Likewise.
* guix/scripts/system/search.scm (service-type->recutils): Add #:highlighting
parameter and use it.
| Ludovic Courtès |
2022-04-19 | ui: Highlight important bits in recutils output....* guix/scripts/system/search.scm (service-type->recutils): Highlight the
value of the 'name' field.
* guix/ui.scm (package->recutils): Likewise for 'name' and 'version'.
| Ludovic Courtès |
2022-04-14 | publish: Support systemd-style socket activation....* guix/scripts/publish.scm (systemd-socket): New procedure.
(guix-publish): Add 'style' variable. Adjust startup message depending
on whether STYLE is 'systemd.
* doc/guix.texi (Invoking guix publish): Mention socket activation.
| Ludovic Courtès |