<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/import/gem.scm, branch master</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>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>import: gem: Move tests to tests/import/gem.scm.</title>
<updated>2025-10-08T08:57:00+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2025-10-05T17:25:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=3fa75fd1524e52cabe82bc326048fcdc2eca6c6b'/>
<id>3fa75fd1524e52cabe82bc326048fcdc2eca6c6b</id>
<content type='text'>
Follow-up forgotten in 94df3e6f28e.

* tests/gem.scm: Move to tests/import/gem.scm.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up forgotten in 94df3e6f28e.

* tests/gem.scm: Move to tests/import/gem.scm.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
