guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/04: import: gem: Deal with unavailable licensing info.


From: guix-commits
Subject: 04/04: import: gem: Deal with unavailable licensing info.
Date: Wed, 5 Feb 2020 10:19:23 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit c24fe4a52057ea3390faf59fd672a617eff34aea
Author: Ludovic Courtès <address@hidden>
AuthorDate: Wed Feb 5 16:03:43 2020 +0100

    import: gem: Deal with unavailable licensing info.
    
    Fixes <https://bugs.gnu.org/39404>.
    Reported by Seth <address@hidden>.
    
    * guix/import/gem.scm (<gem>)[licenses]: Adjust for non-vector
    licenses.
    * tests/gem.scm (test-bar-json): Change "licenses" to 'null'.
    ("gem-recursive-import"): Adjust accordingly.
---
 guix/import/gem.scm | 7 ++++++-
 tests/gem.scm       | 4 ++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/guix/import/gem.scm b/guix/import/gem.scm
index f4589b9..bd5d5b3 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 5158238..455fc15 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]