No license in crate - guix import

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Maxime Devos
  • Michael Zappa
Owner
unassigned
Submitted by
Michael Zappa
Severity
normal
M
M
Michael Zappa wrote on 6 Oct 2021 00:31
(address . bug-guix@gnu.org)
87h7dvnlxv.fsf@michzappa.com
Hello all,
I have been playing around with the 'guix import' tools to
see how easily I can get some package definitions. In the process of
trying to package https://github.com/Spotifyd/spotifydwith 'guix import
crate spotifyd -r' I found that one of the nested dependencies,
libpulse-sys@0.0.0 did not work with the automatic importer because it
does not have a license in its crate

Obviously it would be ideal to get whoever is using this out-of-date
library in their package to update their dependencies so this is
entirely avoided, but short of that has there ever been discussion on
how to handle 'license-less' packages? I haven't seen any in my short
time lurking on this list. It seems to be a rigid requirement for the
crate importer.

Backtrace:
michael@ordenagailua ~ $ guix import crate libpulse-sys@0.0.0 -r
./pre-inst-env: line 33: cd: @abs_top_srcdir@: No such file or directory
./pre-inst-env: line 34: cd: @abs_top_builddir@: No such file or directory
Backtrace:
10 (primitive-load "/home/michael/.config/guix/current/bin…")
In guix/ui.scm:
2185:7 9 (run-guix . _)
2148:10 8 (run-guix-command _ . _)
In guix/scripts/import.scm:
124:11 7 (guix-import . _)
In guix/import/utils.scm:
495:27 6 (recursive-import _ #:repo->guix-package _ #:guix-name _ …)
485:33 5 (lookup-node "libpulse-sys" "0.0.0")
In guix/memoization.scm:
98:0 4 (mproc "libpulse-sys" #:version "0.0.0" #:repo #f # #t)
In unknown file:
3 (_ #<procedure 7fcb23655e80 at guix/memoization.scm:17…> …)
In guix/import/crate.scm:
316:37 2 (crate->guix-package "libpulse-sys" #:version _ # _ # _)
213:14 1 (string->license _)
In unknown file:
0 (string-split null #<charset {#\space #\/}>)

ERROR: In procedure string-split:
In procedure string-split: Wrong type argument in position 1 (expecting string): null


Thank you,
Michael
M
M
Maxime Devos wrote on 6 Oct 2021 08:20
7580ba1ecf974cfc08391d8b62e1fbbc796350bb.camel@telenet.be
Michael Zappa schreef op di 05-10-2021 om 18:31 [-0400]:
Toggle quote (16 lines)
> Hello all,
> I have been playing around with the 'guix import' tools to
> see how easily I can get some package definitions. In the process of
> trying to package https://github.com/Spotifyd/spotifyd with 'guix import
> crate spotifyd -r' I found that one of the nested dependencies,
> libpulse-sys@0.0.0 did not work with the automatic importer because it
> does not have a license in its crate
> https://crates.io/crates/libpulse-sys/0.0.0.
>
> Obviously it would be ideal to get whoever is using this out-of-date
> library in their package to update their dependencies so this is
> entirely avoided, but short of that has there ever been discussion on
> how to handle 'license-less' packages? I haven't seen any in my short
> time lurking on this list. It seems to be a rigid requirement for the
> crate importer.

I don't now if there has been a discussion,
but other importers (at least the minetest importer) set the license
field to #f if no license information was unavailable.

Modifying <crate-version> such that 'license' is set to #f if it has
'null' as value in the JSON might be sufficient I think?

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYV1AShccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rIVAQCNx1n9P1O0KosBAOjyGmcL5lAW
PPnIWGG7bUN6mt464gD+Jo0zvr9tB3aLvXNFN4iPN0dozQYMeLJYyOBWq8xklwI=
=9Vqs
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 7 Oct 2021 10:52
(name . Maxime Devos)(address . maximedevos@telenet.be)
87ily9fc8z.fsf@gnu.org
Hi,

Maxime Devos <maximedevos@telenet.be> skribis:

Toggle quote (24 lines)
> Michael Zappa schreef op di 05-10-2021 om 18:31 [-0400]:
>> Hello all,
>> I have been playing around with the 'guix import' tools to
>> see how easily I can get some package definitions. In the process of
>> trying to package https://github.com/Spotifyd/spotifyd with 'guix import
>> crate spotifyd -r' I found that one of the nested dependencies,
>> libpulse-sys@0.0.0 did not work with the automatic importer because it
>> does not have a license in its crate
>> https://crates.io/crates/libpulse-sys/0.0.0.
>>
>> Obviously it would be ideal to get whoever is using this out-of-date
>> library in their package to update their dependencies so this is
>> entirely avoided, but short of that has there ever been discussion on
>> how to handle 'license-less' packages? I haven't seen any in my short
>> time lurking on this list. It seems to be a rigid requirement for the
>> crate importer.
>
> I don't now if there has been a discussion,
> but other importers (at least the minetest importer) set the license
> field to #f if no license information was unavailable.
>
> Modifying <crate-version> such that 'license' is set to #f if it has
> 'null' as value in the JSON might be sufficient I think?

Indeed. Fixed in 1327ec822fa6dd396e979efd8d4e1f7479f1d5b3.

Thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 51048@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51048
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch