<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests, branch v1.5.0</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>import: crate: Generate comments with ‘TODO REVIEW:’ prefix.</title>
<updated>2026-01-18T10:15:36+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=2ae3c69679d3619c06ec37bdc458cf522515c11e'/>
<id>2ae3c69679d3619c06ec37bdc458cf522515c11e</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>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>
<entry>
<title>system: Relax subordinate ID validation.</title>
<updated>2025-12-11T14:43:16+00:00</updated>
<author>
<name>Giacomo Leidi</name>
<email>therewasa@fishinthecalculator.me</email>
</author>
<published>2025-11-15T10:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=fdb46ae7b19d45a6a1f5adb660283981bf4b7a1d'/>
<id>fdb46ae7b19d45a6a1f5adb660283981bf4b7a1d</id>
<content type='text'>
https://codeberg.org/guix/guix/issues/3925 raised the inabilityy of the
subordinate IDs service of handling externally managed sub{u,g}id file
entries. This patch relaxes the checks in place for existing ranges,
by allowing subid-range records lower than %subordinate-id-min, leaving
all the space from subid 0 to %subordinate-id-min - 1 to external
users. Generic ranges are still allocated within %subordinate-id-min and
%subordinate-id-max.

* gnu/build/accounts.scm (&lt;unused-id-range&gt;)[min]: Change default value
to 0, allowing subid-ranges with a start lesser than
%subordinate-id-min.
(allocate-generic-range): Allocate generic ranges starting from
%subordinate-id-min, leaving ranges starting before %subordinate-id-min.
(allocate-specific-range): Move bounds check to...
(allocate-subids): ...here. Now bound validation is applied only to user
provided ranges.
* tests/accounts.scm: Test new behavior.

Fixes: guix/guix#3925
Change-Id: Id923b122c97a20f148684f5fb144fd9422810612
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #4235
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://codeberg.org/guix/guix/issues/3925 raised the inabilityy of the
subordinate IDs service of handling externally managed sub{u,g}id file
entries. This patch relaxes the checks in place for existing ranges,
by allowing subid-range records lower than %subordinate-id-min, leaving
all the space from subid 0 to %subordinate-id-min - 1 to external
users. Generic ranges are still allocated within %subordinate-id-min and
%subordinate-id-max.

* gnu/build/accounts.scm (&lt;unused-id-range&gt;)[min]: Change default value
to 0, allowing subid-ranges with a start lesser than
%subordinate-id-min.
(allocate-generic-range): Allocate generic ranges starting from
%subordinate-id-min, leaving ranges starting before %subordinate-id-min.
(allocate-specific-range): Move bounds check to...
(allocate-subids): ...here. Now bound validation is applied only to user
provided ranges.
* tests/accounts.scm: Test new behavior.

Fixes: guix/guix#3925
Change-Id: Id923b122c97a20f148684f5fb144fd9422810612
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #4235
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Giacomo's email address.</title>
<updated>2025-12-03T05:38:09+00:00</updated>
<author>
<name>Giacomo Leidi</name>
<email>therewasa@fishinthecalculator.me</email>
</author>
<published>2025-11-15T10:58:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c425bac93d8d39c197a4bb4a56218cecd3231c1d'/>
<id>c425bac93d8d39c197a4bb4a56218cecd3231c1d</id>
<content type='text'>
The change was automated via:

git grep -l goodoldpaul@autistici.org |
    xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g'

* .mailmap: New entry.

Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6
Signed-off-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The change was automated via:

git grep -l goodoldpaul@autistici.org |
    xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g'

* .mailmap: New entry.

Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6
Signed-off-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>import/cran: Detect library references in "check_installed".</title>
<updated>2025-11-29T11:19:09+00:00</updated>
<author>
<name>Ricardo Wurmus</name>
<email>rekado@elephly.net</email>
</author>
<published>2025-11-19T14:50:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b215cb2027d930b72b43f4d4bb3c090d2c703176'/>
<id>b215cb2027d930b72b43f4d4bb3c090d2c703176</id>
<content type='text'>
* guix/import/cran.scm (import-pattern): Add case for "check_installed".
* tests/import/cran.scm: Add test.

Change-Id: Id69371158eecaeb371056e6954a3109687346c22
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/import/cran.scm (import-pattern): Add case for "check_installed".
* tests/import/cran.scm: Add test.

Change-Id: Id69371158eecaeb371056e6954a3109687346c22
</pre>
</div>
</content>
</entry>
<entry>
<title>import/cran: Reduce false positives in extracting imports.</title>
<updated>2025-11-29T11:19:08+00:00</updated>
<author>
<name>Ricardo Wurmus</name>
<email>rekado@elephly.net</email>
</author>
<published>2025-11-14T21:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ad87b718eda20924b378fcf2d1ea2888a146caa6'/>
<id>ad87b718eda20924b378fcf2d1ea2888a146caa6</id>
<content type='text'>
* tests/import/cran.scm: Add tests for extract-imports.
* guix/import/cran.scm (extract-imports): New procedure, extracted from...
(needed-test-inputs-in-directory): ...this procedure, which now uses it.
(import-pattern): Update regex pattern.

Change-Id: I07ac3f685ff08a0fa7da3c25cf1f63fbca18b95f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/import/cran.scm: Add tests for extract-imports.
* guix/import/cran.scm (extract-imports): New procedure, extracted from...
(needed-test-inputs-in-directory): ...this procedure, which now uses it.
(import-pattern): Update regex pattern.

Change-Id: I07ac3f685ff08a0fa7da3c25cf1f63fbca18b95f
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: Remove store path occurrences.</title>
<updated>2025-11-22T15:32:22+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2025-11-20T21:47:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d5b980cfa1cdfd29b9f99e74760eaa55eb765df4'/>
<id>d5b980cfa1cdfd29b9f99e74760eaa55eb765df4</id>
<content type='text'>
When running `make dist`, it is checked that there are no store paths in
the resulting dist folder. Specifically through the
`assert-no-store-file-names` target.

I think that this target makes sense and this commit has workarounds for
currently embedded store paths. Two of those are comments. Maybe the
target could be changed to ignore those in the future. But the hash is
not important, so just replace it with &lt;hash&gt;.

As for crate tests, I decided to split the string instead of removing
it, although it seems to me it might safely be removed, but I am not
completely sure about the intent here.

* gnu/packages/astronomy.scm (python-jplephem-2.22): Remove store hash
from comment.
* gnu/packages/golang-build.scm (golang-org-x-exp): Likewise.
* tests/import/crate.scm (temp-file): Split store path's hash.

Change-Id: I709f29a9dfab626d194c41d12e53e0380a148217
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When running `make dist`, it is checked that there are no store paths in
the resulting dist folder. Specifically through the
`assert-no-store-file-names` target.

I think that this target makes sense and this commit has workarounds for
currently embedded store paths. Two of those are comments. Maybe the
target could be changed to ignore those in the future. But the hash is
not important, so just replace it with &lt;hash&gt;.

As for crate tests, I decided to split the string instead of removing
it, although it seems to me it might safely be removed, but I am not
completely sure about the intent here.

* gnu/packages/astronomy.scm (python-jplephem-2.22): Remove store hash
from comment.
* gnu/packages/golang-build.scm (golang-org-x-exp): Likewise.
* tests/import/crate.scm (temp-file): Split store path's hash.

Change-Id: I709f29a9dfab626d194c41d12e53e0380a148217
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: Remove lsh.</title>
<updated>2025-11-21T13:38:44+00:00</updated>
<author>
<name>Andreas Enge</name>
<email>andreas@enge.fr</email>
</author>
<published>2025-11-18T15:54:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=17d9d3436b7c086111071768732b244cfbbd8afb'/>
<id>17d9d3436b7c086111071768732b244cfbbd8afb</id>
<content type='text'>
* gnu/packages/ssh.scm (lsh): Delete and redefine as deprecated and
replaced by openssh.
* gnu/packages/patches/lsh-fix-x11-forwarding.patch: Remove file.
* gnu/packages/ssh.scm (dist_patch_DATA): Unregister file.
* tests/guix-gc.sh: Use hello instead of lsh.

Change-Id: Ic2a31dc79a777f9b6569e220620ecfc14fb75722
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/packages/ssh.scm (lsh): Delete and redefine as deprecated and
replaced by openssh.
* gnu/packages/patches/lsh-fix-x11-forwarding.patch: Remove file.
* gnu/packages/ssh.scm (dist_patch_DATA): Unregister file.
* tests/guix-gc.sh: Use hello instead of lsh.

Change-Id: Ic2a31dc79a777f9b6569e220620ecfc14fb75722
</pre>
</div>
</content>
</entry>
<entry>
<title>guix: toml: Fix keys with embedded escape codes.</title>
<updated>2025-11-20T01:06:32+00:00</updated>
<author>
<name>Lars-Dominik Braun</name>
<email>lars@6xq.net</email>
</author>
<published>2025-09-01T15:05:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d111a6a60d3535933e4b6eba7007519b3e9d6835'/>
<id>d111a6a60d3535933e4b6eba7007519b3e9d6835</id>
<content type='text'>
Quoted keys are treated by the specification like ordinary strings,
so escape codes must be handled as well.

* guix/build/toml.scm (eval-value): Move string escape handling…
(eval-value): …here.
(eval-toml-file): Un-escape quoted keys.
* tests/toml.scm ("parse-toml: Quoted keys with escapes"): New testcase.

Fixes: guix/guix#2414
Change-Id: I612e415cc93207bbdd18b6ec8279255fee16670a
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Quoted keys are treated by the specification like ordinary strings,
so escape codes must be handled as well.

* guix/build/toml.scm (eval-value): Move string escape handling…
(eval-value): …here.
(eval-toml-file): Un-escape quoted keys.
* tests/toml.scm ("parse-toml: Quoted keys with escapes"): New testcase.

Fixes: guix/guix#2414
Change-Id: I612e415cc93207bbdd18b6ec8279255fee16670a
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
