summaryrefslogtreecommitdiff
path: root/guix/scripts
AgeCommit message (Collapse)Author
2025-03-01deploy: Add --roll-back option.Arun Isaac
* 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
2025-02-28refresh: Add support for partial target versions.Maxim Cournoyer
* 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
2025-02-28gnupg: Automatically fallback to 'always policy when non-interactive.Maxim Cournoyer
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>
2025-02-24time-machine: Remove unused binding from #:select.Ludovic Courtès
* guix/scripts/time-machine.scm: Remove unused binding from #:select. Change-Id: I2e6ff09f02659a8967d10f98ad30d638808dbf1c
2025-02-20guix: Fix typos.Vagrant Cascadian
* 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".
2025-02-19guix: Fix some misspellings.Efraim Flashner
Change-Id: Ia036217dadc1624c5f0d59fd44f646d46315c1f3
2025-02-09scripts: style: Only sort packages with string literal name.Herman Rimm
* guix/scripts/style.scm (order-packages): Only match string literals. Change-Id: I48a5976930501c20415b5413966b5294958bc23b Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-02-09scripts: style: Sort more kinds of package definitions.Herman Rimm
* 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>
2025-02-09scripts: style: Refactor order-packages.Herman Rimm
* 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>
2025-02-09import: crate: Comment out missing dependencies.Herman Rimm
* 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>
2025-02-09scripts: import: crate: show-help: Reformat.Herman Rimm
* 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>
2025-01-24pack: Support localstatedir in AppImage format.Noé Lopez
* guix/scripts/pack.scm (self-contained-appimage): Support localstatedir option. Change-Id: I296b3d3e442aa90f36de62a9b23aba4a2c3de9a0 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16home: Define ‘%base-home-services’.Ludovic Courtès
* 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
2025-01-07reconfigure: Make ‘load-system-for-kexec’ errors non-fatal.Ludovic Courtès
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
2025-01-07reconfigure: Do not pass KEXEC_FILE_DEBUG.Ludovic Courtès
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
2024-12-28reconfigure: Support loading the system for kexec reboot.Ludovic Courtès
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
2024-12-25time-machine: Add ‘--no-check-certificate’.Ludovic Courtès
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
2024-12-25pull: Add ‘--no-check-certificate’.Ludovic Courtès
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
2024-12-25guix download: Honor ‘--no-check-certificate’ for ‘--git’.Ludovic Courtès
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
2024-12-23deploy: Add ‘--expression’.Richard Sent
* 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>
2024-12-23weather: Reword the help message for the expression flag.Richard Sent
* guix/scripts/weather.scm (show-help): Reword help. Change-Id: I670dc0c8f89b81e2f7f8b5d7a9a05f74b3ac9cdd Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18environment: Suppress all output with --verbosity=0Brian Kubisiak
* 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>
2024-12-18scripts/substitute: Refine 'updating substitutes' message.Maxim Cournoyer
* 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
2024-12-16pack: Allow cross-compiling with '--relocatable'.Brian Kubisiak
* 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>
2024-12-12guix build: Last argument of ‘dependents’ is optional.Ludovic Courtès
* guix/scripts/build.scm (dependents): Make ‘max-depth’ optional. Improve docstring. Change-Id: Ibeffcf15297ecba3d4000b3adb4e3bc7853f6957
2024-12-03system: Add "installer" sub-command.Janneke Nieuwenhuizen
* 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
2024-12-02pack: Add ‘--file=FILE’ with the same meaning as for ‘guix build’.Arne Babenhauserheide
* 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>
2024-12-01etc: Add upgrade manifest.Ludovic Courtès
* guix/scripts/build.scm (dependents): Export. * etc/upgrade-manifest.scm: New file. * Makefile.am (EXTRA_DIST): Add it. Change-Id: I1b2a2ebd09e559c68da9f25772bf33caacb4c031
2024-12-01guix build: Validate that the file passed to ‘-m’ returns a manifest.Ludovic Courtès
* guix/scripts/build.scm (options->things-to-build)[ensure-manifest]: New procedure. Use it. Change-Id: If64c483d7079f441a296d5bd4e06e67f44cbb7bf
2024-12-01guix build: Add ‘--dependents’.Ludovic Courtès
* 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
2024-12-01packages: Factorize ‘all-packages’.Ludovic Courtès
* 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
2024-12-01guix build: Add ‘--development’ option.Ludovic Courtès
* 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
2024-11-23pack: Add support for AppImage pack format.Sebastian Dümcke
* 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>
2024-11-23import: cpan: Support recursive imports.zero@fedora
* 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>
2024-11-14describe: Add hyperlinks for codeberg.org commits.Ludovic Courtès
* guix/scripts/describe.scm (%vcs-web-views): Add “codeberg.org”. Change-Id: I6749649f9c73434ba6ed424d049e50e6741b0a11
2024-11-11guix system: When installing the Hurd, create essential devices.Janneke Nieuwenhuizen
* guix/scripts/system.scm (install): When installing the Hurd, invoke `make-hurd-device-nodes'. Change-Id: If84d5fe0b5bf4a93452f0b5241650f325d583543
2024-11-11reconfigure: Use native bootloader package for running the installer.Janneke Nieuwenhuizen
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
2024-10-24environment: Gracefully handle preexistence of /bin/cc in FHS.Ludovic Courtès
* guix/scripts/environment.scm (setup-fhs): When /bin/cc already exists, keep it. Reported-by: Marco Fortina <marco_fortina@hotmail.it> Change-Id: I73d39d2aa6fbafd236061a0e3b8d1fe327b2bb19
2024-10-22shell: Enable caching when using deterministic package transformations.Ludovic Courtès
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
2024-10-15guix build: Avoid “could not determine …” warning when unnecessary.Ludovic Courtès
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
2024-10-14style: Fix cli flag typo.Aaron Covrig
* guix/scripts/style.scm (%options): Fix cli flag expanded name typo. Change-Id: I6abfb5fd4ba0dc9b58f368437d10ccbe63ae28fa
2024-10-07time-machine: Print profile path if no command is given.Tomas Volf
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>
2024-10-04locate: Move to ‘main’ category.Ludovic Courtès
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
2024-09-08Add some missing header comment header comments.Tobias Geerinckx-Rice
* 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
2024-09-06guix build: ‘--log-file’ honors the configured substitute URLs.Ludovic Courtès
* 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
2024-09-03scripts: style: Add 'alphabetical-sort' option.Herman Rimm
* 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>
2024-08-25import: Order importers alphabetically in ‘--help’ output.Tobias Geerinckx-Rice
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
2024-08-31substitute: Reopen connection upon “Error in the push function” from GnuTLS.Ludovic Courtès
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
2024-08-31refresh: Import %final-inputs from (gnu packages base).Maxim Cournoyer
* guix/scripts/refresh.scm: Import %final-inputs from (gnu packages base). Change-Id: Ida99a88fd3305a7971ab7951a15ee5ffde5ddb56
2024-07-23scripts: hash: Handle repository with different VCS folders.Simon Tournier
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