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
?