1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-09 06:30:36 +02:00
Commit Graph

7942 Commits

Author SHA1 Message Date
Lars-Dominik Braun
2e3d4f16d4 guix: toml: Fix evaluation of empty inline tables.
* guix/build/toml.scm (eval-toml-file): Add pattern for empty inline table.
* tests/toml.scm ("parse-toml: Empty inline table"): New testcase.

Change-Id: I69663af2a861716acfb801fad4474e029e102a1b
2025-01-20 21:37:36 +01:00
Liliana Marie Prikler
e9b1329470 profiles: emacs-subdirs: Also expand native-comp-eln-load-path.
This patch ensures that the pinned natively compiled Emacs packages can
actually be found in the respective load path.  The rationale for expanding it
mimics the rationale previously applied to load-path for byte compilation: We
want to be able to `guix upgrade' emacs (or similar) without yanking compiled
packages from underneath.

* guix/profiles.scm (emacs-subdirs): Write an additional “line” of code to
deal with ‘native-comp-eln-load-path’.
2025-01-19 13:06:08 +01:00
David Elsing
3331d675fb grafts: Only compute necessary graft derivations.
* guix/packages.scm (input-graft, input-cross-graft): Store the monadic value
of the replacement in the 'replacement' field of <graft> instead of unwrapping
it.
(cumulative-grafts): Turn monadic values in the 'replacement' field of
applicable grafts into derivations.
* tests/packages.scm ("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted"): Do not compare <graft> records directly,
compare the relevant fields instead, calling ‘run-with-store’ on the
‘replacement’ field.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Idded0a402b8974df1ef2354f1a88c308b9b99777
2025-01-19 00:39:17 +01:00
Ludovic Courtès
0aa45f1854 home: Define ‘%base-home-services’.
* 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-16 22:32:11 +01:00
Zheng Junjie
5ae14eb9c8 guix: docker: Support riscv64.
* guix/docker.scm (build-docker-image): Add riscv64 case.

Change-Id: I4b735dfe299818209341e65876fe736046bb30e7
2025-01-16 13:32:49 +08:00
Dariqq
ad672d80d7 build-system: cmake: Rework cross compilation.
Move the extra configure flags for cross building out from the build side code and instead
prepend them to the configure-flags.

Use new procedure cmake-system-name-for-target to add support for hurd and
bare-metal targets.

* guix/build/cmake-build-system.scm (configure): Move cross build flags from
here ...
* guix/build-system/cmake.scm (cmake-cross-build): ... to here.
(cmake-system-name-for-target): New procedure.

Change-Id: Ic68acc246e543491ed147e53d47cec5de46b82cb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-14 14:11:42 +01:00
Ricardo Wurmus
bea2914b3d guix: Do not warn about python-setuptools.
Reported by Jonas Freimuth.

* guix/lint.scm (check-inputs-should-not-be-an-input-at-all): Remove
python-setuptools.

Change-Id: Ic230fd5c00f2a5e07fea430bce6e3cf9d9c8950c
2025-01-13 16:38:15 +01:00
Sharlatan Hellseher
f0adcca9db import/go: Fix #:go formation.
Reported by MSavoritias <email@msavoritias.me> in #74992 "guix import go
package definition is not valid".  This change fixes it: instead of
"#:go 1.22" will produce "#:go go-1.22".

* guix/import/go.scm (go-module->guix-package): Fix format for #:go key
argument.

Change-Id: I9db0688b8e2970f5e90b415966d39b45505b7c8e
2025-01-12 19:39:39 +00:00
宋文武
e74040b73c import: git: Do not search pre-release words in tag prefix.
This fixes tags like 'xfce4-dev-tools-4.20.0'.

* tests/import-git.scm ("latest-git-tag-version: prefix contains pre-release
words"): New test.
* guix/import/git.scm (latest-tag): Don't filter out pre-releases tags.
(version-mapping): Filter out pre-releases tags from versions.
* gnu/packages/xfce.scm (garcon, thunar-archive-plugin, xfce4-dev-tools):
Remove FIXME comments for the 'generic-git' updater.

Change-Id: I7683200fa451d7fad153aa08fa9d5761688de01d
2025-01-12 14:18:03 +08:00
Ludovic Courtès
ab4dc03b67 upstream: Return #f when ‘source-urls’ is a <git-reference>.
Fixes a type error where ‘find2’ could be passed a <git-reference>
instead of a list of strings (URLs).

* guix/upstream.scm (preferred-upstream-source-url): Return #f and #f
when ‘upstream-source-urls’ does not return a pair.

Change-Id: If43a610fac5f3feb871e0900966d65b4971bd053
2025-01-11 23:36:57 +01:00
Efraim Flashner
66a1a1fe22 Merge remote-tracking branch 'origin/rust-team'
Change-Id: Ib21a0ea59fb2ae4e802552057227c636f24a6f8c
2025-01-09 10:54:36 +02:00
Noah Evans
981af99928 syscalls: Add implementation of statfs for guile-static.
This is needed when bind mounting file systems from the initrd guile, or
else you get an error like this:
https://lists.gnu.org/archive/html/help-guix/2021-07/msg00050.html

* guix/build/syscalls.scm (statfs): Add implementation for calling from
guile-static.
* gnu/packages/patches/guile-3.0-linux-syscalls.patch,
gnu/packages/patches/guile-linux-syscalls.patch (statfs-raw): C Function to
support above.

Change-Id: Ibc8f1f27648add90639bd391aff8d61c6a23b884
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-09 00:23:43 +01:00
Ludovic Courtès
c8797e81fb transformations: ‘package-with-upstream-version’ can preserve archive type.
Fixes a discrepancy for ‘url-fetch’ packages where upstream provides
several source tarballs.  For example, for ‘xorg-server’,
‘package-with-upstream-version’ would pick the “tar.gz” tarball even
though the package definition uses “tar.xz”.  It now picks “tar.xz” by
default.

* guix/transformations.scm (package-with-upstream-version):
Add #:preserve-archive-type?.  Call ‘preferred-upstream-source’ to honor
it.

Change-Id: Iefa007aba339d81709faf82b7c52a5a2c7a6aad7
2025-01-08 23:03:04 +01:00
Ludovic Courtès
1b1b921d61 upstream: Define ‘preferred-upstream-source’.
* guix/upstream.scm (preferred-upstream-source): New procedure.
* tests/upstream.scm ("preferred-upstream-source"): New test.

Change-Id: I4b48b44f1aa233d2e99bfe2e1359a670297efae8
2025-01-08 23:03:04 +01:00
Ludovic Courtès
af79677cb4 upstream: Extract ‘preferred-upstream-source-url’.
* guix/upstream.scm (preferred-upstream-source-url): New procedure.
(package-update/url-fetch): Use it.

Change-Id: I229cdf7668567e30ca156b3d65b77c90ead8bb05
2025-01-08 23:03:04 +01:00
Ludovic Courtès
47ef459174 upstream: Switch to SRFI-71.
* guix/upstream.scm (download-tarball, package-update/url-fetch): Use
SRFI-71 instead of SRFI-11.

Change-Id: Ic7ca79b8e1248d01fd48a07faad3a6fa6a1d0c5f
2025-01-08 23:03:04 +01:00
Romain GARBAGE
e94d35e522 docker: Add history field to config.json.
* guix/docker.scm (config): Add history field.

Change-Id: If1d4e9e2ce7673588f9016b389e4c67afa7ac119
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-07 17:51:18 +01:00
Ludovic Courtès
a6642650a7 reconfigure: Make ‘load-system-for-kexec’ errors non-fatal.
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-07 17:44:12 +01:00
Ludovic Courtès
410a359d4a syscalls: Remove wrong syscall ID for ‘kexec_load_file’ on i686.
Fixes <https://issues.guix.gnu.org/75205>.

* guix/build/syscalls.scm (kexec-load-file): Remove syscall ID for i686.
* tests/syscalls.scm ("kexec-load-file"): Accept ENOSYS in addition to
EPERM.

Reported-by: Dariqq <dariqq@posteo.net>
Change-Id: I83fe25636addb57533ed88cbfb40107d265b13a7
2025-01-07 17:44:12 +01:00
Ludovic Courtès
d8b7259197 reconfigure: Do not pass KEXEC_FILE_DEBUG.
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
2025-01-07 17:44:12 +01:00
Herman Rimm
c62d5e77e7 import: texlive: Use downstream-package-name.
* guix/import/texlive.scm (texlive-recursive-import): Use
downstream-package-name.

Change-Id: Ic4ce685e8fc36f0b72797d3ce2d5bc89fc17b7ea
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-06 15:59:21 +01:00
Ludovic Courtès
6b60d9efd7 ui: It’s 2025 now!
* guix/ui.scm (show-version-and-exit): Change year to 2025.

Change-Id: I83bffc752904d20c82afe527097226d8a8aa9170
2025-01-06 15:02:10 +01:00
Simon Tournier
57fa06352e import: go: Warn instead of error out when Git fails.
* guix/import/go.scm (git-checkout-hash): Return some hash although updating
the cache fails.

Change-Id: I87e7701023a5f76f5d1494827473616e6a1275aa
2025-01-06 12:15:17 +01:00
Herman Rimm
1a359b4392 build: cargo-build-system: Use Cargo checksum stubs.
Commit 5b08b8fe1019147fe489db17a9a8ae7ebe97f9e9 of Cargo makes the
package field optional.  This is the case since Rust 1.22.0.

* guix/build/cargo-build-system.scm (patch-cargo-checksums): Create
.cargo-checksum.json stubs.

Change-Id: I474e8f73b6048e53f22a8d899a8e3e50b5332f60
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:22:50 +02:00
Efraim Flashner
fb12dbce49 build/cargo: Use system libsodium by default.
* gnu/packages/cargo-build-system.scm (configure): Add an environment
variable to default to using the system libsodium package.

Change-Id: If4c7de018a60ae5e3fd96e64590acfbc46731d04
2025-01-06 12:22:42 +02:00
Maxim Cournoyer
1997c01437 build/cargo.scm: Remove '--release' from default cargo-test-flags.
The default behavior for 'cargo test' is to build in debug mode, and many test
suites expect support for things provided in this mode such as debug
assertions (see for example:
<https://github.com/google/zerocopy/issues/2143>).

* guix/build-system/cargo.scm (cargo-build): Remove '--release' from
 #:cargo-test-flags.
* guix/build/cargo-build-system.scm (check): Likewise.

Change-Id: I8a659c25bd33bc1bdfd88e440bd00bad09a5fc01
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:15:09 +02:00
Maxim Cournoyer
0b2a66393c build/cargo: Resolve byte compilation warning.
* guix/build/cargo-build-system.scm: Hide `delete' symbol from (guix build
utils) import.

Change-Id: I75f0109a1a0984deb9888ec1c2b71cea4de22c76
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:58 +02:00
Maxim Cournoyer
9947252442 build/cargo: Honor #:parallel-build? and #:parallel-tests? arguments.
* guix/build-system/cargo.scm (cargo-build): Add #:parallel-build? and
 #:parallel-tests? arguments.
(cargo-cross-build): Likewise.
* guix/build/cargo-build-system.scm (build): Honor them.
(check): Likewise.

Change-Id: Idbee7aa3a6a7cd0fc222082837390b83cc8e8c07
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:58 +02:00
Maxim Cournoyer
e8ef2371e9 build/cargo: Delete trailing #t in phases.
* guix/build/cargo-build-system.scm (unpack-rust-crates): Delete trailing #t.
(configure, patch-cargo-checksums, package, install): Likewise.

Change-Id: I510a46b3d35cd292d71d5646d4a0436f7d77f98e
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:58 +02:00
Herman Rimm
3988966904 build-system: cargo: Accept unlabeled #:cargo-inputs.
* guix/build-system/cargo.scm (crate-closure): Match unlabeled inputs.

Change-Id: Iae421281fa08d09ddd1e5d2da2864f0093d97cd1
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:57 +02:00
Efraim Flashner
937fd724f1 build-system: cargo: Use platform-rust-target.
* guix/build-system/cargo.scm (cargo-triplet): New procedure.
(cargo-build, cargo-cross-build): Add cargo-target.
(lower): Add cargo-target as private keyword.
* guix/build/cargo-build-system.scm (configure): Use cargo-target to set
CARGO_BUILD_TARGET.

Change-Id: I476fa195dce0e9d20d59dda7dd15f050a56a15cb
2025-01-06 12:14:09 +02:00
Efraim Flashner
67950f46ef import: crate: Make it clearer when a crate has been yanked.
* guix/import/crate.scm (make-crate-sexp): If a crate has been yanked
then adjust the returned package's source file-name with 'yanked' as
part of the name.

Change-Id: Ib3d16ff2e89a75a7a0755c1f336abadba0189666
2025-01-06 12:14:08 +02:00
Ludovic Courtès
d7c8a5ff3c guile-launcher: Avoid the “C” locale and try “C.UTF-8”.
This is a followup to ed0cd12a82, which
adds the C.UTF-8 locale to the glibc package, and
ee4e79f871, which changed the default to
“C.UTF-8” for ‘guix’ commands.

Fixes a bug whereby starting ‘guix’ in an environment where the LC_*
variables are unset would start it in the “C” locale:

  echo '(pk (setlocale LC_ALL))' | guix shell -CW coreutils -- guix repl

This would lead to breakage for commands such as ‘guix substitute’ that
need to run in a UTF-8 locale.

* gnu/packages/aux-files/guile-launcher.c (main): Try “C.UTF-8” before
“en_US.UTF-8”.  Do that also when the current locale is “C”.
* guix/ui.scm (install-locale): Likewise.

Change-Id: I36da4db8f898f1083b33760e1ab46c3a257de811
2025-01-04 23:35:40 +01:00
Hilton Chain
f31b9df0f8 build/zig: Output verbosely.
* guix/build/zig-build-system.scm (build,check): Add "--verbose" flag.

Change-Id: I3339496156f9a194cbe928ae4b5a01eb65cbdf08
2024-12-31 10:56:35 +08:00
Hilton Chain
bdff1941e5 gnu: zig: Default to zig-0.13.
* guix/build-system/zig.scm (#:parallel-build?,#:parallel-tests?):
New arguments.
* guix/build/zig-build-system.scm (zig-arguments): New procedure.
(bulid): Use it and honor #:parallel-build?.
(check): Use it and honor #:parallel-tests?.
* gnu/packages/zig.scm (zig): Define as zig-0.13.
* gnu/packages/ncdu.scm (ncdu)[arguments]<#:zig>: Unset.
<#:zig-release-type>: Set to "safe".
<#:zig-build-flags>: Add "-Dpie".
* gnu/packages/zig-xyz.scm (river)[arguments]<#:zig>: Use zig-0.10.
(zig-zls)[arguments]<#:zig>: Use zig-0.10.
<#:zig-release-type>: Set to "safe".

Change-Id: I1f0087ff39ea9fecb2ad911019d0525f1e6285f6
2024-12-31 10:56:34 +08:00
Hilton Chain
5ce59e0413 build-system: zig: Support Zig package manager.
* guix/build-system/zig.scm (zig-build,zig-cross-build)
[#:install-source?,#:skip-build?]: New arguments.
[#:tests?]: Honor #:skip-build?.
* guix/build/zig-build-system.scm (zig-source-install-path)
(zig-input-install-path,unpack-dependencies): New procedures.
(%standard-phases): Add 'unpack-dependencies.
(build,install): Honor #:skip-build?.
* doc/guix.texi (Build Systems)[zig-build-system]: Update documentation.
* gnu/packages/zig.scm (zig-0.9)[native-search-paths]: Add
GUIX_ZIG_PACKAGE_PATH.
Use search paths defined in (guix search-paths).
(add-build.zig.zon,rename-zig-dependencies): New procedures.
* gnu/packages/ncdu.scm (ncdu)[arguments]: Don't install source.
* gnu/packages/zig-xyz.scm (river,tigerbeetle,zig-zls)[arguments]: Likewise.
2024-12-31 10:56:34 +08:00
Hilton Chain
3ef8c9307c gnu: zig: Build reproducibly.
* guix/build/zig-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/zig.scm (%zig-build-system-modules): Add it.
(zig-build,zig-cross-build): Add #:zig-build-target.
* guix/build/zig-build-system.scm (zig-target): Move to (guix build zig-utils).
(configure): Move to (guix build zig-utils) as zig-configure.
(build): Replace target with zig-build-target.
(%standard-phases): Adjust accordingly.
* gnu/packages/zig.scm (zig-0.9)[arguments]<#:imported-modules,#:modules>: Add
zig-build-system modules.
<#:configure-flags>: Set ZIG_TARGET_TRIPLE for native builds too.
Move applicable flags from zig-0.10 here.
<#:phases>: Apply 'zig-configure.
Unset ZIG_LIBC in 'check.
Remove 'set-cache-dir.
(zig-0.10)[arguments]<#:configure-flags>: Adjust accordingly.
(zig-0.10.0-610)[arguments]<#:configure-flags>: Remove ZIG_TARGET_TRIPLE.
2024-12-31 10:56:34 +08:00
Efraim Flashner
a6d9faf7dc gnu: zig: Respect the PKG_CONFIG environment variable.
* gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.10-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.11-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.12-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.13-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/zig.scm (zig-0.9,zig-0.10,zig-0.11,zig-0.12,zig-0.13)[source]:
Add patches.
* guix/build/zig-build-system.scm (configure): set PKG_CONFIG.

Change-Id: I0abf871c6990144fc472191bf1167aa2fc765161
Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-31 10:56:34 +08:00
Efraim Flashner
18b7fce25c build/zig: Adjust the build triplets for some systems.
* guix/build/zig-build-system.scm (zig-target): New procedure.
(build): Use it to set the target when cross-compiling.

Change-Id: Ic82253ce899055526e894a0cb67738ddbb476574
Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-31 10:56:34 +08:00
Hilton Chain
6fc811d02a build/zig: Really support cross compilation.
* guix/build/zig-build-system.scm (configure): New procedure.
(set-cc,set-zig-global-cache-dir): Delete procedures.
(%standard-phases): Adjust accordingly.

Change-Id: I08d15add2b249f7016f9cbb07f151ecf469fe656
2024-12-31 10:56:33 +08:00
Noé Lopez
3ea95d7736 pack: Fix type error in ‘assert-utf8-locale’.
getenv returns #f if the environment variable does not exist, causing a type
error since string=? expects a string.

* guix/build/pack.scm (assert-utf8-locale): Handle unset environment variable.

Change-Id: Idbe7a33a4c8453b8f4ffe6245c32c1373020fb06
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Herman Rimm
f6b85da0b9 import: utils: Move downstream-package-name to (guix utils).
* guix/import/elpa.scm: Import (guix utils).
* guix/import/texlive.scm: Import (guix utils).
* guix/import/utils.scm (downstream-package-name): Move to ...
* guix/utils.scm (downstream-package-name): ... here.

Change-Id: If56a452f64ed06c8bb06a96a283a5067cb54d602
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Herman Rimm
01c4e02e33 import: texlive: Remove guix-name.
* guix/import/texlive.scm (guix-name): Remove.
(list-upstream-inputs, tlpdb->package): Use downstream-package-name.

Change-Id: I8f04d27a42f762c5604cb8874042fabbbe1e9873
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Herman Rimm
a805c60151 import: utils: Rename guix-name to downstream-package-name.
* guix/import/cran.scm (cran-guix-name): Adjust.
* guix/import/crate.scm (crate-name->package-name): Adjust.
* guix/import/elpa.scm (elpa-guix-name): Adjust.
* guix/import/npm-binary.scm (npm-name->name): Adjust.
* guix/import/utils.scm (downstream-package-name): Add procedure.
[description]: Use definite article, uppercase 'name' argument.
(guix-name): Deprecate.

Change-Id: I374892be18fbeaae1bc051b8d0c79ca4c33ed8c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30 13:49:57 +01:00
Ludovic Courtès
4ebc1aba19 import: pypi: Preserve order of dependencies from ‘requires.txt’ and wheel.
Fixes a regression introduced in
a3ffb920f1 and revealed by
‘tests/pypi.scm’.

* guix/import/pypi.scm (parse-requires.txt): Reverse REQUIRED-DEPS and
TEST-DEPS when returning.
(parse-wheel-metadata): Likewise.

Change-Id: I2c374505052f0d9e46e7cc1c11d3e97ab522e068
2024-12-30 11:01:54 +01:00
Ludovic Courtès
1305f78d05 reconfigure: Support loading the system for kexec reboot.
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-28 22:47:34 +01:00
Ludovic Courtès
5c9029dc79 syscalls: Add ‘kexec-load-file’.
* guix/build/syscalls.scm (string->utf-8/nul-terminated)
(kexec-load-file): New procedures.
* tests/syscalls.scm ("kexec-load-file"): New test.

Change-Id: I3724226a14ecc07f346e77519fb5b0591096c7f6
2024-12-28 22:32:38 +01:00
Ludovic Courtès
e16cdcf37d time-machine: Add ‘--no-check-certificate’.
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-25 23:51:10 +01:00
Ludovic Courtès
370a0c062f inferior: Add #:verify-certificate? to ‘cached-channel-instance’.
* guix/inferior.scm (channel-full-commit): Add #:verify-certificate?
and pass it on.
(cached-channel-instance): Likewise.

Change-Id: I9882660ac9eee2c4d9bb5e227979fd8de10555b1
2024-12-25 23:51:10 +01:00
Ludovic Courtès
7d235a6799 pull: Add ‘--no-check-certificate’.
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-25 23:51:10 +01:00