Age | Commit message (Collapse) | Author |
|
* guix/scripts/deploy.scm (guix-deploy): Add the --roll-back option.
(show-what-to-deploy): Add #:roll-back? argument.
(roll-back-machine*): New function.
(show-help): Document the --roll-back option.
* doc/guix.texi (Invoking guix deploy): Document the --roll-back option.
Change-Id: Ic5084f287aefb2d1d28380ca4ba1c6971cb913e7
|
|
* guix/import/utils.scm (find-version): New procedure.
* guix/scripts/refresh.scm (<update-spec>) [partial?]: New field.
(update-spec-partial?): New accessor.
(update-spec): Add a PARTIAL? optional argument.
(update-specification->update-spec) <update-spec>: Call with its new PARTIAL?
optional argument when FALLBACK-VERSION is provided, i.e. when
'--target-version' was used.
(update-package): Remove the PACKAGE and VERSION positional arguments, and
replace them with UPDATE-SPEC. Update doc. Call `package-update' with its
new #:partial-version? argument.
(check-for-package-update) <package-latest-release>: Pass the new
#:partial-version? argument to it.
(guix-refresh) <update-package>: Adjust call accordingly.
(show-help): Udate doc.
* guix/upstream.scm (package-latest-release): Add #:partial-version? argument,
and apply it to the importer call.
(package-update): Add #:partial-version?> argument. Update doc. Pass it to
the `package-latest-release' call.
* guix/gnu-maintenance.scm (rewrite-url): Add #:partial-version? argument.
Update doc. Crawl URL for newer compatible versions when provided.
(import-html-release): Add #:partial-version? argument, and pass it to the
`rewrite-url' call. Use `find-version' to find the best version.
(import-release, import-ftp-release, import-gnu-release)
(import-release*): Add #:partial-version? argument and honor it.
(import-html-updatable-release): Add #:partial-version? argument, and pass it
to the `import-html-release' call.
* guix/import/gnome.scm (import-gnome-release)
<#:partial-version?>: Add new argument and honor it.
* guix/import/texlive.scm (latest-texlive-tag): Rename to...
(texlive-tags): ... this, and have it return all tags.
(texlive->guix-package): Adjust accordingly.
(latest-release): Add a #:partial-version? argument. Update doc.
* guix/import/stackage.scm (latest-lts-release): New #:partial-version?
argument.
* guix/import/pypi.scm (import-release): New #:partial-version? argument; pass
it to `pypi-package->upstream-source'.
* guix/import/opam.scm (latest-release): New #:partial-version? argument.
* guix/import/minetest.scm (latest-minetest-release): New #:partial-version?
argument.
(pypi-package->upstream-source): New #:partial-version? argument. Update doc.
* guix/import/launchpad.scm (latest-released-version): Rename to...
(release-versions): ... this, making it return all versions.
(import-release) <#:partial-version?>: New argument.
* guix/import/kde.scm (import-kde-release)
<#:partial-version?>: New argument. Update doc. Refactor to honor argument.
* guix/import/hexpm.scm (lookup-hexpm): Update doc.
(hexpm-latest-release): Rename to...
(hexpm-releases): ... this; return all release strings.
(hexpm->guix-package): Adjust accordingly.
(import-release): Add and honor a #:partial-version? argument. Update doc.
* guix/import/hackage.scm (import-release): New #:partial-version? argument.
* guix/import/cpan.scm (latest-release): New #:partial-version? argument.
* guix/import/crate.scm (max-crate-version-of-semver): Improve doc.
(import-release): Add a #:partial-version? argument and honor it.
* guix/import/egg.scm (find-latest-version): Rename to...
(get-versions): ... this, returning all versions.
(egg-metadata): Adjust accordingly.
(egg->guix-package): Likewise.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/elpa.scm (latest-release): New #:partial-version? argument.
* guix/import/gem.scm (get-versions): New procedure.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/git.scm (version-mapping): Update doc; streamline a bit.
(latest-tag): Rename to...
(get-tags): ... this, dropping the #:version keyword and returning the complete
tags alist. Update doc.
(latest-git-tag-version): Rename to...
(get-package-tags): ... this, returning the complete tags alist of the
package. Update doc.
(import-git-release): Add a new #:partial-version? argument and honor it.
Update doc.
* guix/import/github.scm (latest-released-version): Rename to...
(get-package-tags): ... this, returning all tags. Update doc.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/cran.scm (latest-cran-release)
(latest-bioconductor-release): Add #:partial-version? argument.
* guix/import/composer.scm (latest-version): Delete procedure.
(composer-fetch): Add #:partial-version? keyword and honor it. Update doc.
(import-release): Likewise.
* guix/import/test.scm (import-release): Add #:partial-version? argument.
* tests/guix-refresh.sh: Add test.
* tests/gem.scm (test-foo-versions-json): New variable.
(package-latest-release): Mock new URL.
* tests/import-git.scm (latest-git-tag-version): New procedure.
* tests/gnu-maintenance.scm (libuv-dist-html)
(libuv-dist-1.46.0-html, libuv-dist-1.44.2-html)
(libuv-html-data): New variables.
(mock-http-fetch/cached): New procedure.
("rewrite-url, without to-version"): Rewrite using the above.
("rewrite-url, partial to-version"): New test.
* doc/guix.texi <"Invoking guix refresh">: Update doc.
Series-to: 75871@debbugs.gnu.org
Change-Id: I092a58b57ac42e54a2fa55e7761e8c6993af8ad4
|
|
Previously to this change, the 'guix refresh' download
policy (--key-download)would default to 'interactive', which would throw a
backtrace when guix was invoked with its stdin not connected to a peusdo
terminal (tty). This change makes the new default value 'auto' use
interactive only in an interactive environment, with 'always' used as
fallback.
* doc/guix.texi (Invoking guix refresh): Adjust doc.
* etc/completion/fish/guix.fish: Adjust accordingly.
* etc/completion/zsh/_guix (_guix_list_installed_packages): Likewise.
* guix/gnupg.scm (gnupg-verify*): Change default #:key-download argument value
to 'auto. Update doc. Validate argument. Raise an error in case read-line
returns #<eof>.
* guix/import/gnu.scm (gnu-package->sexp): <#:key-download>: Change default
value to 'auto.
* guix/import/gnu.scm (gnu->guix-package): <#:key-download>: Likewise.
* guix/scripts/import/gnu.scm (%options): Add "auto" to accepted
--key-download values.
(%default-options): Set default key-download option to the 'auto value.
(show-help): Update doc.
* guix/scripts/refresh.scm (show-help): Update doc.
(update-package) <#:key-download>: Change default value to 'auto. Update doc.
* guix/upstream.scm (download-tarball): <#:key-download>: Likewise.
(package-update): Likewise.
Change-Id: Id1ca8fd6d453ca4bc5b372534445e3beab9133a8
Fixes: https://issues.guix.gnu.org/76112
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/time-machine.scm: Remove unused binding from #:select.
Change-Id: I2e6ff09f02659a8967d10f98ad30d638808dbf1c
|
|
* guix/build/kconfig.scm (modify-deconfig): Fix spelling of "abbreviation".
* guix/docker.scm (build-docker-image): Fix spelling of "split".
* guix/scripts/pack.scm (docker-image): Fix spelling of "split".
|
|
Change-Id: Ia036217dadc1624c5f0d59fd44f646d46315c1f3
|
|
* guix/scripts/style.scm (order-packages): Only match string literals.
Change-Id: I48a5976930501c20415b5413966b5294958bc23b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/style.scm (order-packages): Match comments before package
S-exp. and its fields. Match in let. Match package/inherit.
* tests/guix-style.sh: Add pkg-baz variable and package/inherit to test.
Change-Id: I48a5976930501c20415b5413966b5294958bc23b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/style.scm (order-packages): Combine package-name and
package-version procedures into package-fields.
(format-whole-file): Do not sort copyright headers or module definition.
Change-Id: I5507bf8ed221f7017f972f0e0e64d149bea4854b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/crate.scm (package-names->package-inputs): Emit comments.
(make-crate-sexp): Make input into comment if missing.
(crate->guix-package): Take #:mark-missing? argument.
[dependency-name+missing+version+yanked]: Mark as missing. Rename from
dependency-name+version+yanked.
[sort-map-dependencies]: Adjust.
[remove-missing+yanked-info]: Remove missing info. Rename from
remove-yanked-info.
* guix/scripts/import/crate.scm (show-help): Explain --mark-missing.
(%options): Add mark-missing option.
(guix-import-crate): Pass mark-missing option as #:mark-missing?.
* doc/guix.texi (Invoking guix import): Document --mark-missing.
* tests/crate.scm ("crate->guix-package-marks-missing-packages"): Add
test.
Change-Id: I065d394e1c04fdc332b8f7f8b9fcbd87c14c6512
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/import/crate.scm (show-help): Reformat and reword
--allow-yanked message.
Change-Id: I43a50b201be86cd71f6ab51a7161e4009d4918bf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/pack.scm (self-contained-appimage): Support localstatedir
option.
Change-Id: I296b3d3e442aa90f36de62a9b23aba4a2c3de9a0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/home.scm (%base-home-services): New variable.
(<home-environment>)[services]: Change default to ‘%base-home-services’.
* guix/scripts/home/import.scm (manifest+configuration-files->code): Use
‘%base-home-services’ by default.
* tests/home-import.scm (match-home-environment-no-services)
(match-home-environment-transformations)
(match-home-environment-no-services-nor-packages)
(match-home-environment-bash-service)
(match-home-environment-bash-service-with-alias): Adjust accordingly.
* doc/he-config-bare-bones.scm: Use ‘%base-home-services’.
* doc/guix.texi (Declaring the Home Environment): Add index entry for
‘%base-home-services’.
Change-Id: Id95ede62b97a976aad138bfc4b63fc0bdf37c7de
|
|
Partially fixes <https://issues.guix.gnu.org/75215>.
* guix/scripts/system/reconfigure.scm (load-system-for-kexec): Catch
exceptions in the gexp. Report them outside.
Reported-by: Luis Guilherme Coelho <lgcoelho@disroot.org>
Change-Id: Iebcdc92e29b8623a55967d58a4f353abab01631a
|
|
This flag is unsupported in Linux 6.6 and causes ‘kexec_file_load’ to
fail with EINVAL.
Fixes <https://issues.guix.gnu.org/75211>.
* guix/scripts/system/reconfigure.scm (kexec-loading-program): Remove
KEXEC_FILE_DEBUG.
* guix/build/syscalls.scm (KEXEC_FILE_DEBUG): Add comment.
Suggested-by: nathan <nathan_mail@nborghese.com>
Reported-by: Simen Endsjø <contact@simendsjo.me>
Change-Id: Ia48be7f4cfa9c6352908e4bea6472cd648f866ed
|
|
This allows rebooting straight into the new system with ‘reboot -k’.
* guix/scripts/system/reconfigure.scm (kexec-loading-program)
(load-system-for-kexec): New procedures.
* gnu/tests/reconfigure.scm (run-kexec-test): New procedure.
(%test-upgrade-kexec): New variable.
* guix/scripts/system.scm (perform-action): Add #:load-for-kexec?.
Call ‘load-system-for-kexec’.
(show-help, %options): Add ‘--no-kexec’.
(%default-options): Add ‘load-for-kexec?’.
(process-action): Honor it and pass it to ‘perform-action’.
* gnu/machine/ssh.scm (deploy-managed-host): Add call to
‘load-system-for-kexec’.
* doc/guix.texi (Invoking guix system): Document it.
Change-Id: I86d11f1c348e4359bc9e73c86e5aebff60fe875c
|
|
This can be tested with:
guix shell libfaketime -- faketime 2019-01-01 \
guix time-machine -q --no-check-certificate
* guix/scripts/time-machine.scm (%options, show-help): Add
‘--no-check-certificate’.
(%default-options): Add ‘verify-certificate?’ key.
(guix-time-machine): Honor it.
Change-Id: I25a29d03d4df78d1618c6a416ec85fd8e90fec6c
|
|
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
|
|
Until now ‘--no-check-certificate’ had no effect when combined with
‘--git’. This can be tested with:
guix shell libfaketime -- faketime 2019-01-01 \
guix download --no-check-certificate --git \
https://git.savannah.gnu.org/git/shepherd.git
* guix/scripts/download.scm (git-download-to-file): Add #:verify-certificate?
and honor it.
(git-download-to-store*): Likewise.
(add-git-download-option): Likewise.
(%options): Likewise.
Change-Id: Ib3905398199d814a02319ed3328eb8a4ed219bd5
|
|
* guix/scripts/deploy.scm (show-help): Add help.
(%options): Add -e and --expression.
(guix-deploy): Use expression and check for invalid flag combinations.
Change-Id: I200c9ff0c9a8c686efff4a21cd33c10429f3c73e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/weather.scm (show-help): Reword help.
Change-Id: I670dc0c8f89b81e2f7f8b5d7a9a05f74b3ac9cdd
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/environment.scm (guix-environment*): Call
'with-status-verbosity' earlier.
Fixes: <https://issues.guix.gnu.org/71298>
Change-Id: I69c7dd1058b44d587312d957312a130a8703cfca
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/substitute.scm (process-query): Attempt to precise the 'update
substitutes' message.
Suggested-by: Tobias Geerinckx-Rice <me@tobias.gr>
Reported-by: Felix Lechner <felix.lechner@lease-up.com>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I7b3f93f32b73a6a6175a035a09ab51a6e74e384b
|
|
* guix/scripts/pack.scm (c-compiler-compiler): Remove exception when
cross-compiling and always build gexp->script for the host.
[toolchain]: Use standard-cross-packages when cross-compiling.
[search-paths]: Use package-search-paths instead of
package-native-search-paths when cross-compiling.
[run]: Use cc-for-target and strip-for-target.
Change-Id: I5503e48b3394fdfee06999f8d1ad82f5f0d9af96
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/build.scm (dependents): Make ‘max-depth’ optional.
Improve docstring.
Change-Id: Ibeffcf15297ecba3d4000b3adb4e3bc7853f6957
|
|
* guix/scripts/system/installer.scm: New file.
* Makefile.am (MODULES)[ENABLE_INSTALLER]: Register it.
(MODULES_NOT_COMPILED)[!ENABLE_INSTALLER]: Likewise.
* guix/scripts/system.scm (show-help): Add help for "installer" sub-command.
(actions): Register "installer".
(guix-system): Invoke `guix-system-installer' sub-command.
* doc/guix.texi (Invoking guix system): Document it.
* gnu/installer.scm (run-installer): Remove "./pre-inst env".
Change-Id: I5a05b941c060682c17d45d871df3cf34e3f8643a
|
|
* guix/scripts/pack.scm (%options): add --file=FILE, but no
shorthand (that’s already taken for format).
* doc/guix.texi (Invoking guix pack): Document it.
Change-Id: I87797fccdf218ead3b7f471a84034e8a8d566245
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/build.scm (dependents): Export.
* etc/upgrade-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
Change-Id: I1b2a2ebd09e559c68da9f25772bf33caacb4c031
|
|
* guix/scripts/build.scm (options->things-to-build)[ensure-manifest]:
New procedure.
Use it.
Change-Id: If64c483d7079f441a296d5bd4e06e67f44cbb7bf
|
|
* guix/scripts/build.scm (show-help, %options): Add ‘--dependents’.
(dependents): New procedure.
(options->things-to-build): Add ‘store’ parameter; honor ‘dependents’
option.
[for-type]: Handle ‘dependents’ type.
(options->derivations): Update call to ‘options->things-to-build’.
* tests/guix-build.sh: Add test.
* doc/guix.texi (Additional Build Options): Document ‘--dependents’.
(Invoking guix refresh): Cross-reference it.
* doc/contributing.texi (Submitting Patches): Mention it.
Change-Id: I00b6d5831e1f1d35dc8b84a82605391d5a8f417c
|
|
* gnu/packages.scm (all-packages): New procedure.
* etc/source-manifest.scm (all-packages): Remove.
* guix/scripts/graph.scm (all-packages): Remove.
* guix/scripts/refresh.scm (all-packages): Remove.
* guix/scripts/weather.scm (all-packages): Remove.
Change-Id: I6072952c4b877b541037ce86402cfb7744eeb0a0
|
|
* guix/scripts/build.scm (show-help, %options): Add ‘-D’.
(options->things-to-build): Change ‘append-map’ to a loop. Honor ‘-D’.
* tests/guix-build.sh: Add test.
* doc/guix.texi (Additional Build Options): Document it.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I99227aadfe861e43c001a4872292bd687b37f5d4
|
|
* guix/scripts/pack.scm (self-contained-appimage): New procedure.
(%formats, show-formats): Add it.
(guix-pack): Honor it.
* doc/guix.texi: Document AppImage pack.
* tests/pack.scm ("appimage", "appimage + localstatedir"): New tests.
Co-authored-by: Noé Lopez <noelopez@free.fr>
Change-Id: I33ebfec623cff1cfcd6f029d2d3054c23ab1949a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/import/cpan.scm (cpan-module->sexp): Return two values.
(cpan->guix-package): Add #:version. Return two values.
(cpan-recursive-import): New procedure.
* guix/scripts/import/cpan.scm (show-help, %options): Add ‘-r’.
(guix-import-cpan): Adjust accordingly.
Change-Id: Id167c7ddd079f4e04650ce7cc1692a9de36cd8fe
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/describe.scm (%vcs-web-views): Add “codeberg.org”.
Change-Id: I6749649f9c73434ba6ed424d049e50e6741b0a11
|
|
* guix/scripts/system.scm (install): When installing the Hurd, invoke
`make-hurd-device-nodes'.
Change-Id: If84d5fe0b5bf4a93452f0b5241650f325d583543
|
|
This fixes running grub-install when using guix system init --target.
* guix/scripts/system/reconfigure.scm (install-bootloader): Use native package
when invoking install-bootloader-program.
Change-Id: I48d80a8dff866ada3625d827dd3036fb966eee9a
|
|
* guix/scripts/environment.scm (setup-fhs): When /bin/cc already exists,
keep it.
Reported-by: Marco Fortina <marco_fortina@hotmail.it>
Change-Id: I73d39d2aa6fbafd236061a0e3b8d1fe327b2bb19
|
|
Until now, using any package transformation would disable the automatic
GC root creation and caching in ‘guix shell’. This change introduces a
finer-grain distinction: a command like:
guix shell --tune inkscape
is now subject to caching, whereas:
guix shell --with-latest=inkscape inkscape
remains non-cacheable.
* guix/transformations.scm (%transformations-with-external-dependencies):
New variable.
(cacheable-transformation-option-key?): New procedure.
* guix/scripts/shell.scm (profile-cached-gc-root): In the
‘transformation-option-key?’ clause, call ‘loop’ when
‘cacheable-transformation-option-key?’ returns true.
Change-Id: I847b661dfea20ecf851db2023a5c7ea8c5b5ca7c
|
|
This is a followup to 0629af7c2a47171fe8699b4d45662e605fea2fa6.
* guix/scripts/build.scm (guix-build): Move ‘urls’ definition
to (assoc-ref opts 'log-file?) case so that the “could not determine
current substitute URLs” warning is not displayed when ‘urls’ is unused.
Change-Id: I9434621b00a80bdbcf54d2a46d1a1e5f49cc7669
|
|
* guix/scripts/style.scm (%options): Fix cli flag expanded name typo.
Change-Id: I6abfb5fd4ba0dc9b58f368437d10ccbe63ae28fa
|
|
Instead of warning, print the profile path of the cached-channel-instance.
* guix/scripts/time-machine.scm (guix-time-machine)[not command-line]: Print
the profile directory.
(show-help): Adjust usage message.
* doc/guix.texi (Invoking guix time-machine): Document it.
Change-Id: Id2c1ded514e6c5af45af9008ad1ef91beb509177
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
That way ‘locate’ is listed in the same category as ‘search’, ‘install’,
etc., which is more consistent.
* guix/scripts/locate.scm (guix-locate): Move to ‘main’ category.
Change-Id: I7f86f1124fedc2c7a9166fe191036530c382bfaf
|
|
* gnu/packages/minetest.scm: Add the ‘GNU Guix’ header comment.
* gnu/packages/notcurses.scm: Likewise.
* gnu/packages/presentation.scm: Likewise.
* gnu/packages/solidity.scm: Likewise.
* guix/build/minetest-build-system.scm: Likewise.
* gnu/packages/vnc.scm: Add missing ‘;’.
* guix/scripts/import/crate.scm: Remove leading newline.
Change-Id: I5294e6067b9348f2929d823a07d4ec335eaa5ecd
|
|
* guix/scripts/build.scm (guix-build): When defining ‘urls’, add
‘substitute-urls’ call.
* doc/guix.texi (Additional Build Options): Adjust ‘--log-file’
documentation.
Change-Id: I40f0647efe64ba3a63a6379b8da80b0da8910f48
|
|
* guix/scripts/style.scm (show-help): Describe option.
(order-packages): Add procedure.
(format-whole-file): Add 'order?' argument.
(%options): Add 'alphabetical-sort' option.
(guix-style): Alphabetically order packages in files.
* tests/guix-style.sh: Test alphabetical ordering.
* doc/guix.texi (Invoking guix style): Document option.
Change-Id: I4aa7c0bd0b6d42529ae7d304587ffb10bf5f4006
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
I'd rather keep the list sorted than call SORT at run time.
We can still switch if committers remain incorrigible.
* guix/scripts/import.scm (importers): Sort.
Change-Id: If358b2d5de2912a33989d776476e9cf4d0b80537
|
|
This works around an occasional issue where substitution stops abruptly
due to “Error in the push function” from GnuTLS, as reported at
<https://issues.guix.gnu.org/71238> by Richard Sent.
* guix/scripts/substitute.scm (call-with-cached-connection): Add
‘error/push-error’ and ‘error/pull-error’ to the list of gnutls-error
values for which the connection is reopened.
Change-Id: Icf079dd10b16739f62fee15bc3d90bab77110576
|
|
* guix/scripts/refresh.scm: Import %final-inputs from (gnu packages base).
Change-Id: Ida99a88fd3305a7971ab7951a15ee5ffde5ddb56
|
|
Fixes <https://issues.guix.gnu.org/issue/65979>.
* guix/hash.scm (%vcs-directories): New variable.
(vcs-file?): Add optional argument for passing VCS kind of the
file/repository.
(file-hash*): Adjust accordingly.
(vcs-file-predicate): New procedure and export it.
* guix/scripts/hash.scm (guix-hash)[file-hash]: Use it.
Change-Id: I8e286c3426ddefd664dc3a471d5a09e309824faa
|