diff options
Diffstat (limited to 'guix/import/utils.scm')
-rw-r--r-- | guix/import/utils.scm | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 69e623a67f..ce0ba99fc0 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ url-fetch guix-hash-url + spdx-string->license license->symbol snake-case @@ -109,7 +111,75 @@ recursively apply the procedure to the sub-list." "Return the hash of FILENAME in nix-base32 format." (bytevector->nix-base32-string (file-sha256 filename))) +(define (spdx-string->license str) + "Convert STR, a SPDX formatted license identifier, to a license object. + Return #f if STR does not match any known identifiers." + ;; https://spdx.org/licenses/ + ;; The psfl, gfl1.0, nmap, repoze + ;; licenses doesn't have SPDX identifiers (match str + ("AGPL-1.0" 'license:agpl-1.0) + ("AGPL-3.0" 'license:agpl-3.0) + ("Apache-1.1" 'license:asl1.1) + ("Apache-2.0" 'license:asl2.0) + ("BSL-1.0" 'license:boost1.0) + ("BSD-2-Clause-FreeBSD" 'license:bsd-2) + ("BSD-3-Clause" 'license:bsd-3) + ("BSD-4-Clause" 'license:bsd-4) + ("CC0-1.0" 'license:cc0) + ("CC-BY-2.0" 'license:cc-by2.0) + ("CC-BY-3.0" 'license:cc-by3.0) + ("CC-BY-SA-2.0" 'license:cc-by-sa2.0) + ("CC-BY-SA-3.0" 'license:cc-by-sa3.0) + ("CC-BY-SA-4.0" 'license:cc-by-sa4.0) + ("CDDL-1.0" 'license:cddl1.0) + ("CECILL-C" 'license:cecill-c) + ("Artistic-2.0" 'license:artistic2.0) + ("ClArtistic" 'license:clarified-artistic) + ("CPL-1.0" 'license:cpl1.0) + ("EPL-1.0" 'license:epl1.0) + ("MIT" 'license:expat) + ("FTL" 'license:freetype) + ("GFDL-1.1" 'license:fdl1.1+) + ("GFDL-1.2" 'license:fdl1.2+) + ("GFDL-1.3" 'license:fdl1.3+) + ("Giftware" 'license:giftware) + ("GPL-1.0" 'license:gpl1) + ("GPL-1.0+" 'license:gpl1+) + ("GPL-2.0" 'license:gpl2) + ("GPL-2.0+" 'license:gpl2+) + ("GPL-3.0" 'license:gpl3) + ("GPL-3.0+" 'license:gpl3+) + ("ISC" 'license:isc) + ("IJG" 'license:ijg) + ("Imlib2" 'license:imlib2) + ("IPA" 'license:ipa) + ("IPL-1.0" 'license:ibmpl1.0) + ("LGPL-2.0" 'license:lgpl2.0) + ("LGPL-2.0+" 'license:lgpl2.0+) + ("LGPL-2.1" 'license:lgpl2.1) + ("LGPL-2.1+" 'license:lgpl2.1+) + ("LGPL-3.0" 'license:lgpl3.0) + ("LGPL-3.0+" 'license:lgpl3.0+) + ("MPL-1.0" 'license:mpl1.0) + ("MPL-1.1" 'license:mpl1.1) + ("MPL-2.0" 'license:mpl2.0) + ("MS-PL" 'license:ms-pl) + ("NCSA" 'license:ncsa) + ("OpenSSL" 'license:openssl) + ("OLDAP-2.8" 'license:openldap2.8) + ("CUA-OPL-1.0" 'license:opl1.0) + ("QPL-1.0" 'license:qpl) + ("Ruby" 'license:ruby) + ("SGI-B-2.0" 'license:sgifreeb2.0) + ("OFL-1.1" 'license:silofl1.1) + ("Sleepycat" 'license:sleepycat) + ("TCL" 'license:tcl/tk) + ("Unlicense" 'license:unlicense) + ("Vim" 'license:vim) + ("X11" 'license:x11) + ("ZPL-2.1" 'license:zpl2.1) + ("Zlib" 'license:zlib) (_ #f))) (define (license->symbol license) |