summary refs log tree commit diff
path: root/lib/licenses.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-11-05 15:26:45 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-11-05 15:26:45 +0100
commitd43846a0d841efbb06996e698b5fd63333281ca5 (patch)
tree237ad9ea530d406fd335c6e0cac7e73b74e2fc28 /lib/licenses.nix
parentaf0557cf82080ab51bf82e1352f861d8ee6e469d (diff)
downloadnixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar.gz
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar.bz2
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar.lz
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar.xz
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.tar.zst
nixpkgs-d43846a0d841efbb06996e698b5fd63333281ca5.zip
Make the license shortName attribute equal to the license attribute name
I.e. lib.licenses.<foo>.shortName == "<foo>". The SPDX identifier (if
known) is kept in lib.licenses.<license>.spdxId.
Diffstat (limited to 'lib/licenses.nix')
-rw-r--r--lib/licenses.nix117
1 files changed, 55 insertions, 62 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 372adea4f9a..eccdc69a43d 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1,292 +1,287 @@
 let
+
+  lib = import ./default.nix;
+
   spdx = lic: lic // {
-      url = "http://spdx.org/licenses/${lic.shortName}";
-    };
+    url = "http://spdx.org/licenses/${lic.spdxId}";
+  };
+
 in
 
-rec {
+lib.mapAttrs (n: v: v // { shortName = n; }) rec {
   /* License identifiers from spdx.org where possible.
    * If you cannot find your license here, then look for a similar license or
    * add it to this list. The URL mentioned above is a good source for inspiration.
    */
 
   agpl3 = spdx {
-    shortName = "AGPL-3.0";
+    spdxId = "AGPL-3.0";
     fullName = "GNU Affero General Public License v3.0";
   };
 
   agpl3Plus = {
-    shortName = "AGPL-3.0+";
     fullName = "GNU Affero General Public License v3.0 or later";
     inherit (agpl3) url;
   };
 
   amazonsl = {
-    shortName = "asl";
     fullName = "Amazon Software License";
     url = http://aws.amazon.com/asl/;
     free = false;
   };
 
   amd = {
-    shortName = "amd";
     fullName = "AMD License Agreement";
     url = http://developer.amd.com/amd-license-agreement/;
   };
 
   apsl20 = spdx {
-    shortName = "APSL-2.0";
+    spdxId = "APSL-2.0";
     fullName = "Apple Public Source License 2.0";
   };
 
   artistic2 = spdx {
-    shortName = "Artistic-2.0";
+    spdxId = "Artistic-2.0";
     fullName = "Artistic License 2.0";
   };
 
   asl20 = spdx {
-    shortName = "Apache-2.0";
+    spdxId = "Apache-2.0";
     fullName = "Apache License 2.0";
   };
 
   boost = spdx {
-    shortName = "BSL-1.0";
+    spdxId = "BSL-1.0";
     fullName = "Boost Software License 1.0";
   };
 
   bsd2 = spdx {
-    shortName = "BSD-2-Clause";
+    spdxId = "BSD-2-Clause";
     fullName = ''BSD 2-clause "Simplified" License'';
   };
 
   bsd3 = spdx {
-    shortName = "BSD-3-Clause";
+    spdxId = "BSD-3-Clause";
     fullName = ''BSD 3-clause "New" or "Revised" License'';
   };
 
   bsdOriginal = spdx {
-    shortName = "BSD-4-Clause";
+    spdxId = "BSD-4-Clause";
     fullName = ''BSD 4-clause "Original" or "Old" License'';
   };
 
   cc0 = spdx {
-    shortName = "CC0-1.0";
+    spdxId = "CC0-1.0";
     fullName = ''Creative Commons Zero v1.0 Universal'';
   };
 
   cc-by-30 = spdx {
-    shortName = "CC-BY-3.0";
+    spdxId = "CC-BY-3.0";
     fullName = "Creative Commons Attribution 3.0";
   };
 
   cc-by-sa-30 = spdx {
-    shortName = "CC-BY-SA-3.0";
+    spdxId = "CC-BY-SA-3.0";
     fullName = "Creative Commons Attribution Share Alike 3.0";
   };
 
   cc-by-40 = spdx {
-    shortName = "CC-BY-4.0";
+    spdxId = "CC-BY-4.0";
     fullName = "Creative Commons Attribution 4.0";
   };
 
   cddl = spdx {
-    shortName = "CDDL-1.0";
+    spdxId = "CDDL-1.0";
     fullName = "Common Development and Distribution License 1.0";
   };
 
   cecill20 = spdx {
-    shortName = "CECILL-2.0";
+    spdxId = "CECILL-2.0";
     fullName = "CeCILL Free Software License Agreement v2.0";
   };
 
   cecill-b = spdx {
-    shortName = "CECILL-B";
+    spdxId = "CECILL-B";
     fullName  = "CeCILL-B Free Software License Agreement";
   };
 
   cecill-c = spdx {
-    shortName = "CECILL-C";
+    spdxId = "CECILL-C";
     fullName  = "CeCILL-C Free Software License Agreement";
   };
 
   cpl10 = spdx {
-    shortName = "CPL-1.0";
+    spdxId = "CPL-1.0";
     fullName = "Common Public License 1.0";
   };
 
   epl10 = spdx {
-    shortName = "EPL-1.0";
+    spdxId = "EPL-1.0";
     fullName = "Eclipse Public License 1.0";
   };
 
-  free = "free";
+  free = {
+    fullName = "Unspecified free software license";
+  };
 
   gpl2 = spdx {
-    shortName = "GPL-2.0";
+    spdxId = "GPL-2.0";
     fullName = "GNU General Public License v2.0 only";
   };
 
   gpl2Oss = {
-    shortName = "GPL-2.0-with-OSS";
     fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
     url = http://www.mysql.com/about/legal/licensing/foss-exception;
   };
 
   gpl2Plus = spdx {
-    shortName = "GPL-2.0+";
+    spdxId = "GPL-2.0+";
     fullName = "GNU General Public License v2.0 or later";
   };
 
   gpl3 = spdx {
-    shortName = "GPL-3.0";
+    spdxId = "GPL-3.0";
     fullName = "GNU General Public License v3.0 only";
   };
 
   gpl3Plus = spdx {
-    shortName = "GPL-3.0+";
+    spdxId = "GPL-3.0+";
     fullName = "GNU General Public License v3.0 or later";
   };
 
   gpl3ClasspathPlus = {
-    shortName = "GPL-3.0+-with-classpath-exception";
     fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
     url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
   };
 
   inria = {
-    shortName = "INRIA-NCLA";
     fullName  = "INRIA Non-Commercial License Agreement";
     url       = "http://compcert.inria.fr/doc/LICENSE";
   };
 
   ipa = spdx {
-    shortName = "IPA";
+    spdxId = "IPA";
     fullName = "IPA Font License";
   };
 
   ipl10 = spdx {
-    shortName = "IPL-1.0";
+    spdxId = "IPL-1.0";
     fullName = "IBM Public License v1.0";
   };
 
   isc = spdx {
-    shortName = "ISC";
+    spdxId = "ISC";
     fullName = "ISC License";
   };
 
   lgpl2 = spdx {
-    shortName = "LGPL-2.0";
+    spdxId = "LGPL-2.0";
     fullName = "GNU Library General Public License v2 only";
   };
 
   lgpl2Plus = spdx {
-    shortName = "LGPL-2.0+";
+    spdxId = "LGPL-2.0+";
     fullName = "GNU Library General Public License v2 or later";
   };
 
   lgpl21 = spdx {
-    shortName = "LGPL-2.1";
+    spdxId = "LGPL-2.1";
     fullName = "GNU Library General Public License v2.1 only";
   };
 
   lgpl21Plus = spdx {
-    shortName = "LGPL-2.1+";
+    spdxId = "LGPL-2.1+";
     fullName = "GNU Library General Public License v2.1 or later";
   };
 
   lgpl3 = spdx {
-    shortName = "LGPL-3.0";
+    spdxId = "LGPL-3.0";
     fullName = "GNU Lesser General Public License v3.0 only";
   };
 
   lgpl3Plus = spdx {
-    shortName = "LGPL-3.0+";
+    spdxId = "LGPL-3.0+";
     fullName = "GNU Lesser General Public License v3.0 or later";
   };
 
   libpng = spdx {
-    shortName = "Libpng";
+    spdxId = "Libpng";
     fullName = "libpng License";
   };
 
   libtiff = {
-    shortName = "libtiff";
     fullName = "libtiff license";
     url = https://fedoraproject.org/wiki/Licensing/libtiff;
   };
 
   llgpl21 = {
-    shortName = "LLGPL-2.1";
     fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp";
     url = http://opensource.franz.com/preamble.html;
   };
 
   lpl-102 = spdx {
-    shortName = "LPL-1.02";
+    spdxId = "LPL-1.02";
     fullName = "Lucent Public License v1.02";
   };
 
   # spdx.org does not (yet) differentiate between the X11 and Expat versions
   # for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions
   mit = spdx {
-    shortName = "MIT";
+    spdxId = "MIT";
     fullName = "MIT License";
   };
 
   mpl11 = spdx {
-    shortName = "MPL-1.1";
+    spdxId = "MPL-1.1";
     fullName = "Mozilla Public License 1.1";
   };
 
   mpl20 = spdx {
-    shortName = "MPL-2.0";
+    spdxId = "MPL-2.0";
     fullName = "Mozilla Public License 2.0";
   };
 
   msrla = {
-    shortName = "MSR-LA";
     fullName  = "Microsoft Research License Agreement";
     url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
   };
 
   ncsa = spdx {
-    shortName = "NCSA";
+    spdxId = "NCSA";
     fullName  = "University of Illinois/NCSA Open Source License";
   };
 
   ofl = spdx {
-    shortName = "OFL-1.1";
+    spdxId = "OFL-1.1";
     fullName = "SIL Open Font License 1.1";
   };
 
   openssl = spdx {
-    shortName = "OpenSSL";
+    spdxId = "OpenSSL";
     fullName = "OpenSSL License";
   };
 
   postgresql = spdx {
-    shortName = "PostgreSQL";
+    spdxId = "PostgreSQL";
     fullName = "PostgreSQL License";
   };
 
   psfl = spdx {
-    shortName = "Python-2.0";
+    spdxId = "Python-2.0";
     fullName = "Python Software Foundation License version 2";
     #url = http://docs.python.org/license.html;
   };
 
   publicDomain = {
-    shortName = "Public Domain";
     fullName = "Public Domain";
   };
 
   sleepycat = spdx {
-    shortName = "Sleepycat";
+    spdxId = "Sleepycat";
     fullName  = "Sleepycat License";
   };
 
   tcltk = {
-    shortName = "Tcl/Tk";
     fullName = "Tcl/Tk license";
     url = http://www.tcl.tk/software/tcltk/license.html;
   };
@@ -308,29 +303,27 @@ rec {
   };
 
   unlicense = {
-    shortName = "Unlicense";
     fullName = "Unlicense";
     url = http://unlicense.org/;
   };
 
   wadalab = {
-    shortName = "wadalab";
     fullName = "Wadalab Font License";
     url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
   };
 
   zlib = spdx {
-    shortName = "Zlib";
+    spdxId = "Zlib";
     fullName = "zlib License";
   };
 
   zpt20 = spdx { # FIXME: why zpt* instead of zpl*
-    shortName = "ZPL-2.0";
+    spdxId = "ZPL-2.0";
     fullName = "Zope Public License 2.0";
   };
 
   zpt21 = spdx {
-    shortName = "ZPL-2.1";
+    spdxId = "ZPL-2.1";
     fullName = "Zope Public License 2.1";
   };