Age | Commit message (Expand) | Author |
2024-02-12 | git-download: Download from SWH by nar hash when possible....* guix/build/git.scm (git-fetch-with-fallback): Add #:hash
and #:hash-algorithm. Try ‘swh-download-directory-by-nar-hash’ before
‘swh-download’ when #:hash is provided.
* guix/git-download.scm (git-fetch/in-band*): Pass #:hash
and #:hash-algorithm to ‘git-fetch-with-fallback’.
* guix/scripts/perform-download.scm (perform-git-download): Likewise.
Change-Id: Ic875a7022fd78c9fac32e92ad4f8ce4d81646ec5
| Ludovic Courtès |
2024-02-12 | git authenticate: Gracefully handle invalid fingerprints....Previously the command would crash when passed an invalid fingerprint on
the command line.
* guix/scripts/git/authenticate.scm (guix-git-authenticate)
[openpgp-fingerprint*]: New procedure.
Use it instead of ‘openpgp-fingerprint’.
Change-Id: I99e0549781382f36a684a84449b603e00b53778d
| Ludovic Courtès |
2024-01-24 | scripts: describe: Support 'channels-sans-intro' format for local checkouts....* guix/scripts/describe.scm (%display-checkout-info):
Support 'channels-sans-intro' format.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Sergey Trofimov |
2024-01-24 | weather: Add ‘-e’....* guix/scripts/weather.scm (show-help, %options): Add ‘-e’.
(guix-weather): Handle it.
* doc/guix.texi (Invoking guix weather): Document it.
Change-Id: I6dc97ec2b8226b57be33247b05a34c23b573a64f
| Ludovic Courtès |
2024-01-22 | guix: download: Add support for git repositories....* guix/scripts/download.scm (git-download-to-store*): Add new variable.
(copy-recursively-without-dot-git): New variable.
(git-download-to-file): Add new variable.
(show-help): Add 'git', 'commit', 'branch' and 'recursive'options
help message.
(%default-options): Add default value for 'git-reference' and
'recursive' options.
(%options): Add 'git', 'commit', 'branch' and 'recursive' command
line options.
(guix-download) [hash]: Compute hash with 'file-hash*' instead of
'port-hash' from (gcrypt hash) module. This allows us to compute
hashes for directories.
* doc/guix.texi (Invoking guix-download): Add @item entries for
`git', `commit', `branch' and `recursive' options. Add a paragraph in
the introduction.
* tests/guix-download.sh: New tests. Move variables and trap definition
to the top of the file.
Change-Id: Ic2c428dca4cfcb0d4714ed361a4c46609339140a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Romain GARBAGE |
2024-01-13 | scripts: pack: Set correct default value for entry-point-argument....The default value of #f led to ("..." . #f) being passed further down as an
entry point. That is not an issue for command line invocation, since in that
code path '() was already used as a default value, but it broke docker system
test with the following error:
building /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv...
tar: Removing leading `/' from member names
Backtrace:
6 (primitive-load "/gnu/store/g8hqzccfvn4mkm41jqs65c27gs7?")
In ./guix/docker.scm:
268:6 5 (build-docker-image "/gnu/store/zi2f5dfdrhviinm6jxp3cj?" ?)
In ice-9/ports.scm:
433:17 4 (call-with-output-file _ _ #:binary _ #:encoding _)
476:4 3 (_ _)
In ./guix/docker.scm:
270:21 2 (_)
123:40 1 (config "1996ead589ab366473d935c4d5bd0c38b998f3b299847?" ?)
In unknown file:
0 (list->vector ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7?" . #))
ERROR: In procedure list->vector:
In procedure vector: Wrong type argument in position 1: ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7wpvrrhfkj-profile/bin/guile" . #f)
note: keeping build directory `/tmp/guix-build-docker-pack.tar.gz.drv-16'
builder for `/gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv' failed with exit code 1
build of /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv failed
View build log at '/var/log/guix/drvs/dl/l8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv.gz'.
cannot build derivation `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv' failed
make: *** [Makefile:7044: check-system] Error 1
Breakage was introduced in 7d5168a2af3ed922c6a46985124fb73402cc8844.
* guix/scripts/pack.scm (docker-image)[entry-point-argument]: Default to '().
Change-Id: If5fc1f8bcb0981df11409636e71f2ca91b05612f
| Tomas Volf |
2024-01-12 | scripts: size: Fix `guix size` with --system argument....guix/scripts/size.scm (guix-size): Parameterize %current-system.
Change-Id: Ia0c1ebff4397aa211f73360925f7c688d59b515a
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Zheng Junjie |
2024-01-09 | guix: import: Optionally import necessary yanked crates....* doc/guix.texi (Invoking guix import): Mention '--allow-yanked'.
* guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For
yanked packages, use the full version suffixed by "-yanked" for
generated variable names and add a comment and package property.
(crate->guix-package): Add allow-yanked? argument and if it is set to #t,
allow importing yanked crates if no other version matching the
requirements exists.
[find-package-version]: Packages previously marked as yanked are only
included if allow-yanked? is #t and then take the lowest priority.
[find-crate-version]: If allow-yanked? is #t, also consider yanked
versions with the lowest priority.
[dependency-name+version]: Rename to ...
[dependency-name+version+yanked] ...this. Honor allow-yanked? and choose
between an existing package and an upstream package. Exit with an error
message if no version fulfilling the requirement is found.
[version*]: Exit with an error message if the crate version is not found.
(cargo-recursive-import): Add allow-yanked? argument.
* guix/read-print.scm: Export <comment>.
* guix/scripts/import/crate.scm: Add "--allow-yanked".
* tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'.
[sort-map-dependencies]: Adjust accordingly.
[remove-yanked-info]: New variable.
Adjust test 'crate-recursive-import-honors-existing-packages'.
(test-bar-dependencies): Add yanked dev-dependencies.
(test-leaf-bob-crate): Add yanked versions.
(rust-leaf-bob-3.0.2-yanked): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
| David Elsing |
2024-01-09 | import: crate: Optionally import dev-dependencies recursively....If --recursive-dev-dependencies is specified, development dependencies
are also included for all recursively imported packages.
* doc/guix.texi (Invoking guix import): Mention --recursive-dev-dependencies.
* guix/import/crate.scm (crate-recursive-import): Add
recursive-dev-dependencies? argument.
* guix/scripts/import/crate.scm (show-help, guix-import-crate): Add
"--recursive-dev-dependencies".
* tests/crate.scm: Test both #f and #t for #:recursive-dev-dependencies?
in the 'cargo-recursive-import' test.
(test-root-dependencies): Add intermediate-c as dev-dependency.
(test-intermediate-c-crate, test-intermediate-c-dependencies): New
variables.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: Iae89794681155d77f128733120e60f03bc297717
| David Elsing |
2024-01-08 | scripts: system: Build layered images....* guix/scripts/system.scm (show-help, %docker-format-options, %options,
%default-options, show-docker-format-options,
show-docker-format-options/detailed, process-action): Handle '--max-layers'
option.
* gnu/system/image.scm (system-docker-image): Same.
* gnu/image.scm (<image>)[max-layers]: New record field.
Change-Id: I2726655aefd6688b976057fd5a38e9972ebfc292
| Oleg Pykhalov |
2024-01-08 | guix: pack: Build layered images....* guix/scripts/pack.scm (docker-image, guix-pack, %default-options,
%docker-format-options, show-docker-format-options/detailed): Handle
'--max-layers' option.
* doc/guix.texi (Invoking guix pack): Document this.
Change-Id: I90660b2421fcdde891f003469fe2e2edaac7da41
| Oleg Pykhalov |
2024-01-08 | guix: pack: Add '--entry-point-argument' option....* guix/scripts/pack.scm:
(entry-point-argument-spec-option-parser): New procedure.
(docker-image, %default-options, %docker-format-options,
show-docker-format-options/detailed, %options, show-docker-format-options,
guix-pack): Handle '--entry-point-argument' option.
* doc/guix.texi: (Invoking guix pack): Document this
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
Change-Id: I1124feff6af39dcc63c85fd6cc7ad50f398489dc
| Graham James Addis |
2023-12-27 | scripts: download: Fix docstring typo....* guix/scripts/download.scm (ensure-valid-store-file-name name): Fix
the docstring.
Change-Id: If3fe3a923f514bb69297b566e0642c5e80fe4648
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Romain GARBAGE |
2023-12-18 | guix: import: Add composer importer....* guix/import/composer.scm: New file.
* guix/scripts/import/composer.scm: New file.
* guix/tests/composer.scm: New file.
* Makefile.am: Add them.
* guix/scripts/import.scm: Add composer importer.
* doc/guix.texi (Invoking guix import): Mention it.
Change-Id: I44a89b8cc80ef5b4a3cd15e8fbba4a18c1cea0b1
Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Nicolas Graves |
2023-12-11 | weather: Report unauthorized substitute servers....The goal is to make it easier to diagnose substitute
misconfiguration (where we’re passing a substitute URL whose
corresponding key is not authorized).
Suggested by Emmanuel Agullo.
* guix/scripts/weather.scm (check-narinfo-authorization): New procedure.
(report-server-coverage): Use it.
* doc/guix.texi (Invoking guix weather): Document it.
(Getting Substitutes from Other Servers): Add “Troubleshooting” frame.
Change-Id: I0a049c39eefb10d6a06634c8b16aa86902769791
| Ludovic Courtès |
2023-12-11 | weather: Use the same substitute URLs as guix-daemon....* guix/scripts/weather.scm (%default-options): Remove ‘substitute-urls’.
(guix-weather): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn
when ‘substitute-urls’ returns #f.
* doc/guix.texi (Invoking guix weather): Adjust accordingly.
Change-Id: I3e9100074f2ad559e5c408660db70430d64f2bef
| Ludovic Courtès |
2023-12-11 | challenge: Use the same substitute URLs as guix-daemon....* guix/scripts/challenge.scm (%default-options): Remove ‘substitute-urls’.
(guix-challenge): Call ‘substitute-urls’ when OPTS doesn’t have it. Warn
when ‘substitute-urls’ returns #f.
Change-Id: I49be0e89404c1889970a3430967fbb3498d35d99
| Ludovic Courtès |
2023-12-06 | shell: ‘--development’ honors ‘--system’....Fixes a bug whereby ‘package->development-manifest’ would run with the
wrong system in mind, leading to errors like this:
$ guix shell -s i586-gnu -D shepherd --no-grafts
guix shell: error: package linux-libre-headers@5.15.49 does not support i586-gnu
* guix/scripts/environment.scm (options/resolve-packages): Define
‘system’ and pass it to ‘package->development-manifest’.’
* tests/guix-shell.sh: Test it.
Change-Id: I95c471c1918913ab80dec7d3ca64fe38583cce78
| Ludovic Courtès |
2023-12-04 | substitute: Do not exit when failing to find a nar....Fixes <https://issues.guix.gnu.org/67575>.
* guix/scripts/substitute.scm (process-substitution/fallback): Use
‘report-error’ instead of ‘leave’. Write status line to PORT.
* tests/substitute.scm ("substitute, narinfo is available but nar is
missing"): Adjust accordingly.
Change-Id: Ic7297dbd563c007111ec2167c8d52505a07d4822
| Ludovic Courtès |
2023-12-02 | gnu: Use ‘libc-utf8-locales-for-target’....* guix/packages.scm (%standard-patch-inputs): Use
‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’.
* guix/self.scm (%packages): Likewise.
* gnu/home/services/ssh.scm (file-join): Likewise
* gnu/installer.scm (build-compiled-file): Likewise.
* gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise.
* gnu/packages/gnome.scm (libgweather4, tracker): Likewise.
* gnu/packages/javascript.scm (js-mathjax): Likewise.
* gnu/packages/package-management.scm (guix, flatpak): Likewise.
* gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise.
* gnu/packages/suckless.scm (svkbd): Likewise.
* gnu/services.scm (cleanup-gexp): Likewise.
* gnu/services/base.scm (guix-publish-shepherd-service): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-shepherd-services)
(guix-build-coordinator-agent-shepherd-services): Likewise.
* gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services):
(guix-data-service-shepherd-services)
(nar-herder-shepherd-services)
(bffe-shepherd-services): Likewise.
* gnu/services/web.scm (anonip-shepherd-service)
(mumi-shepherd-services): Likewise.
* gnu/system/image.scm (system-disk-image, system-iso9660-image)
(system-docker-image, system-tarball-image): Likewise.
* gnu/system/install.scm (%installation-services): Likewise.
* guix/profiles.scm (info-dir-file): Likewise.
(ca-certificate-bundle, profile-derivation): Likewise.
* guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise.
* tests/pack.scm: Likewise.
* tests/profiles.scm ("profile-derivation, cross-compilation"):
Likewise.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Christopher Baines <mail@cbaines.net>
Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374
| Janneke Nieuwenhuizen |
2023-11-26 | locate: Gracefully handle busy-database error conditions....* guix/scripts/locate.scm (SQLITE_BUSY): New variable.
(call-with-database): Catch 'sqlite-error and call ‘leave’ upon
SQLITE_BUSY.
Change-Id: Iebe76c75d45e70317bd18d2c176dcdeaf9d6964c
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maciej Kalandyk |
2023-11-22 | shell: Disable caching for ‘guix shell -f guix.scm’....Fixes <https://issues.guix.gnu.org/64858>.
* guix/scripts/shell.scm (profile-cached-gc-root): Distinguish the two
‘load’ cases; return #f and #f for (load ad-hoc-package _).
Reported-by: Pierre-Henry Fröhring <phfrohring@deeplinks.com>.
Change-Id: I00282fbd41aeed09fb927690945cf65e1f9efe4d
| Ludovic Courtès |
2023-11-22 | shell: Correct cache key for ‘guix shell -f guix.scm’....Partially fixes <https://issues.guix.gnu.org/64858>.
Fixes a bug whereby ‘guix shell -f guix.scm’ would use the same cache
key as ‘guix shell’ in an empty directory (meaning: no packages
specified) and would ignore the mtime of ‘guix.scm’.
* guix/scripts/shell.scm (profile-cached-gc-root): In ‘load’ case,
recognize both the ‘package’ and ‘ad-hoc-package’ tags.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ice6d0ac43e1dc6bb335a17963364c2cc6bcd076d
| Felix Lechner |
2023-11-22 | style: ‘guix style -f’ warns when passed zero arguments....* guix/scripts/style.scm (guix-style): When OPTS has ‘whole-file?’ set,
warn when FILES is empty.
Change-Id: I494f52ef5d070510d20006e6dd987a6805161bb4
| Ludovic Courtès |
2023-11-15 | locate: Accept ‘--clear’ without additional arguments....Fixes a bug whereby ‘guix locate --clear’ would end with the “no files
to search for” error.
Fixes <https://issues.guix.gnu.org/66799>.
* guix/scripts/locate.scm (guix-locate): Do not emit “no files to search
for” error when 'clear? is set in OPTS.
* tests/guix-locate.sh: Test it.
Reported-by: Maciej Kalandyk <m.kalandyk@outlook.com>
Change-Id: Ib8fa125c18481d7f5408bd89df9503713527641d
| Ludovic Courtès |
2023-11-05 | time-machine: Warn when no command is given....* guix/scripts/time-machine.scm (guix-time-machine): Emit a warning when
COMMAND-LINE is false.
Change-Id: I26e6b608915ecaf6d9372f9b03dc5ebd1b4c68f9
| Ludovic Courtès |
2023-11-05 | time-machine: Make target commit check cheaper....Commit 79ec651a286c71a3d4c72be33a1f80e76a560031 introduced a check to
error out when attempting to use ‘time-machine’ to travel to a commit
before ‘v1.0.0’.
This commit fixes a performance issue with the strategy used in
79ec651a286c71a3d4c72be33a1f80e76a560031 (the repository was opened,
updated, and traversed a second time by ‘validate-guix-channel’) as well
as a user interface issue (“Updating channel” messages would be printed
too late).
This patch reimplements the check in terms of the existing #:validate-pull
mechanism, which is designed to avoid extra repository operations.
Fixes <https://issues.guix.gnu.org/65788>.
* guix/inferior.scm (cached-channel-instance): Change default value
of #:validate-channels. Remove call to VALIDATE-CHANNELS; pass it
as #:validate-pull to ‘latest-channel-instances’.
* guix/scripts/time-machine.scm (%reference-channels): New variable.
(validate-guix-channel): New procedure, written as a simplification of…
(guix-time-machine)[validate-guix-channel]: … this. Remove.
Pass #:reference-channels to ‘cached-channel-instance’.
Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
Change-Id: I9b0ec61fba7354fe08b04a91f4bd32b72a35460c
| Ludovic Courtès |
2023-11-05 | scripts: edit: Fix relative file-name with 'load-path' option....* guix/scripts/edit.scm (search-path*): Return 'file' if exists when
'search-path' fails.
Change-Id: I891d63d0d28577a7d1732fc59435828ecc0a5c5a
| Simon Tournier |
2023-10-28 | environment: Fix typo in error messages....* guix/scripts/environment.scm (guix-environment*): Fix typo in error
messages.
Change-Id: I0b8669cb43267d0456a70f3b157514a6bcc725e8
| Ludovic Courtès |
2023-10-28 | environment: Parameterize ‘%graft?’ early on....Previously, ‘%graft?’ would be parameterized after ‘package-derivation’
had been called for ‘%guile-for-build’, which is too late.
* guix/scripts/environment.scm (guix-environment*)[with-store/maybe]:
Parameterize ‘%graft?’.
Remove ‘%graft?’ parameterization from body.
Change-Id: I65ef4a8c5f27e19a49196005871e5f7057fabaec
| Ludovic Courtès |
2023-10-28 | environment: Honor ‘-s’ for guile-for-build....Partly fixes <https://issues.guix.gnu.org/65225>.
* guix/scripts/environment.scm (guix-environment*): Pass SYSTEM to
‘package-derivation’ when defining ‘%guile-for-build’.
Reported-by: Simon Tournier <zimon.toutoune@gmail.com>
Change-Id: I9d883f1e61fac72754fdc9dee9b7c8a3dea32add
| Ludovic Courtès |
2023-10-18 | locate: Do not return the system database when it is too old....Fixes a bug whereby ‘guix locate’ would pick the system database, then
decide it’s too old, try to update it, and fail because it’s not
writable by unprivileged users.
Fixes <https://issues.guix.gnu.org/66612>.
* guix/scripts/locate.scm (file-age): New procedure.
(suitable-database): Add ‘age-update-threshold’ parameter and honor it.
(guix-locate): Remove ‘file-age’. Pass ‘age-update-threshold’ to the
‘database’ option.
Reported-by: Matt Wette <matt.wette@gmail.com>
| Ludovic Courtès |
2023-10-17 | scripts: weather: Handle EPIPE errors when displaying help....* guix/scripts/weather.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: upgrade: Handle EPIPE errors when displaying help....* guix/scripts/upgrade.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: time-machine: Handle EPIPE errors when displaying help....* guix/scripts/time-machine.scm (%options): Handle EPIPE errors when
displaying help.
| Simon Tournier |
2023-10-17 | scripts: substitute: Handle EPIPE errors when displaying help....* guix/scripts/substitute.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: system: Handle EPIPE errors when displaying help....* guix/scripts/system.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: style: Handle EPIPE errors when displaying help....* guix/scripts/style.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: size: Handle EPIPE errors when displaying help....* guix/scripts/size.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: show: Handle EPIPE errors when displaying help....* guix/scripts/show.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: shell: Handle EPIPE errors when displaying help....* guix/scripts/shell.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: search: Handle EPIPE errors when displaying help....* guix/scripts/search.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: repl: Handle EPIPE errors when displaying help....* guix/scripts/repl.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: remove: Handle EPIPE errors when displaying help....* guix/scripts/remove.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: refresh: Handle EPIPE errors when displaying help....* guix/scripts/refresh.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: pull: Handle EPIPE errors when displaying help....Reported by Mathieu Othacehe <othacehe@gnu.org>.
* guix/scripts/pull.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |
2023-10-17 | scripts: publish: Handle EPIPE errors when displaying help....* guix/scripts/publish.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: processes: Handle EPIPE errors when displaying help....* guix/scripts/processes.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: package: Handle EPIPE errors when displaying help....Reported by Mathieu Othacehe <othacehe@gnu.org>.
* guix/scripts/package.scm (%options): Handle EPIPE errors when displaying
help.
| Simon Tournier |
2023-10-17 | scripts: pack: Handle EPIPE errors when displaying help....* guix/scripts/pack.scm (%options): Handle EPIPE errors when displaying help.
| Simon Tournier |