<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/import, branch sysadmin-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>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>tests: import: gem: Add test for mixed valid and gibberish licenses.</title>
<updated>2026-05-25T15:09:55+00:00</updated>
<author>
<name>Phillip Davis</name>
<email>phdavis1027@gmail.com</email>
</author>
<published>2026-03-21T16:05:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=781c25ada98d70da41c4b2894ddf9216298cf133'/>
<id>781c25ada98d70da41c4b2894ddf9216298cf133</id>
<content type='text'>
Verifies that when only one of multiple license strings is recognized,
the resulting list has the correct license followed by one instance
of the symbol 'unknown-license!

* tests/import/gem.scm (test-mixed-licenses-json): New fixture.
  ("gem-&gt;guix-package with mixed valid and gibberish licenses"):
  New test.

Change-Id: I33a003d50ba20d30360b52c448ae28ad9d37233b
Merges: https://codeberg.org/guix/guix/pulls/8276
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Verifies that when only one of multiple license strings is recognized,
the resulting list has the correct license followed by one instance
of the symbol 'unknown-license!

* tests/import/gem.scm (test-mixed-licenses-json): New fixture.
  ("gem-&gt;guix-package with mixed valid and gibberish licenses"):
  New test.

Change-Id: I33a003d50ba20d30360b52c448ae28ad9d37233b
Merges: https://codeberg.org/guix/guix/pulls/8276
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: import: gem: Add test for unrecognized license identifiers.</title>
<updated>2026-05-25T15:09:43+00:00</updated>
<author>
<name>Phillip Davis</name>
<email>phdavis1027@gmail.com</email>
</author>
<published>2026-03-21T15:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=514b17c58a732ca0fa995e262b84956717fb937b'/>
<id>514b17c58a732ca0fa995e262b84956717fb937b</id>
<content type='text'>
Exercises the map in 4f78d33f0 where every license
string is unrecognized, so the resulting package should have
(license (list unknown-license! unknown-license!)).

* tests/import/gem.scm (test-gibberish-licenses-json): New fixture.
  ("gem-&gt;guix-package with gibberish license identifiers"): New test.

Change-Id: I85cbb0574f9393749a84f4cf5818d4c1083a8476
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Exercises the map in 4f78d33f0 where every license
string is unrecognized, so the resulting package should have
(license (list unknown-license! unknown-license!)).

* tests/import/gem.scm (test-gibberish-licenses-json): New fixture.
  ("gem-&gt;guix-package with gibberish license identifiers"): New test.

Change-Id: I85cbb0574f9393749a84f4cf5818d4c1083a8476
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>import: gem: Use spdx-string-&gt;license for license lookup.</title>
<updated>2026-05-25T15:09:12+00:00</updated>
<author>
<name>Phillip Davis</name>
<email>phdavis1027@gmail.com</email>
</author>
<published>2026-03-19T16:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=3df17cb25a96f53cc12a2094320f73c02c1f19e1'/>
<id>3df17cb25a96f53cc12a2094320f73c02c1f19e1</id>
<content type='text'>
Similar to what was done for the crate importer in 263a267b75.

* guix/import/gem.scm (string-&gt;license): Try spdx-string-&gt;license first,
  returning symbols instead of license objects.  Fall back
  to the existing hardcoded table for non-SPDX strings.
  (make-gem-sexp): Remove license-&gt;symbol calls;
  licenses are now symbols directly.
* tests/import/gem.scm (test-spdx-json): New fixture.
  ("gem-&gt;guix-package with SPDX license identifiers"): New test.

Change-Id: I5fa0ebdfd3a3393eab5ef0554ed09887a89bc107
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Similar to what was done for the crate importer in 263a267b75.

* guix/import/gem.scm (string-&gt;license): Try spdx-string-&gt;license first,
  returning symbols instead of license objects.  Fall back
  to the existing hardcoded table for non-SPDX strings.
  (make-gem-sexp): Remove license-&gt;symbol calls;
  licenses are now symbols directly.
* tests/import/gem.scm (test-spdx-json): New fixture.
  ("gem-&gt;guix-package with SPDX license identifiers"): New test.

Change-Id: I5fa0ebdfd3a3393eab5ef0554ed09887a89bc107
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>import: gem: Fix null at home-page.</title>
<updated>2026-05-25T15:08:11+00:00</updated>
<author>
<name>Phillip Davis</name>
<email>phdavis1027@gmail.com</email>
</author>
<published>2026-03-18T21:40:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=abbf03a2efb4a8f3863ba5860e25657a557ea743'/>
<id>abbf03a2efb4a8f3863ba5860e25657a557ea743</id>
<content type='text'>
The RubyGems API returns "homepage_uri": null for gems with no homepage.
guile-json parses JSON null as the Guile symbol 'null', which passes
through into the generated package sexp as (home-page null)—an unbound
variable error at evaluation time.

* tests/import/gem.scm (test-no-homepage-json): New fixture.
  ("gem-&gt;guix-package, bald homepage_uri"): New test.
* guix/import/gem.scm (non-empty-string-or-false): New procedure.
  (&lt;gem&gt;)[home-page]: Use it.
* guix/import/utils.scm (non-empty-string-or-false):
  New exported procedure, moved to here...
* guix/import/gem.scm (non-empty-string-or-false): ...from here...
* guix/import/pypi.scm (non-empty-string-or-false): ...and here.

Change-Id: If8f2ca32834d762c753797067ef87937503ff9f9
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RubyGems API returns "homepage_uri": null for gems with no homepage.
guile-json parses JSON null as the Guile symbol 'null', which passes
through into the generated package sexp as (home-page null)—an unbound
variable error at evaluation time.

* tests/import/gem.scm (test-no-homepage-json): New fixture.
  ("gem-&gt;guix-package, bald homepage_uri"): New test.
* guix/import/gem.scm (non-empty-string-or-false): New procedure.
  (&lt;gem&gt;)[home-page]: Use it.
* guix/import/utils.scm (non-empty-string-or-false):
  New exported procedure, moved to here...
* guix/import/gem.scm (non-empty-string-or-false): ...from here...
* guix/import/pypi.scm (non-empty-string-or-false): ...and here.

Change-Id: If8f2ca32834d762c753797067ef87937503ff9f9
Reviewed-by: Carlo Zancanaro &lt;carlo@zancanaro.id.au&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>guix: build-system: Set pypi-uri in pyproject, drop python module.</title>
<updated>2026-05-24T09:14:45+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2026-03-24T12:13:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=803e96bf55b9539c9b805b6709cdbfb32b164c27'/>
<id>803e96bf55b9539c9b805b6709cdbfb32b164c27</id>
<content type='text'>
After this commit, when both modules are imported:

- if pyproject is imported before, the warning is 'pypi-uri' is
deprecated, use '(@ (guix build-system pyproject) pypi-uri)' instead

- if python is imported before, the warning is `pypi-uri' imported from
both (guix build-system python) and (guix build-system pyproject)

This seems convenient enough to warn for deprecation in the short term,
while avoiding any breaking changes.

* guix/build-system/pyproject.scm (pypi-uri): Move the procedure from
(guix build-system python) here.

* guix/build-system/python (pypi-uri): Drop definition, import it
from (guix build-system pyproject) and deprecate it.

* gnu/packages/openldap.scm: Reorder modules to get the right warning.

* gnu/packages/pypy.scm: Likewise.

* gnu/packages/*.scm : Drop module (guix build-system python).

* tests/import/pypi.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/7448
Change-Id: Ib42f53bc545052eb7918a25afe9db6d5fc2cb834
Reviewed-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After this commit, when both modules are imported:

- if pyproject is imported before, the warning is 'pypi-uri' is
deprecated, use '(@ (guix build-system pyproject) pypi-uri)' instead

- if python is imported before, the warning is `pypi-uri' imported from
both (guix build-system python) and (guix build-system pyproject)

This seems convenient enough to warn for deprecation in the short term,
while avoiding any breaking changes.

* guix/build-system/pyproject.scm (pypi-uri): Move the procedure from
(guix build-system python) here.

* guix/build-system/python (pypi-uri): Drop definition, import it
from (guix build-system pyproject) and deprecate it.

* gnu/packages/openldap.scm: Reorder modules to get the right warning.

* gnu/packages/pypy.scm: Likewise.

* gnu/packages/*.scm : Drop module (guix build-system python).

* tests/import/pypi.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/7448
Change-Id: Ib42f53bc545052eb7918a25afe9db6d5fc2cb834
Reviewed-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: pypi: Switch to pyproject-build-system.</title>
<updated>2026-05-24T09:14:43+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2026-03-24T07:33:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=aaded718f4388fd309b2b94fce4f494b19eb3663'/>
<id>aaded718f4388fd309b2b94fce4f494b19eb3663</id>
<content type='text'>
* tests/import/pypi.scm ("package-latest-release"): Switch to
pyproject-build-system.

Change-Id: I8ba5cdd45e793cd2aae7b3025f7598245de6c87e
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/import/pypi.scm ("package-latest-release"): Switch to
pyproject-build-system.

Change-Id: I8ba5cdd45e793cd2aae7b3025f7598245de6c87e
Signed-off-by: Sharlatan Hellseher &lt;sharlatanus@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>style: git-source: Handle more URLs.</title>
<updated>2026-03-10T21:53:54+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-03-04T20:48:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=78ddf62bfe2264c0085fdce4b2cbcad07f6eaf16'/>
<id>78ddf62bfe2264c0085fdce4b2cbcad07f6eaf16</id>
<content type='text'>
* guix/import/utils.scm (tarball-url-&gt;git-repository-url): New procedure.
* guix/scripts/style.scm (url-fetch-&gt;git-fetch)[transform-source]: Add
‘repository-url’ parameter.
Use ‘tarball-url-&gt;git-repository-url’ when ‘home-page’ is not a Git URL.
(transform-to-git-fetch): Rename ‘home-page’ to ‘repository-url’.
* tests/import/utils.scm ("tarball-url-&gt;git-repository-url, guile"): New test.
* tests/style.scm ("url-fetch-&gt;git-fetch, mirror:// URL"): New test.

Change-Id: I4f8ca7c67a58f917d69380678b62c00962b0f9cd
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/import/utils.scm (tarball-url-&gt;git-repository-url): New procedure.
* guix/scripts/style.scm (url-fetch-&gt;git-fetch)[transform-source]: Add
‘repository-url’ parameter.
Use ‘tarball-url-&gt;git-repository-url’ when ‘home-page’ is not a Git URL.
(transform-to-git-fetch): Rename ‘home-page’ to ‘repository-url’.
* tests/import/utils.scm ("tarball-url-&gt;git-repository-url, guile"): New test.
* tests/style.scm ("url-fetch-&gt;git-fetch, mirror:// URL"): New test.

Change-Id: I4f8ca7c67a58f917d69380678b62c00962b0f9cd
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>guix: import: cpan: Fill in description field in template.</title>
<updated>2026-03-08T15:04:33+00:00</updated>
<author>
<name>jgart</name>
<email>jgart@dismail.de</email>
</author>
<published>2026-02-21T04:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f2ead3989e93a78fbcfa1788074742b71aec3319'/>
<id>f2ead3989e93a78fbcfa1788074742b71aec3319</id>
<content type='text'>
* guix/import/cpan.scm (cpan-module-&gt;sexp): Fill in description field in
template.
* tests/import/cpan.scm (test-source): Update test to account for change in
description text.

Change-Id: I3bc3e4c2cc90f7a1f1f0d56e9213b6a1d0b8e841
Signed-off-by: jgart &lt;jgart@dismail.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/import/cpan.scm (cpan-module-&gt;sexp): Fill in description field in
template.
* tests/import/cpan.scm (test-source): Update test to account for change in
description text.

Change-Id: I3bc3e4c2cc90f7a1f1f0d56e9213b6a1d0b8e841
Signed-off-by: jgart &lt;jgart@dismail.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
