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.
This commit is contained in:
Eelco Dolstra 2014-11-05 15:26:45 +01:00
parent af0557cf82
commit d43846a0d8

View file

@ -1,292 +1,287 @@
let let
lib = import ./default.nix;
spdx = lic: lic // { spdx = lic: lic // {
url = "http://spdx.org/licenses/${lic.shortName}"; url = "http://spdx.org/licenses/${lic.spdxId}";
}; };
in in
rec { lib.mapAttrs (n: v: v // { shortName = n; }) rec {
/* License identifiers from spdx.org where possible. /* License identifiers from spdx.org where possible.
* If you cannot find your license here, then look for a similar license or * 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. * add it to this list. The URL mentioned above is a good source for inspiration.
*/ */
agpl3 = spdx { agpl3 = spdx {
shortName = "AGPL-3.0"; spdxId = "AGPL-3.0";
fullName = "GNU Affero General Public License v3.0"; fullName = "GNU Affero General Public License v3.0";
}; };
agpl3Plus = { agpl3Plus = {
shortName = "AGPL-3.0+";
fullName = "GNU Affero General Public License v3.0 or later"; fullName = "GNU Affero General Public License v3.0 or later";
inherit (agpl3) url; inherit (agpl3) url;
}; };
amazonsl = { amazonsl = {
shortName = "asl";
fullName = "Amazon Software License"; fullName = "Amazon Software License";
url = http://aws.amazon.com/asl/; url = http://aws.amazon.com/asl/;
free = false; free = false;
}; };
amd = { amd = {
shortName = "amd";
fullName = "AMD License Agreement"; fullName = "AMD License Agreement";
url = http://developer.amd.com/amd-license-agreement/; url = http://developer.amd.com/amd-license-agreement/;
}; };
apsl20 = spdx { apsl20 = spdx {
shortName = "APSL-2.0"; spdxId = "APSL-2.0";
fullName = "Apple Public Source License 2.0"; fullName = "Apple Public Source License 2.0";
}; };
artistic2 = spdx { artistic2 = spdx {
shortName = "Artistic-2.0"; spdxId = "Artistic-2.0";
fullName = "Artistic License 2.0"; fullName = "Artistic License 2.0";
}; };
asl20 = spdx { asl20 = spdx {
shortName = "Apache-2.0"; spdxId = "Apache-2.0";
fullName = "Apache License 2.0"; fullName = "Apache License 2.0";
}; };
boost = spdx { boost = spdx {
shortName = "BSL-1.0"; spdxId = "BSL-1.0";
fullName = "Boost Software License 1.0"; fullName = "Boost Software License 1.0";
}; };
bsd2 = spdx { bsd2 = spdx {
shortName = "BSD-2-Clause"; spdxId = "BSD-2-Clause";
fullName = ''BSD 2-clause "Simplified" License''; fullName = ''BSD 2-clause "Simplified" License'';
}; };
bsd3 = spdx { bsd3 = spdx {
shortName = "BSD-3-Clause"; spdxId = "BSD-3-Clause";
fullName = ''BSD 3-clause "New" or "Revised" License''; fullName = ''BSD 3-clause "New" or "Revised" License'';
}; };
bsdOriginal = spdx { bsdOriginal = spdx {
shortName = "BSD-4-Clause"; spdxId = "BSD-4-Clause";
fullName = ''BSD 4-clause "Original" or "Old" License''; fullName = ''BSD 4-clause "Original" or "Old" License'';
}; };
cc0 = spdx { cc0 = spdx {
shortName = "CC0-1.0"; spdxId = "CC0-1.0";
fullName = ''Creative Commons Zero v1.0 Universal''; fullName = ''Creative Commons Zero v1.0 Universal'';
}; };
cc-by-30 = spdx { cc-by-30 = spdx {
shortName = "CC-BY-3.0"; spdxId = "CC-BY-3.0";
fullName = "Creative Commons Attribution 3.0"; fullName = "Creative Commons Attribution 3.0";
}; };
cc-by-sa-30 = spdx { 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"; fullName = "Creative Commons Attribution Share Alike 3.0";
}; };
cc-by-40 = spdx { cc-by-40 = spdx {
shortName = "CC-BY-4.0"; spdxId = "CC-BY-4.0";
fullName = "Creative Commons Attribution 4.0"; fullName = "Creative Commons Attribution 4.0";
}; };
cddl = spdx { cddl = spdx {
shortName = "CDDL-1.0"; spdxId = "CDDL-1.0";
fullName = "Common Development and Distribution License 1.0"; fullName = "Common Development and Distribution License 1.0";
}; };
cecill20 = spdx { cecill20 = spdx {
shortName = "CECILL-2.0"; spdxId = "CECILL-2.0";
fullName = "CeCILL Free Software License Agreement v2.0"; fullName = "CeCILL Free Software License Agreement v2.0";
}; };
cecill-b = spdx { cecill-b = spdx {
shortName = "CECILL-B"; spdxId = "CECILL-B";
fullName = "CeCILL-B Free Software License Agreement"; fullName = "CeCILL-B Free Software License Agreement";
}; };
cecill-c = spdx { cecill-c = spdx {
shortName = "CECILL-C"; spdxId = "CECILL-C";
fullName = "CeCILL-C Free Software License Agreement"; fullName = "CeCILL-C Free Software License Agreement";
}; };
cpl10 = spdx { cpl10 = spdx {
shortName = "CPL-1.0"; spdxId = "CPL-1.0";
fullName = "Common Public License 1.0"; fullName = "Common Public License 1.0";
}; };
epl10 = spdx { epl10 = spdx {
shortName = "EPL-1.0"; spdxId = "EPL-1.0";
fullName = "Eclipse Public License 1.0"; fullName = "Eclipse Public License 1.0";
}; };
free = "free"; free = {
fullName = "Unspecified free software license";
};
gpl2 = spdx { gpl2 = spdx {
shortName = "GPL-2.0"; spdxId = "GPL-2.0";
fullName = "GNU General Public License v2.0 only"; fullName = "GNU General Public License v2.0 only";
}; };
gpl2Oss = { gpl2Oss = {
shortName = "GPL-2.0-with-OSS";
fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)"; fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
url = http://www.mysql.com/about/legal/licensing/foss-exception; url = http://www.mysql.com/about/legal/licensing/foss-exception;
}; };
gpl2Plus = spdx { gpl2Plus = spdx {
shortName = "GPL-2.0+"; spdxId = "GPL-2.0+";
fullName = "GNU General Public License v2.0 or later"; fullName = "GNU General Public License v2.0 or later";
}; };
gpl3 = spdx { gpl3 = spdx {
shortName = "GPL-3.0"; spdxId = "GPL-3.0";
fullName = "GNU General Public License v3.0 only"; fullName = "GNU General Public License v3.0 only";
}; };
gpl3Plus = spdx { gpl3Plus = spdx {
shortName = "GPL-3.0+"; spdxId = "GPL-3.0+";
fullName = "GNU General Public License v3.0 or later"; fullName = "GNU General Public License v3.0 or later";
}; };
gpl3ClasspathPlus = { gpl3ClasspathPlus = {
shortName = "GPL-3.0+-with-classpath-exception";
fullName = "GNU General Public License v3.0 or later (with Classpath exception)"; fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception; url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
}; };
inria = { inria = {
shortName = "INRIA-NCLA";
fullName = "INRIA Non-Commercial License Agreement"; fullName = "INRIA Non-Commercial License Agreement";
url = "http://compcert.inria.fr/doc/LICENSE"; url = "http://compcert.inria.fr/doc/LICENSE";
}; };
ipa = spdx { ipa = spdx {
shortName = "IPA"; spdxId = "IPA";
fullName = "IPA Font License"; fullName = "IPA Font License";
}; };
ipl10 = spdx { ipl10 = spdx {
shortName = "IPL-1.0"; spdxId = "IPL-1.0";
fullName = "IBM Public License v1.0"; fullName = "IBM Public License v1.0";
}; };
isc = spdx { isc = spdx {
shortName = "ISC"; spdxId = "ISC";
fullName = "ISC License"; fullName = "ISC License";
}; };
lgpl2 = spdx { lgpl2 = spdx {
shortName = "LGPL-2.0"; spdxId = "LGPL-2.0";
fullName = "GNU Library General Public License v2 only"; fullName = "GNU Library General Public License v2 only";
}; };
lgpl2Plus = spdx { lgpl2Plus = spdx {
shortName = "LGPL-2.0+"; spdxId = "LGPL-2.0+";
fullName = "GNU Library General Public License v2 or later"; fullName = "GNU Library General Public License v2 or later";
}; };
lgpl21 = spdx { lgpl21 = spdx {
shortName = "LGPL-2.1"; spdxId = "LGPL-2.1";
fullName = "GNU Library General Public License v2.1 only"; fullName = "GNU Library General Public License v2.1 only";
}; };
lgpl21Plus = spdx { lgpl21Plus = spdx {
shortName = "LGPL-2.1+"; spdxId = "LGPL-2.1+";
fullName = "GNU Library General Public License v2.1 or later"; fullName = "GNU Library General Public License v2.1 or later";
}; };
lgpl3 = spdx { lgpl3 = spdx {
shortName = "LGPL-3.0"; spdxId = "LGPL-3.0";
fullName = "GNU Lesser General Public License v3.0 only"; fullName = "GNU Lesser General Public License v3.0 only";
}; };
lgpl3Plus = spdx { lgpl3Plus = spdx {
shortName = "LGPL-3.0+"; spdxId = "LGPL-3.0+";
fullName = "GNU Lesser General Public License v3.0 or later"; fullName = "GNU Lesser General Public License v3.0 or later";
}; };
libpng = spdx { libpng = spdx {
shortName = "Libpng"; spdxId = "Libpng";
fullName = "libpng License"; fullName = "libpng License";
}; };
libtiff = { libtiff = {
shortName = "libtiff";
fullName = "libtiff license"; fullName = "libtiff license";
url = https://fedoraproject.org/wiki/Licensing/libtiff; url = https://fedoraproject.org/wiki/Licensing/libtiff;
}; };
llgpl21 = { 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"; 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; url = http://opensource.franz.com/preamble.html;
}; };
lpl-102 = spdx { lpl-102 = spdx {
shortName = "LPL-1.02"; spdxId = "LPL-1.02";
fullName = "Lucent Public License v1.02"; fullName = "Lucent Public License v1.02";
}; };
# spdx.org does not (yet) differentiate between the X11 and Expat versions # spdx.org does not (yet) differentiate between the X11 and Expat versions
# for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions # for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions
mit = spdx { mit = spdx {
shortName = "MIT"; spdxId = "MIT";
fullName = "MIT License"; fullName = "MIT License";
}; };
mpl11 = spdx { mpl11 = spdx {
shortName = "MPL-1.1"; spdxId = "MPL-1.1";
fullName = "Mozilla Public License 1.1"; fullName = "Mozilla Public License 1.1";
}; };
mpl20 = spdx { mpl20 = spdx {
shortName = "MPL-2.0"; spdxId = "MPL-2.0";
fullName = "Mozilla Public License 2.0"; fullName = "Mozilla Public License 2.0";
}; };
msrla = { msrla = {
shortName = "MSR-LA";
fullName = "Microsoft Research License Agreement"; fullName = "Microsoft Research License Agreement";
url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt"; url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
}; };
ncsa = spdx { ncsa = spdx {
shortName = "NCSA"; spdxId = "NCSA";
fullName = "University of Illinois/NCSA Open Source License"; fullName = "University of Illinois/NCSA Open Source License";
}; };
ofl = spdx { ofl = spdx {
shortName = "OFL-1.1"; spdxId = "OFL-1.1";
fullName = "SIL Open Font License 1.1"; fullName = "SIL Open Font License 1.1";
}; };
openssl = spdx { openssl = spdx {
shortName = "OpenSSL"; spdxId = "OpenSSL";
fullName = "OpenSSL License"; fullName = "OpenSSL License";
}; };
postgresql = spdx { postgresql = spdx {
shortName = "PostgreSQL"; spdxId = "PostgreSQL";
fullName = "PostgreSQL License"; fullName = "PostgreSQL License";
}; };
psfl = spdx { psfl = spdx {
shortName = "Python-2.0"; spdxId = "Python-2.0";
fullName = "Python Software Foundation License version 2"; fullName = "Python Software Foundation License version 2";
#url = http://docs.python.org/license.html; #url = http://docs.python.org/license.html;
}; };
publicDomain = { publicDomain = {
shortName = "Public Domain";
fullName = "Public Domain"; fullName = "Public Domain";
}; };
sleepycat = spdx { sleepycat = spdx {
shortName = "Sleepycat"; spdxId = "Sleepycat";
fullName = "Sleepycat License"; fullName = "Sleepycat License";
}; };
tcltk = { tcltk = {
shortName = "Tcl/Tk";
fullName = "Tcl/Tk license"; fullName = "Tcl/Tk license";
url = http://www.tcl.tk/software/tcltk/license.html; url = http://www.tcl.tk/software/tcltk/license.html;
}; };
@ -308,29 +303,27 @@ rec {
}; };
unlicense = { unlicense = {
shortName = "Unlicense";
fullName = "Unlicense"; fullName = "Unlicense";
url = http://unlicense.org/; url = http://unlicense.org/;
}; };
wadalab = { wadalab = {
shortName = "wadalab";
fullName = "Wadalab Font License"; fullName = "Wadalab Font License";
url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab; url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
}; };
zlib = spdx { zlib = spdx {
shortName = "Zlib"; spdxId = "Zlib";
fullName = "zlib License"; fullName = "zlib License";
}; };
zpt20 = spdx { # FIXME: why zpt* instead of zpl* zpt20 = spdx { # FIXME: why zpt* instead of zpl*
shortName = "ZPL-2.0"; spdxId = "ZPL-2.0";
fullName = "Zope Public License 2.0"; fullName = "Zope Public License 2.0";
}; };
zpt21 = spdx { zpt21 = spdx {
shortName = "ZPL-2.1"; spdxId = "ZPL-2.1";
fullName = "Zope Public License 2.1"; fullName = "Zope Public License 2.1";
}; };