<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests, branch wip-riscv-bootstrap</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>scripts: substitute: Default to fast decompression.</title>
<updated>2026-01-28T17:45:33+00:00</updated>
<author>
<name>Christopher Baines</name>
<email>mail@cbaines.net</email>
</author>
<published>2026-01-15T18:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1c230ec96e29e3f70ddf217e93c448f6f037a470'/>
<id>1c230ec96e29e3f70ddf217e93c448f6f037a470</id>
<content type='text'>
This changes the behaviour for the first one or few nars the substitute script
downloads, with uncompressed and zstd compressed nars prefered rather than
picking by file size.

* guix/scripts/substitute.scm: (%default-fast-decompression?): Change to #t.
* tests/substitute.scm ("substitute, preferred nar URL is 404, other is 200"):
Adjust test.

Change-Id: I89202f084cd6b9d506bcb3d46f75de690c6986b5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the behaviour for the first one or few nars the substitute script
downloads, with uncompressed and zstd compressed nars prefered rather than
picking by file size.

* guix/scripts/substitute.scm: (%default-fast-decompression?): Change to #t.
* tests/substitute.scm ("substitute, preferred nar URL is 404, other is 200"):
Adjust test.

Change-Id: I89202f084cd6b9d506bcb3d46f75de690c6986b5
</pre>
</div>
</content>
</entry>
<entry>
<title>transformations: Add ‘--amd-gpu’ transformation option.</title>
<updated>2026-01-25T20:25:40+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-01-13T08:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0c5d65d5400c6193571972451083baa66265ec5a'/>
<id>0c5d65d5400c6193571972451083baa66265ec5a</id>
<content type='text'>
* guix/transformations.scm (split-on-commas): New procedure, moved from…
(transform-package-toolchain): … here.
(package-amd-gpu-specialization, transform-package-amd-gpu-targets): New
procedures.
(%transformations, %options): Add ‘amd-gpu’.
* tests/transformations.scm ("options-&gt;transformations, amd-gpu")
("options-&gt;transformations, amd-gpu, not applicable")
("options-&gt;transformations, amd-gpu, missing clang-rocm input")
("options-&gt;transformations, amd-gpu, wrong GPU"): New tests.
* doc/guix.texi (Package Transformation Options): Document it.

Change-Id: I56bf0dffbf12bc08cf6318fe56952473b395c303
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #5583
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/transformations.scm (split-on-commas): New procedure, moved from…
(transform-package-toolchain): … here.
(package-amd-gpu-specialization, transform-package-amd-gpu-targets): New
procedures.
(%transformations, %options): Add ‘amd-gpu’.
* tests/transformations.scm ("options-&gt;transformations, amd-gpu")
("options-&gt;transformations, amd-gpu, not applicable")
("options-&gt;transformations, amd-gpu, missing clang-rocm input")
("options-&gt;transformations, amd-gpu, wrong GPU"): New tests.
* doc/guix.texi (Package Transformation Options): Document it.

Change-Id: I56bf0dffbf12bc08cf6318fe56952473b395c303
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #5583
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Adjust to Guile 3.0.10+.</title>
<updated>2026-01-25T20:23:25+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-01-03T21:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d118a89d62ef1e85199f90a1267e555b49d38ee8'/>
<id>d118a89d62ef1e85199f90a1267e555b49d38ee8</id>
<content type='text'>
Guile 3.0.11 introduced a new implementation of (srfi srfi-34) with subtle
changes wrt. exceptionm handling.  This adjusts to these changes.

Changes in ‘tests/style.scm’ are due to the new output of (ice-9 pretty-print)
in 3.0.10.

* tests/file-systems.scm ("btrfs-store-subvolume-file-name (subvolid)"):
Specify the exception type.
* tests/services/file-sharing.scm ("transmission-password-hash, salt value too short")
("transmission-password-hash, salt value too long"): Likewise.
* tests/store.scm ("store-path-package-name #f"): Change to ‘test-error’
with #t as the exception type.
* tests/style.scm: Skip all the tests on Guile &gt; 3.0.9.
* tests/toml.scm &lt;top level&gt;: Set ‘raise’ in (guix build toml).
("parse-toml: No key"): Use ‘test-error’ instead of ‘test-equal’.
("parse-toml: Assignment to non-table"): Likewise.
("parse-toml: Invalid assignment to implicit table"): Change exception type
to #t
("parse-toml: Assignment to statically defined array"): Likewise.

Change-Id: I54ea77f22d3e95f72dad90690631876e7f013054
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Guile 3.0.11 introduced a new implementation of (srfi srfi-34) with subtle
changes wrt. exceptionm handling.  This adjusts to these changes.

Changes in ‘tests/style.scm’ are due to the new output of (ice-9 pretty-print)
in 3.0.10.

* tests/file-systems.scm ("btrfs-store-subvolume-file-name (subvolid)"):
Specify the exception type.
* tests/services/file-sharing.scm ("transmission-password-hash, salt value too short")
("transmission-password-hash, salt value too long"): Likewise.
* tests/store.scm ("store-path-package-name #f"): Change to ‘test-error’
with #t as the exception type.
* tests/style.scm: Skip all the tests on Guile &gt; 3.0.9.
* tests/toml.scm &lt;top level&gt;: Set ‘raise’ in (guix build toml).
("parse-toml: No key"): Use ‘test-error’ instead of ‘test-equal’.
("parse-toml: Assignment to non-table"): Likewise.
("parse-toml: Invalid assignment to implicit table"): Change exception type
to #t
("parse-toml: Assignment to statically defined array"): Likewise.

Change-Id: I54ea77f22d3e95f72dad90690631876e7f013054
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>import: nuget: Add tests and documentation.</title>
<updated>2026-01-19T18:21:52+00:00</updated>
<author>
<name>Danny Milosavljevic</name>
<email>dannym@friendly-machines.com</email>
</author>
<published>2026-01-09T22:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=811ee1ab9fb585130fe0c27df03f10dc21b1e7f7'/>
<id>811ee1ab9fb585130fe0c27df03f10dc21b1e7f7</id>
<content type='text'>
* guix/import/nuget.scm: Prevent optimizing small functions away completely.
* tests/import/nuget.scm: New file.
* doc/guix.texi (nuget): Document it.
* Makefile.am (SCM_TESTS): Add reference to it.

Fixes: guix/guix#5483
Change-Id: Id58932fe404a11a03e61a91d3b6177b39548f1bc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/import/nuget.scm: Prevent optimizing small functions away completely.
* tests/import/nuget.scm: New file.
* doc/guix.texi (nuget): Document it.
* Makefile.am (SCM_TESTS): Add reference to it.

Fixes: guix/guix#5483
Change-Id: Id58932fe404a11a03e61a91d3b6177b39548f1bc
</pre>
</div>
</content>
</entry>
<entry>
<title>import: crate: Generate comments with ‘TODO REVIEW:’ prefix.</title>
<updated>2026-01-18T09:13:38+00:00</updated>
<author>
<name>Hilton Chain</name>
<email>hako@ultrarare.space</email>
</author>
<published>2025-11-30T09:00:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=01b97dff35a1841152c1e2999de06c6fdf51e7c1'/>
<id>01b97dff35a1841152c1e2999de06c6fdf51e7c1</id>
<content type='text'>
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock-&gt;expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #4567
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock-&gt;expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #4567
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: services: Name xorg tests.</title>
<updated>2026-01-01T11:36:38+00:00</updated>
<author>
<name>Ian Eure</name>
<email>ian@retrospec.tv</email>
</author>
<published>2025-12-31T18:22:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=68e9cb0d21b49a728581ab41f9de0a14025329f5'/>
<id>68e9cb0d21b49a728581ab41f9de0a14025329f5</id>
<content type='text'>
* tests/services/xorg.scm: Name tests.

Change-Id: I7be7438a69a5d55d5904c3b76a2888393291b6bb
Signed-off-by: Efraim Flashner &lt;efraim@flashner.co.il&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/services/xorg.scm: Name tests.

Change-Id: I7be7438a69a5d55d5904c3b76a2888393291b6bb
Signed-off-by: Efraim Flashner &lt;efraim@flashner.co.il&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: services: Fix xorg configuration merging.</title>
<updated>2026-01-01T11:26:02+00:00</updated>
<author>
<name>Ian Eure</name>
<email>ian@retrospec.tv</email>
</author>
<published>2025-12-31T18:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7d4db1a37c39019c0840fe074f90df0b7be3c120'/>
<id>7d4db1a37c39019c0840fe074f90df0b7be3c120</id>
<content type='text'>
A bug in #21 causes the default configuration to be omitted from the xorg
merging process.  This can cause users not using set-xorg-configuration or
service extensions to end up with a broken configuration.

Fixes #5267.

* tests/services/xorg.scm: Add a regression test.
* gnu/services/xorg.scm (handle-xorg-configuration): Include the
xorg-configuration record from config in merges.

Change-Id: I6bed8c109057cb9b5de36db68b78e3ccc88e6bcb
Signed-off-by: Efraim Flashner &lt;efraim@flashner.co.il&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A bug in #21 causes the default configuration to be omitted from the xorg
merging process.  This can cause users not using set-xorg-configuration or
service extensions to end up with a broken configuration.

Fixes #5267.

* tests/services/xorg.scm: Add a regression test.
* gnu/services/xorg.scm (handle-xorg-configuration): Include the
xorg-configuration record from config in merges.

Change-Id: I6bed8c109057cb9b5de36db68b78e3ccc88e6bcb
Signed-off-by: Efraim Flashner &lt;efraim@flashner.co.il&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: Merge xorg configurations when extending.</title>
<updated>2025-12-26T12:15:41+00:00</updated>
<author>
<name>Ian Eure</name>
<email>ian@retrospec.tv</email>
</author>
<published>2025-03-25T22:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a9462997d743e4cb4edd557d7ffeeb98048bb4de'/>
<id>a9462997d743e4cb4edd557d7ffeeb98048bb4de</id>
<content type='text'>
Configuration for xorg is embedded in the various display-manager
configuration records, and extension support is factored out into the
`handle-xorg-configuration' macro.  However, the extension mechanism replaces
the existing xorg-configuration with the supplied one, making it impossible to
compose configuration from multiple sources.  This patch adds a procedure to
merge two xorg-configuration records, and calls it within
handle-xorg-configuration, allowing the config to be built piecemeal.

* gnu/services/xorg.scm (merge-xorg-configurations): New variable.
(handle-xorg-configuration): Merge xorg configs.

Change-Id: I20e9db911eef5d4efe98fdf382f3084e4defc1ba
Signed-off-by: Liliana Marie Prikler &lt;liliana.prikler@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Configuration for xorg is embedded in the various display-manager
configuration records, and extension support is factored out into the
`handle-xorg-configuration' macro.  However, the extension mechanism replaces
the existing xorg-configuration with the supplied one, making it impossible to
compose configuration from multiple sources.  This patch adds a procedure to
merge two xorg-configuration records, and calls it within
handle-xorg-configuration, allowing the config to be built piecemeal.

* gnu/services/xorg.scm (merge-xorg-configurations): New variable.
(handle-xorg-configuration): Merge xorg configs.

Change-Id: I20e9db911eef5d4efe98fdf382f3084e4defc1ba
Signed-off-by: Liliana Marie Prikler &lt;liliana.prikler@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>authenticate: Report failure to load keys to the daemon.</title>
<updated>2025-12-22T14:10:52+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-12-19T08:34:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=0ac2a0fd1813fb5c04b22f6443d8f8a96d3c9645'/>
<id>0ac2a0fd1813fb5c04b22f6443d8f8a96d3c9645</id>
<content type='text'>
Previously, when failing to load a signing key, ‘guix authenticate’ would
print a backtrace and exit with a non-zero code.  That, in turn, would lead
the guix-daemon child process to crash with:

  nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch fixes it by reporting the error to the daemon as was intended.

* guix/scripts/authenticate.scm (guix-authenticate): Arrange to call
‘load-key-pair’ from within ‘with-reply’.
* tests/guix-authenticate.sh: Test it.

Fixes: guix/guix#4928
Reported-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Change-Id: I8654ad6fdfbe18c55e1e85647d0c49f408d0574a
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #4961
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, when failing to load a signing key, ‘guix authenticate’ would
print a backtrace and exit with a non-zero code.  That, in turn, would lead
the guix-daemon child process to crash with:

  nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch fixes it by reporting the error to the daemon as was intended.

* guix/scripts/authenticate.scm (guix-authenticate): Arrange to call
‘load-key-pair’ from within ‘with-reply’.
* tests/guix-authenticate.sh: Test it.

Fixes: guix/guix#4928
Reported-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Change-Id: I8654ad6fdfbe18c55e1e85647d0c49f408d0574a
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #4961
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Use ‘https’ for ‘home-page’ in ‘guix import pypi’ tests.</title>
<updated>2025-12-13T22:14:27+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-12-13T21:31:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=812fc780d4fc27479cfca0a4fab255a1e8ccca64'/>
<id>812fc780d4fc27479cfca0a4fab255a1e8ccca64</id>
<content type='text'>
Fixes a regression introduced in d66e9698a18a6be2d6b670f5a31c23f87afece68.

* tests/import/pypi.scm ("pypi-&gt;guix-package, no wheel")
("pypi-&gt;guix-package, no wheel, no requires.txt, but pyproject.toml")
("pypi-&gt;guix-package, no wheel, but requires.txt and pyproject.toml")
("pypi-&gt;guix-package, no requires.txt, but wheel.")
("pypi-&gt;guix-package, no usable requirement file, no wheel.")
("pypi-&gt;guix-package, package name contains \"-\" followed by digits"): Change
‘home-page’ to ‘https://’.

Fixes: guix/guix#4646
Reported-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Change-Id: Id3ddac832d9688f2eb8a055c13f62a9642a20766
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a regression introduced in d66e9698a18a6be2d6b670f5a31c23f87afece68.

* tests/import/pypi.scm ("pypi-&gt;guix-package, no wheel")
("pypi-&gt;guix-package, no wheel, no requires.txt, but pyproject.toml")
("pypi-&gt;guix-package, no wheel, but requires.txt and pyproject.toml")
("pypi-&gt;guix-package, no requires.txt, but wheel.")
("pypi-&gt;guix-package, no usable requirement file, no wheel.")
("pypi-&gt;guix-package, package name contains \"-\" followed by digits"): Change
‘home-page’ to ‘https://’.

Fixes: guix/guix#4646
Reported-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Change-Id: Id3ddac832d9688f2eb8a055c13f62a9642a20766
</pre>
</div>
</content>
</entry>
</feed>
