import: Importers return prefixed licenses.

* guix/import/utils.scm
(define-module): Import licenses with license: prefix.
(string->licenses): Use prefixed licenses.
(license->symbol): Return symbols with the prefix license:.
* guix/tests/pypi.scm (pypi->guix-package): Update test cases.
* guix/tests/gem.scm (gem->guix-package): Update test case.
This commit is contained in:
David Craven 2016-08-05 19:15:56 +02:00
parent 1ae27aac4c
commit a34b236c17
No known key found for this signature in database
GPG key ID: C5E051C79C0BECDB
3 changed files with 16 additions and 16 deletions

View file

@ -22,7 +22,7 @@ (define-module (guix import utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (guix hash) #:use-module (guix hash)
#:use-module (guix base32) #:use-module (guix base32)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((guix build download) #:prefix build:) #:use-module ((guix build download) #:prefix build:)
#:export (factorize-uri #:export (factorize-uri
@ -112,12 +112,12 @@ (define (guix-hash-url filename)
(define (string->license str) (define (string->license str)
"Convert the string STR into a license object." "Convert the string STR into a license object."
(match str (match str
("GNU LGPL" lgpl2.0) ("GNU LGPL" license:lgpl2.0)
("GPL" gpl3) ("GPL" license:gpl3)
((or "BSD" "BSD License") bsd-3) ((or "BSD" "BSD License") license:bsd-3)
((or "MIT" "MIT license" "Expat license") expat) ((or "MIT" "MIT license" "Expat license") license:expat)
("Public domain" public-domain) ("Public domain" license:public-domain)
((or "Apache License, Version 2.0" "Apache 2.0") asl2.0) ((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0)
(_ #f))) (_ #f)))
(define (license->symbol license) (define (license->symbol license)
@ -125,12 +125,12 @@ (define (license->symbol license)
to in the (guix licenses) module, or #f if there is no such known license." to in the (guix licenses) module, or #f if there is no such known license."
;; TODO: Traverse list public variables in (guix licenses) instead so we ;; TODO: Traverse list public variables in (guix licenses) instead so we
;; don't have to maintain a list manualy. ;; don't have to maintain a list manualy.
(assoc-ref `((,lgpl2.0 . lgpl2.0) (assoc-ref `((,license:lgpl2.0 . license:lgpl2.0)
(,gpl3 . gpl3) (,license:gpl3 . license:gpl3)
(,bsd-3 . bsd-3) (,license:bsd-3 . license:bsd-3)
(,expat . expat) (,license:expat . license:expat)
(,public-domain . public-domain) (,license:public-domain . license:public-domain)
(,asl2.0 . asl2.0)) (,license:asl2.0 . license:asl2.0))
license)) license))
(define (snake-case str) (define (snake-case str)

View file

@ -71,7 +71,7 @@ (define test-json
('synopsis "A cool gem") ('synopsis "A cool gem")
('description "This package provides a cool gem") ('description "This package provides a cool gem")
('home-page "https://example.com") ('home-page "https://example.com")
('license ('list 'expat 'asl2.0))) ('license ('list 'license:expat 'license:asl2.0)))
#t) #t)
(x (x
(pk 'fail x #f))))) (pk 'fail x #f)))))

View file

@ -130,7 +130,7 @@ (define test-metadata
('home-page "http://example.com") ('home-page "http://example.com")
('synopsis "summary") ('synopsis "summary")
('description "summary") ('description "summary")
('license 'lgpl2.0)) ('license 'license:lgpl2.0))
(string=? (bytevector->nix-base32-string (string=? (bytevector->nix-base32-string
test-source-hash) test-source-hash)
hash)) hash))
@ -190,7 +190,7 @@ (define test-metadata
('home-page "http://example.com") ('home-page "http://example.com")
('synopsis "summary") ('synopsis "summary")
('description "summary") ('description "summary")
('license 'lgpl2.0)) ('license 'license:lgpl2.0))
(string=? (bytevector->nix-base32-string (string=? (bytevector->nix-base32-string
test-source-hash) test-source-hash)
hash)) hash))