<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests, branch go-team</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/utils: Allow `find-version' to match an over-specified version.</title>
<updated>2026-08-25T01:07:51+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-08-08T08:22:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d131c228dc32bb71e75717f9dc260b6e6812f73d'/>
<id>d131c228dc32bb71e75717f9dc260b6e6812f73d</id>
<content type='text'>
This fixes the use case of using --target-version with an exact
match (--target-version causes the partial? mode to be enabled).

* tests/import/utils.scm ("find-version, latest")
("find-version, empty versions list")
("find-version, partial, under-specified")
("find-version, partial, exact")
("find-version, partial, over-specified"): New tests.
* guix/import/utils.scm (find-version): [PARTIAL?]: Truncate VERSION to the
maximum length of VERSIONS.  Explicitly handle the empty versions case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the use case of using --target-version with an exact
match (--target-version causes the partial? mode to be enabled).

* tests/import/utils.scm ("find-version, latest")
("find-version, empty versions list")
("find-version, partial, under-specified")
("find-version, partial, exact")
("find-version, partial, over-specified"): New tests.
* guix/import/utils.scm (find-version): [PARTIAL?]: Truncate VERSION to the
maximum length of VERSIONS.  Explicitly handle the empty versions case.
</pre>
</div>
</content>
</entry>
<entry>
<title>daemon: Bypass authentication when importing content-addressed store items.</title>
<updated>2026-08-17T14:47:36+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-05-30T21:54:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=64d4de2a920445e5992f020e56490f5fcbdbba7c'/>
<id>64d4de2a920445e5992f020e56490f5fcbdbba7c</id>
<content type='text'>
This puts ‘importPaths’ on par with ‘addToStore’ and ‘addTextToStore’: since
the two latter RPCs let anyone add content-addressed items in the store,
there’s no reason for ‘importPaths’ to require signatures by authorized keys
on these content-addressed items.

This will allow for things like ‘guix copy’ of .drv items without
authorization, or ‘guix deploy’ with (build-locally? #f) without
authorization.

* nix/libstore/store-api.hh (isContentAddressedPath): New prototype.
* nix/libstore/store-api.cc (isContentAddressedPath): New function.
* nix/libutil/util.hh (isPlainFile): New prototype.
* nix/libutil/util.cc (isPlainFile): New function.
* nix/libstore/local-store.cc (LocalStore::importPath): Define ‘narHash’ and
‘contentAddressed’.  Allow unsigned imports when ‘contentAddressed’ is true;
bypass signature verification when ‘contentAddressed’ is true.
* tests/store.scm ("import not signed"): Rewrite to not use a
content-addressed store item.
("import signed by unauthorized key"): Likewise.
("import not signed but content-addressed tree"): New test.
("import not signed but content-addressed regular file"): New test.
("import signed by unauthorized key but content-addressed"): New test.
("import with corrupt signature"): New test.
("import signed by authorized key but hash doesn't match"): New test.
("import with corrupt signature but content-addressed"): New test.
("import signed by authorized key, hash doesn't match, but content-addressed"):
New test.
* doc/guix.texi (Invoking guix archive): Document the exception for
content-addressed store items.  Add anchor for ‘--authorize’.
(Invoking guix deploy): Document the benefit of (build-locally? #f).
Add cross-reference for ‘authorize?’.

Co-authored-by: Reepca Russelstein &lt;reepca@russelstein.xyz&gt;
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #8979
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This puts ‘importPaths’ on par with ‘addToStore’ and ‘addTextToStore’: since
the two latter RPCs let anyone add content-addressed items in the store,
there’s no reason for ‘importPaths’ to require signatures by authorized keys
on these content-addressed items.

This will allow for things like ‘guix copy’ of .drv items without
authorization, or ‘guix deploy’ with (build-locally? #f) without
authorization.

* nix/libstore/store-api.hh (isContentAddressedPath): New prototype.
* nix/libstore/store-api.cc (isContentAddressedPath): New function.
* nix/libutil/util.hh (isPlainFile): New prototype.
* nix/libutil/util.cc (isPlainFile): New function.
* nix/libstore/local-store.cc (LocalStore::importPath): Define ‘narHash’ and
‘contentAddressed’.  Allow unsigned imports when ‘contentAddressed’ is true;
bypass signature verification when ‘contentAddressed’ is true.
* tests/store.scm ("import not signed"): Rewrite to not use a
content-addressed store item.
("import signed by unauthorized key"): Likewise.
("import not signed but content-addressed tree"): New test.
("import not signed but content-addressed regular file"): New test.
("import signed by unauthorized key but content-addressed"): New test.
("import with corrupt signature"): New test.
("import signed by authorized key but hash doesn't match"): New test.
("import with corrupt signature but content-addressed"): New test.
("import signed by authorized key, hash doesn't match, but content-addressed"):
New test.
* doc/guix.texi (Invoking guix archive): Document the exception for
content-addressed store items.  Add anchor for ‘--authorize’.
(Invoking guix deploy): Document the benefit of (build-locally? #f).
Add cross-reference for ‘authorize?’.

Co-authored-by: Reepca Russelstein &lt;reepca@russelstein.xyz&gt;
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #8979
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Update reference to deprecated package.</title>
<updated>2026-08-10T08:54:33+00:00</updated>
<author>
<name>Andreas Enge</name>
<email>andreas@enge.fr</email>
</author>
<published>2026-08-05T10:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f351100a16f39a3a262070c7c1640e6a05f2b305'/>
<id>f351100a16f39a3a262070c7c1640e6a05f2b305</id>
<content type='text'>
* tests/import/elm.scm (test-group): Replace font-adobe-source-sans-pro
by font-adobe-source-sans.
* gnu/packages/tex.scm (texlive-sourcesanspro): Change comment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/import/elm.scm (test-group): Replace font-adobe-source-sans-pro
by font-adobe-source-sans.
* gnu/packages/tex.scm (texlive-sourcesanspro): Change comment.
</pre>
</div>
</content>
</entry>
<entry>
<title>gexp: Allow gexp inputs when creating vectors using the read syntax.</title>
<updated>2026-08-09T17:09:28+00:00</updated>
<author>
<name>Hilton Chain</name>
<email>hako@ultrarare.space</email>
</author>
<published>2026-07-22T22:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=4dd120dc3cccb142d4a7f9e0bd059c3ee42c50a2'/>
<id>4dd120dc3cccb142d4a7f9e0bd059c3ee42c50a2</id>
<content type='text'>
* guix/gexp.scm (gexp) [collect-escapes, substitute-references]: Support vectors
created using the read syntax.
* tests/gexp.scm ("one input package, vector"): New test.

Merges: #10121
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/gexp.scm (gexp) [collect-escapes, substitute-references]: Support vectors
created using the read syntax.
* tests/gexp.scm ("one input package, vector"): New test.

Merges: #10121
</pre>
</div>
</content>
</entry>
<entry>
<title>build: toml: Adapt for toml 1.1.0</title>
<updated>2026-08-08T22:01:52+00:00</updated>
<author>
<name>Dariqq</name>
<email>dariqq@posteo.net</email>
</author>
<published>2025-12-22T17:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=e1c736072b64d6b8711b8e5f70a9935ffcde0640'/>
<id>e1c736072b64d6b8711b8e5f70a9935ffcde0640</id>
<content type='text'>
* guix/build/toml.scm: Change to v1.1.0

Merges: guix/guix!5156
Change-Id: I6d878e4c01352c0ff7d510d3ea9f7d41b8d75e7d
Reviewed-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/build/toml.scm: Change to v1.1.0

Merges: guix/guix!5156
Change-Id: I6d878e4c01352c0ff7d510d3ea9f7d41b8d75e7d
Reviewed-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: toml: Allow lowercase z as time zone offset.</title>
<updated>2026-08-08T22:01:42+00:00</updated>
<author>
<name>Dariqq</name>
<email>dariqq@posteo.net</email>
</author>
<published>2025-12-27T08:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d62469f1878026eb82630f3f787e69cc34449a03'/>
<id>d62469f1878026eb82630f3f787e69cc34449a03</id>
<content type='text'>
ABNF is case insensitive.

* guix/build/toml.scm: (time-offset): Add "z" as valid offset.
(eval-date): Adjust.

Relatest-to: guix/guix!5156
Change-Id: Ia7676c5201195ed44f629a678eb3f2966cf79860
Reviewed-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ABNF is case insensitive.

* guix/build/toml.scm: (time-offset): Add "z" as valid offset.
(eval-date): Adjust.

Relatest-to: guix/guix!5156
Change-Id: Ia7676c5201195ed44f629a678eb3f2966cf79860
Reviewed-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scripts: system: Remove unused syntax.</title>
<updated>2026-07-23T21:45:30+00:00</updated>
<author>
<name>Evgeny Pisemsky</name>
<email>mail@pisemsky.site</email>
</author>
<published>2026-07-23T15:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=36d403cfd77ff5452978cf94425902675e6ad81b'/>
<id>36d403cfd77ff5452978cf94425902675e6ad81b</id>
<content type='text'>
* guix/scripts/system.scm (save-environment-excursion): Remove syntax.
* tests/profiles.scm (with-environment-excursion): Prepare syntax for reuse.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Modified-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #10134
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/system.scm (save-environment-excursion): Remove syntax.
* tests/profiles.scm (with-environment-excursion): Prepare syntax for reuse.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Modified-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #10134
</pre>
</div>
</content>
</entry>
<entry>
<title>build/node: Preserve field order of modified JSON files.</title>
<updated>2026-07-08T16:33:27+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-06-11T06:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ef58e493c341ff4f61fb8caf4e14f02fd28c55d3'/>
<id>ef58e493c341ff4f61fb8caf4e14f02fd28c55d3</id>
<content type='text'>
* guix/build/node-build-system.scm (with-atomic-json-file-replacement): Call
json-&gt;scm with #:ordered #t.
* tests/node.scm ("modify-json, ordering"): New test.
("delete-dev-dependencies/except"): Adjust expected output accordingly.

Change-Id: I9cf0475a7bac0cad8f5fd3d479c50eb35eac3f32
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/build/node-build-system.scm (with-atomic-json-file-replacement): Call
json-&gt;scm with #:ordered #t.
* tests/node.scm ("modify-json, ordering"): New test.
("delete-dev-dependencies/except"): Adjust expected output accordingly.

Change-Id: I9cf0475a7bac0cad8f5fd3d479c50eb35eac3f32
</pre>
</div>
</content>
</entry>
<entry>
<title>build/node: Add `delete-dependencies/except' procedure.</title>
<updated>2026-07-08T16:33:27+00:00</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-06-10T00:00:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=230a8b05a844a67f2eeb0f554301d1fe2b52a937'/>
<id>230a8b05a844a67f2eeb0f554301d1fe2b52a937</id>
<content type='text'>
This adds a more convenient means to filter out most, but not all, development
dependencies.

* guix/build/node-build-system.scm (%dependency-keys)
(%dev-dependency-keys): New variables.
(delete-dependencies) [#:negate?, #:dependency-keys]: New arguments.  Log
removed dependencies.
(delete-dependencies/except, delete-dev-dependencies/except): New procedures.
* tests/node.scm: New test.
* Makefile.am (SCM_TESTS): Register it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a more convenient means to filter out most, but not all, development
dependencies.

* guix/build/node-build-system.scm (%dependency-keys)
(%dev-dependency-keys): New variables.
(delete-dependencies) [#:negate?, #:dependency-keys]: New arguments.  Log
removed dependencies.
(delete-dependencies/except, delete-dev-dependencies/except): New procedures.
* tests/node.scm: New test.
* Makefile.am (SCM_TESTS): Register it.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: git: Avoid duplicated helper code.</title>
<updated>2026-07-06T10:00:49+00:00</updated>
<author>
<name>Simon Tournier</name>
<email>zimon.toutoune@gmail.com</email>
</author>
<published>2026-07-03T11:27:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f729199e7b7f8933ee73ac7cb7a234e62beef025'/>
<id>f729199e7b7f8933ee73ac7cb7a234e62beef025</id>
<content type='text'>
* tests/git.scm (git): New procedure.
("update-cached-checkout, tag",
"update-cached-checkout, recursive submodules follow ref",
"update-cached-checkout, symref tag",
"update-cached-checkout, symref pull-request"): Use it.

Change-Id: I85aa14e729be1efe691418e74e37d6ae1fd3e633
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/git.scm (git): New procedure.
("update-cached-checkout, tag",
"update-cached-checkout, recursive submodules follow ref",
"update-cached-checkout, symref tag",
"update-cached-checkout, symref pull-request"): Use it.

Change-Id: I85aa14e729be1efe691418e74e37d6ae1fd3e633
</pre>
</div>
</content>
</entry>
</feed>
