diff options
-rw-r--r-- | guix/import/gem.scm | 7 | ||||
-rw-r--r-- | tests/gem.scm | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/guix/import/gem.scm b/guix/import/gem.scm index f4589b98b3..bd5d5b3569 100644 --- a/guix/import/gem.scm +++ b/guix/import/gem.scm @@ -44,7 +44,12 @@ (version gem-version) ;string (authors gem-authors) ;string (licenses gem-licenses "licenses" ;list of strings - vector->list) + (lambda (licenses) + ;; This is sometimes #nil (the JSON 'null' value). Arrange + ;; to always return a list. + (cond ((not licenses) '()) + ((vector? licenses) (vector->list licenses)) + (else '())))) (info gem-info) (sha256 gem-sha256 "sha" ;bytevector base16-string->bytevector) diff --git a/tests/gem.scm b/tests/gem.scm index 5158238d18..455fc15189 100644 --- a/tests/gem.scm +++ b/tests/gem.scm @@ -55,7 +55,7 @@ { \"name\": \"bundler\" }, ] }, - \"licenses\": [\"MIT\", \"Apache 2.0\"] + \"licenses\": null }") (define test-bundler-json @@ -138,7 +138,7 @@ ('synopsis "Another cool gem") ('description "Another cool gem") ('home-page "https://example.com") - ('license ('list 'license:expat 'license:asl2.0))) + ('license #f)) ;no licensing info ('package ('name "ruby-bundler") ('version "1.14.2") |