Merge pull request #10634 from cabalism/hlint/unused-lang-pragma
[cabal.git] / Cabal-syntax / src / Distribution / SPDX / LicenseExceptionId.hs
blob6d0bb37caba00686faace87b34682e70b7815699
1 -- This file is generated. See Makefile's spdx rule
2 {- FOURMOLU_DISABLE -}
3 {-# LANGUAGE DeriveDataTypeable #-}
4 {-# LANGUAGE DeriveGeneric #-}
5 module Distribution.SPDX.LicenseExceptionId (
6 LicenseExceptionId (..),
7 licenseExceptionId,
8 licenseExceptionName,
9 mkLicenseExceptionId,
10 licenseExceptionIdList,
11 ) where
13 import Distribution.Compat.Prelude
14 import Prelude ()
16 import Distribution.Compat.Lens (set)
17 import Distribution.Pretty
18 import Distribution.Parsec
19 import Distribution.Utils.Generic (isAsciiAlphaNum)
20 import Distribution.Utils.Structured (Structured (..), nominalStructure, typeVersion)
21 import Distribution.SPDX.LicenseListVersion
23 import qualified Data.Binary.Get as Binary
24 import qualified Data.Binary.Put as Binary
25 import qualified Data.Map.Strict as Map
26 import qualified Distribution.Compat.CharParsing as P
27 import qualified Text.PrettyPrint as Disp
29 -------------------------------------------------------------------------------
30 -- LicenseExceptionId
31 -------------------------------------------------------------------------------
33 -- | SPDX License Exceptions identifiers list v3.25
34 data LicenseExceptionId
35 = N_389_exception -- ^ @389-exception@, 389 Directory Server Exception
36 | Asterisk_exception -- ^ @Asterisk-exception@, Asterisk exception, SPDX License List 3.23, SPDX License List 3.25
37 | Asterisk_linking_protocols_exception -- ^ @Asterisk-linking-protocols-exception@, Asterisk linking protocols exception, SPDX License List 3.25
38 | Autoconf_exception_2_0 -- ^ @Autoconf-exception-2.0@, Autoconf exception 2.0
39 | Autoconf_exception_3_0 -- ^ @Autoconf-exception-3.0@, Autoconf exception 3.0
40 | Autoconf_exception_generic_3_0 -- ^ @Autoconf-exception-generic-3.0@, Autoconf generic exception for GPL-3.0, SPDX License List 3.23, SPDX License List 3.25
41 | Autoconf_exception_generic -- ^ @Autoconf-exception-generic@, Autoconf generic exception, SPDX License List 3.23, SPDX License List 3.25
42 | Autoconf_exception_macro -- ^ @Autoconf-exception-macro@, Autoconf macro exception, SPDX License List 3.23, SPDX License List 3.25
43 | Bison_exception_1_24 -- ^ @Bison-exception-1.24@, Bison exception 1.24, SPDX License List 3.23, SPDX License List 3.25
44 | Bison_exception_2_2 -- ^ @Bison-exception-2.2@, Bison exception 2.2
45 | Bootloader_exception -- ^ @Bootloader-exception@, Bootloader Distribution Exception
46 | Classpath_exception_2_0 -- ^ @Classpath-exception-2.0@, Classpath exception 2.0
47 | CLISP_exception_2_0 -- ^ @CLISP-exception-2.0@, CLISP exception 2.0
48 | Cryptsetup_OpenSSL_exception -- ^ @cryptsetup-OpenSSL-exception@, cryptsetup OpenSSL exception, SPDX License List 3.23, SPDX License List 3.25
49 | DigiRule_FOSS_exception -- ^ @DigiRule-FOSS-exception@, DigiRule FOSS License Exception
50 | ECos_exception_2_0 -- ^ @eCos-exception-2.0@, eCos exception 2.0
51 | Erlang_otp_linking_exception -- ^ @erlang-otp-linking-exception@, Erlang/OTP Linking Exception, SPDX License List 3.25
52 | Fawkes_Runtime_exception -- ^ @Fawkes-Runtime-exception@, Fawkes Runtime Exception
53 | FLTK_exception -- ^ @FLTK-exception@, FLTK exception
54 | Fmt_exception -- ^ @fmt-exception@, fmt exception, SPDX License List 3.23, SPDX License List 3.25
55 | Font_exception_2_0 -- ^ @Font-exception-2.0@, Font exception 2.0
56 | Freertos_exception_2_0 -- ^ @freertos-exception-2.0@, FreeRTOS Exception 2.0
57 | GCC_exception_2_0_note -- ^ @GCC-exception-2.0-note@, GCC Runtime Library exception 2.0 - note variant, SPDX License List 3.23, SPDX License List 3.25
58 | GCC_exception_2_0 -- ^ @GCC-exception-2.0@, GCC Runtime Library exception 2.0
59 | GCC_exception_3_1 -- ^ @GCC-exception-3.1@, GCC Runtime Library exception 3.1
60 | Gmsh_exception -- ^ @Gmsh-exception@, Gmsh exception>, SPDX License List 3.23, SPDX License List 3.25
61 | GNAT_exception -- ^ @GNAT-exception@, GNAT exception, SPDX License List 3.23, SPDX License List 3.25
62 | GNOME_examples_exception -- ^ @GNOME-examples-exception@, GNOME examples exception, SPDX License List 3.23, SPDX License List 3.25
63 | GNU_compiler_exception -- ^ @GNU-compiler-exception@, GNU Compiler Exception, SPDX License List 3.23, SPDX License List 3.25
64 | Gnu_javamail_exception -- ^ @gnu-javamail-exception@, GNU JavaMail exception
65 | GPL_3_0_interface_exception -- ^ @GPL-3.0-interface-exception@, GPL-3.0 Interface Exception, SPDX License List 3.23, SPDX License List 3.25
66 | GPL_3_0_linking_exception -- ^ @GPL-3.0-linking-exception@, GPL-3.0 Linking Exception, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
67 | GPL_3_0_linking_source_exception -- ^ @GPL-3.0-linking-source-exception@, GPL-3.0 Linking Exception (with Corresponding Source), SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
68 | GPL_CC_1_0 -- ^ @GPL-CC-1.0@, GPL Cooperation Commitment 1.0, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
69 | GStreamer_exception_2005 -- ^ @GStreamer-exception-2005@, GStreamer Exception (2005), SPDX License List 3.23, SPDX License List 3.25
70 | GStreamer_exception_2008 -- ^ @GStreamer-exception-2008@, GStreamer Exception (2008), SPDX License List 3.23, SPDX License List 3.25
71 | I2p_gpl_java_exception -- ^ @i2p-gpl-java-exception@, i2p GPL+Java Exception
72 | KiCad_libraries_exception -- ^ @KiCad-libraries-exception@, KiCad Libraries Exception, SPDX License List 3.23, SPDX License List 3.25
73 | LGPL_3_0_linking_exception -- ^ @LGPL-3.0-linking-exception@, LGPL-3.0 Linking Exception, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
74 | Libpri_OpenH323_exception -- ^ @libpri-OpenH323-exception@, libpri OpenH323 exception, SPDX License List 3.23, SPDX License List 3.25
75 | Libtool_exception -- ^ @Libtool-exception@, Libtool Exception
76 | Linux_syscall_note -- ^ @Linux-syscall-note@, Linux Syscall Note
77 | LLGPL -- ^ @LLGPL@, LLGPL Preamble, SPDX License List 3.23, SPDX License List 3.25
78 | LLVM_exception -- ^ @LLVM-exception@, LLVM Exception, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
79 | LZMA_exception -- ^ @LZMA-exception@, LZMA exception
80 | Mif_exception -- ^ @mif-exception@, Macros and Inline Functions Exception
81 | Nokia_Qt_exception_1_1 -- ^ @Nokia-Qt-exception-1.1@, Nokia Qt LGPL exception 1.1, SPDX License List 3.0, SPDX License List 3.2
82 | OCaml_LGPL_linking_exception -- ^ @OCaml-LGPL-linking-exception@, OCaml LGPL Linking Exception, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
83 | OCCT_exception_1_0 -- ^ @OCCT-exception-1.0@, Open CASCADE Exception 1.0
84 | OpenJDK_assembly_exception_1_0 -- ^ @OpenJDK-assembly-exception-1.0@, OpenJDK Assembly exception 1.0, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
85 | Openvpn_openssl_exception -- ^ @openvpn-openssl-exception@, OpenVPN OpenSSL Exception
86 | PCRE2_exception -- ^ @PCRE2-exception@, PCRE2 exception, SPDX License List 3.25
87 | PS_or_PDF_font_exception_20170817 -- ^ @PS-or-PDF-font-exception-20170817@, PS/PDF font exception (2017-08-17), SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
88 | QPL_1_0_INRIA_2004_exception -- ^ @QPL-1.0-INRIA-2004-exception@, INRIA QPL 1.0 2004 variant exception, SPDX License List 3.23, SPDX License List 3.25
89 | Qt_GPL_exception_1_0 -- ^ @Qt-GPL-exception-1.0@, Qt GPL exception 1.0, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
90 | Qt_LGPL_exception_1_1 -- ^ @Qt-LGPL-exception-1.1@, Qt LGPL exception 1.1, SPDX License List 3.2, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
91 | Qwt_exception_1_0 -- ^ @Qwt-exception-1.0@, Qwt exception 1.0
92 | Romic_exception -- ^ @romic-exception@, Romic Exception, SPDX License List 3.25
93 | RRDtool_FLOSS_exception_2_0 -- ^ @RRDtool-FLOSS-exception-2.0@, RRDtool FLOSS exception 2.0, SPDX License List 3.25
94 | SANE_exception -- ^ @SANE-exception@, SANE Exception, SPDX License List 3.23, SPDX License List 3.25
95 | SHL_2_0 -- ^ @SHL-2.0@, Solderpad Hardware License v2.0, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
96 | SHL_2_1 -- ^ @SHL-2.1@, Solderpad Hardware License v2.1, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
97 | Stunnel_exception -- ^ @stunnel-exception@, stunnel Exception, SPDX License List 3.23, SPDX License List 3.25
98 | SWI_exception -- ^ @SWI-exception@, SWI exception, SPDX License List 3.23, SPDX License List 3.25
99 | Swift_exception -- ^ @Swift-exception@, Swift Exception, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
100 | Texinfo_exception -- ^ @Texinfo-exception@, Texinfo exception, SPDX License List 3.23, SPDX License List 3.25
101 | U_boot_exception_2_0 -- ^ @u-boot-exception-2.0@, U-Boot exception 2.0
102 | UBDL_exception -- ^ @UBDL-exception@, Unmodified Binary Distribution exception, SPDX License List 3.23, SPDX License List 3.25
103 | Universal_FOSS_exception_1_0 -- ^ @Universal-FOSS-exception-1.0@, Universal FOSS Exception, Version 1.0, SPDX License List 3.6, SPDX License List 3.9, SPDX License List 3.10, SPDX License List 3.16, SPDX License List 3.23, SPDX License List 3.25
104 | Vsftpd_openssl_exception -- ^ @vsftpd-openssl-exception@, vsftpd OpenSSL exception, SPDX License List 3.23, SPDX License List 3.25
105 | WxWindows_exception_3_1 -- ^ @WxWindows-exception-3.1@, WxWindows Library Exception 3.1
106 | X11vnc_openssl_exception -- ^ @x11vnc-openssl-exception@, x11vnc OpenSSL Exception, SPDX License List 3.23, SPDX License List 3.25
107 deriving (Eq, Ord, Enum, Bounded, Show, Read, Typeable, Data, Generic)
109 instance Binary LicenseExceptionId where
110 put = Binary.putWord8 . fromIntegral . fromEnum
111 get = do
112 i <- Binary.getWord8
113 if i > fromIntegral (fromEnum (maxBound :: LicenseExceptionId))
114 then fail "Too large LicenseExceptionId tag"
115 else return (toEnum (fromIntegral i))
117 -- note: remember to bump version each time the definition changes
118 instance Structured LicenseExceptionId where
119 structure p = set typeVersion 306 $ nominalStructure p
121 instance Pretty LicenseExceptionId where
122 pretty = Disp.text . licenseExceptionId
124 instance Parsec LicenseExceptionId where
125 parsec = do
126 n <- some $ P.satisfy $ \c -> isAsciiAlphaNum c || c == '-' || c == '.'
127 v <- askCabalSpecVersion
128 maybe (fail $ "Unknown SPDX license exception identifier: " ++ n) return $
129 mkLicenseExceptionId (cabalSpecVersionToSPDXListVersion v) n
131 instance NFData LicenseExceptionId where
132 rnf l = l `seq` ()
134 -------------------------------------------------------------------------------
135 -- License Data
136 -------------------------------------------------------------------------------
138 -- | License SPDX identifier, e.g. @"BSD-3-Clause"@.
139 licenseExceptionId :: LicenseExceptionId -> String
140 licenseExceptionId N_389_exception = "389-exception"
141 licenseExceptionId Asterisk_exception = "Asterisk-exception"
142 licenseExceptionId Asterisk_linking_protocols_exception = "Asterisk-linking-protocols-exception"
143 licenseExceptionId Autoconf_exception_2_0 = "Autoconf-exception-2.0"
144 licenseExceptionId Autoconf_exception_3_0 = "Autoconf-exception-3.0"
145 licenseExceptionId Autoconf_exception_generic_3_0 = "Autoconf-exception-generic-3.0"
146 licenseExceptionId Autoconf_exception_generic = "Autoconf-exception-generic"
147 licenseExceptionId Autoconf_exception_macro = "Autoconf-exception-macro"
148 licenseExceptionId Bison_exception_1_24 = "Bison-exception-1.24"
149 licenseExceptionId Bison_exception_2_2 = "Bison-exception-2.2"
150 licenseExceptionId Bootloader_exception = "Bootloader-exception"
151 licenseExceptionId Classpath_exception_2_0 = "Classpath-exception-2.0"
152 licenseExceptionId CLISP_exception_2_0 = "CLISP-exception-2.0"
153 licenseExceptionId Cryptsetup_OpenSSL_exception = "cryptsetup-OpenSSL-exception"
154 licenseExceptionId DigiRule_FOSS_exception = "DigiRule-FOSS-exception"
155 licenseExceptionId ECos_exception_2_0 = "eCos-exception-2.0"
156 licenseExceptionId Erlang_otp_linking_exception = "erlang-otp-linking-exception"
157 licenseExceptionId Fawkes_Runtime_exception = "Fawkes-Runtime-exception"
158 licenseExceptionId FLTK_exception = "FLTK-exception"
159 licenseExceptionId Fmt_exception = "fmt-exception"
160 licenseExceptionId Font_exception_2_0 = "Font-exception-2.0"
161 licenseExceptionId Freertos_exception_2_0 = "freertos-exception-2.0"
162 licenseExceptionId GCC_exception_2_0_note = "GCC-exception-2.0-note"
163 licenseExceptionId GCC_exception_2_0 = "GCC-exception-2.0"
164 licenseExceptionId GCC_exception_3_1 = "GCC-exception-3.1"
165 licenseExceptionId Gmsh_exception = "Gmsh-exception"
166 licenseExceptionId GNAT_exception = "GNAT-exception"
167 licenseExceptionId GNOME_examples_exception = "GNOME-examples-exception"
168 licenseExceptionId GNU_compiler_exception = "GNU-compiler-exception"
169 licenseExceptionId Gnu_javamail_exception = "gnu-javamail-exception"
170 licenseExceptionId GPL_3_0_interface_exception = "GPL-3.0-interface-exception"
171 licenseExceptionId GPL_3_0_linking_exception = "GPL-3.0-linking-exception"
172 licenseExceptionId GPL_3_0_linking_source_exception = "GPL-3.0-linking-source-exception"
173 licenseExceptionId GPL_CC_1_0 = "GPL-CC-1.0"
174 licenseExceptionId GStreamer_exception_2005 = "GStreamer-exception-2005"
175 licenseExceptionId GStreamer_exception_2008 = "GStreamer-exception-2008"
176 licenseExceptionId I2p_gpl_java_exception = "i2p-gpl-java-exception"
177 licenseExceptionId KiCad_libraries_exception = "KiCad-libraries-exception"
178 licenseExceptionId LGPL_3_0_linking_exception = "LGPL-3.0-linking-exception"
179 licenseExceptionId Libpri_OpenH323_exception = "libpri-OpenH323-exception"
180 licenseExceptionId Libtool_exception = "Libtool-exception"
181 licenseExceptionId Linux_syscall_note = "Linux-syscall-note"
182 licenseExceptionId LLGPL = "LLGPL"
183 licenseExceptionId LLVM_exception = "LLVM-exception"
184 licenseExceptionId LZMA_exception = "LZMA-exception"
185 licenseExceptionId Mif_exception = "mif-exception"
186 licenseExceptionId Nokia_Qt_exception_1_1 = "Nokia-Qt-exception-1.1"
187 licenseExceptionId OCaml_LGPL_linking_exception = "OCaml-LGPL-linking-exception"
188 licenseExceptionId OCCT_exception_1_0 = "OCCT-exception-1.0"
189 licenseExceptionId OpenJDK_assembly_exception_1_0 = "OpenJDK-assembly-exception-1.0"
190 licenseExceptionId Openvpn_openssl_exception = "openvpn-openssl-exception"
191 licenseExceptionId PCRE2_exception = "PCRE2-exception"
192 licenseExceptionId PS_or_PDF_font_exception_20170817 = "PS-or-PDF-font-exception-20170817"
193 licenseExceptionId QPL_1_0_INRIA_2004_exception = "QPL-1.0-INRIA-2004-exception"
194 licenseExceptionId Qt_GPL_exception_1_0 = "Qt-GPL-exception-1.0"
195 licenseExceptionId Qt_LGPL_exception_1_1 = "Qt-LGPL-exception-1.1"
196 licenseExceptionId Qwt_exception_1_0 = "Qwt-exception-1.0"
197 licenseExceptionId Romic_exception = "romic-exception"
198 licenseExceptionId RRDtool_FLOSS_exception_2_0 = "RRDtool-FLOSS-exception-2.0"
199 licenseExceptionId SANE_exception = "SANE-exception"
200 licenseExceptionId SHL_2_0 = "SHL-2.0"
201 licenseExceptionId SHL_2_1 = "SHL-2.1"
202 licenseExceptionId Stunnel_exception = "stunnel-exception"
203 licenseExceptionId SWI_exception = "SWI-exception"
204 licenseExceptionId Swift_exception = "Swift-exception"
205 licenseExceptionId Texinfo_exception = "Texinfo-exception"
206 licenseExceptionId U_boot_exception_2_0 = "u-boot-exception-2.0"
207 licenseExceptionId UBDL_exception = "UBDL-exception"
208 licenseExceptionId Universal_FOSS_exception_1_0 = "Universal-FOSS-exception-1.0"
209 licenseExceptionId Vsftpd_openssl_exception = "vsftpd-openssl-exception"
210 licenseExceptionId WxWindows_exception_3_1 = "WxWindows-exception-3.1"
211 licenseExceptionId X11vnc_openssl_exception = "x11vnc-openssl-exception"
213 -- | License name, e.g. @"GNU General Public License v2.0 only"@
214 licenseExceptionName :: LicenseExceptionId -> String
215 licenseExceptionName N_389_exception = "389 Directory Server Exception"
216 licenseExceptionName Asterisk_exception = "Asterisk exception"
217 licenseExceptionName Asterisk_linking_protocols_exception = "Asterisk linking protocols exception"
218 licenseExceptionName Autoconf_exception_2_0 = "Autoconf exception 2.0"
219 licenseExceptionName Autoconf_exception_3_0 = "Autoconf exception 3.0"
220 licenseExceptionName Autoconf_exception_generic_3_0 = "Autoconf generic exception for GPL-3.0"
221 licenseExceptionName Autoconf_exception_generic = "Autoconf generic exception"
222 licenseExceptionName Autoconf_exception_macro = "Autoconf macro exception"
223 licenseExceptionName Bison_exception_1_24 = "Bison exception 1.24"
224 licenseExceptionName Bison_exception_2_2 = "Bison exception 2.2"
225 licenseExceptionName Bootloader_exception = "Bootloader Distribution Exception"
226 licenseExceptionName Classpath_exception_2_0 = "Classpath exception 2.0"
227 licenseExceptionName CLISP_exception_2_0 = "CLISP exception 2.0"
228 licenseExceptionName Cryptsetup_OpenSSL_exception = "cryptsetup OpenSSL exception"
229 licenseExceptionName DigiRule_FOSS_exception = "DigiRule FOSS License Exception"
230 licenseExceptionName ECos_exception_2_0 = "eCos exception 2.0"
231 licenseExceptionName Erlang_otp_linking_exception = "Erlang/OTP Linking Exception"
232 licenseExceptionName Fawkes_Runtime_exception = "Fawkes Runtime Exception"
233 licenseExceptionName FLTK_exception = "FLTK exception"
234 licenseExceptionName Fmt_exception = "fmt exception"
235 licenseExceptionName Font_exception_2_0 = "Font exception 2.0"
236 licenseExceptionName Freertos_exception_2_0 = "FreeRTOS Exception 2.0"
237 licenseExceptionName GCC_exception_2_0_note = "GCC Runtime Library exception 2.0 - note variant"
238 licenseExceptionName GCC_exception_2_0 = "GCC Runtime Library exception 2.0"
239 licenseExceptionName GCC_exception_3_1 = "GCC Runtime Library exception 3.1"
240 licenseExceptionName Gmsh_exception = "Gmsh exception>"
241 licenseExceptionName GNAT_exception = "GNAT exception"
242 licenseExceptionName GNOME_examples_exception = "GNOME examples exception"
243 licenseExceptionName GNU_compiler_exception = "GNU Compiler Exception"
244 licenseExceptionName Gnu_javamail_exception = "GNU JavaMail exception"
245 licenseExceptionName GPL_3_0_interface_exception = "GPL-3.0 Interface Exception"
246 licenseExceptionName GPL_3_0_linking_exception = "GPL-3.0 Linking Exception"
247 licenseExceptionName GPL_3_0_linking_source_exception = "GPL-3.0 Linking Exception (with Corresponding Source)"
248 licenseExceptionName GPL_CC_1_0 = "GPL Cooperation Commitment 1.0"
249 licenseExceptionName GStreamer_exception_2005 = "GStreamer Exception (2005)"
250 licenseExceptionName GStreamer_exception_2008 = "GStreamer Exception (2008)"
251 licenseExceptionName I2p_gpl_java_exception = "i2p GPL+Java Exception"
252 licenseExceptionName KiCad_libraries_exception = "KiCad Libraries Exception"
253 licenseExceptionName LGPL_3_0_linking_exception = "LGPL-3.0 Linking Exception"
254 licenseExceptionName Libpri_OpenH323_exception = "libpri OpenH323 exception"
255 licenseExceptionName Libtool_exception = "Libtool Exception"
256 licenseExceptionName Linux_syscall_note = "Linux Syscall Note"
257 licenseExceptionName LLGPL = "LLGPL Preamble"
258 licenseExceptionName LLVM_exception = "LLVM Exception"
259 licenseExceptionName LZMA_exception = "LZMA exception"
260 licenseExceptionName Mif_exception = "Macros and Inline Functions Exception"
261 licenseExceptionName Nokia_Qt_exception_1_1 = "Nokia Qt LGPL exception 1.1"
262 licenseExceptionName OCaml_LGPL_linking_exception = "OCaml LGPL Linking Exception"
263 licenseExceptionName OCCT_exception_1_0 = "Open CASCADE Exception 1.0"
264 licenseExceptionName OpenJDK_assembly_exception_1_0 = "OpenJDK Assembly exception 1.0"
265 licenseExceptionName Openvpn_openssl_exception = "OpenVPN OpenSSL Exception"
266 licenseExceptionName PCRE2_exception = "PCRE2 exception"
267 licenseExceptionName PS_or_PDF_font_exception_20170817 = "PS/PDF font exception (2017-08-17)"
268 licenseExceptionName QPL_1_0_INRIA_2004_exception = "INRIA QPL 1.0 2004 variant exception"
269 licenseExceptionName Qt_GPL_exception_1_0 = "Qt GPL exception 1.0"
270 licenseExceptionName Qt_LGPL_exception_1_1 = "Qt LGPL exception 1.1"
271 licenseExceptionName Qwt_exception_1_0 = "Qwt exception 1.0"
272 licenseExceptionName Romic_exception = "Romic Exception"
273 licenseExceptionName RRDtool_FLOSS_exception_2_0 = "RRDtool FLOSS exception 2.0"
274 licenseExceptionName SANE_exception = "SANE Exception"
275 licenseExceptionName SHL_2_0 = "Solderpad Hardware License v2.0"
276 licenseExceptionName SHL_2_1 = "Solderpad Hardware License v2.1"
277 licenseExceptionName Stunnel_exception = "stunnel Exception"
278 licenseExceptionName SWI_exception = "SWI exception"
279 licenseExceptionName Swift_exception = "Swift Exception"
280 licenseExceptionName Texinfo_exception = "Texinfo exception"
281 licenseExceptionName U_boot_exception_2_0 = "U-Boot exception 2.0"
282 licenseExceptionName UBDL_exception = "Unmodified Binary Distribution exception"
283 licenseExceptionName Universal_FOSS_exception_1_0 = "Universal FOSS Exception, Version 1.0"
284 licenseExceptionName Vsftpd_openssl_exception = "vsftpd OpenSSL exception"
285 licenseExceptionName WxWindows_exception_3_1 = "WxWindows Library Exception 3.1"
286 licenseExceptionName X11vnc_openssl_exception = "x11vnc OpenSSL Exception"
288 -------------------------------------------------------------------------------
289 -- Creation
290 -------------------------------------------------------------------------------
292 licenseExceptionIdList :: LicenseListVersion -> [LicenseExceptionId]
293 licenseExceptionIdList LicenseListVersion_3_0 =
294 [ Nokia_Qt_exception_1_1
296 ++ bulkOfLicenses
297 licenseExceptionIdList LicenseListVersion_3_2 =
298 [ LLVM_exception
299 , Nokia_Qt_exception_1_1
300 , OpenJDK_assembly_exception_1_0
301 , PS_or_PDF_font_exception_20170817
302 , Qt_GPL_exception_1_0
303 , Qt_LGPL_exception_1_1
305 ++ bulkOfLicenses
306 licenseExceptionIdList LicenseListVersion_3_6 =
307 [ GPL_CC_1_0
308 , LLVM_exception
309 , OCaml_LGPL_linking_exception
310 , OpenJDK_assembly_exception_1_0
311 , PS_or_PDF_font_exception_20170817
312 , Qt_GPL_exception_1_0
313 , Qt_LGPL_exception_1_1
314 , Swift_exception
315 , Universal_FOSS_exception_1_0
317 ++ bulkOfLicenses
318 licenseExceptionIdList LicenseListVersion_3_9 =
319 [ GPL_3_0_linking_exception
320 , GPL_3_0_linking_source_exception
321 , GPL_CC_1_0
322 , LGPL_3_0_linking_exception
323 , LLVM_exception
324 , OCaml_LGPL_linking_exception
325 , OpenJDK_assembly_exception_1_0
326 , PS_or_PDF_font_exception_20170817
327 , Qt_GPL_exception_1_0
328 , Qt_LGPL_exception_1_1
329 , SHL_2_0
330 , SHL_2_1
331 , Swift_exception
332 , Universal_FOSS_exception_1_0
334 ++ bulkOfLicenses
335 licenseExceptionIdList LicenseListVersion_3_10 =
336 [ GPL_3_0_linking_exception
337 , GPL_3_0_linking_source_exception
338 , GPL_CC_1_0
339 , LGPL_3_0_linking_exception
340 , LLVM_exception
341 , OCaml_LGPL_linking_exception
342 , OpenJDK_assembly_exception_1_0
343 , PS_or_PDF_font_exception_20170817
344 , Qt_GPL_exception_1_0
345 , Qt_LGPL_exception_1_1
346 , SHL_2_0
347 , SHL_2_1
348 , Swift_exception
349 , Universal_FOSS_exception_1_0
351 ++ bulkOfLicenses
352 licenseExceptionIdList LicenseListVersion_3_16 =
353 [ GPL_3_0_linking_exception
354 , GPL_3_0_linking_source_exception
355 , GPL_CC_1_0
356 , LGPL_3_0_linking_exception
357 , LLVM_exception
358 , OCaml_LGPL_linking_exception
359 , OpenJDK_assembly_exception_1_0
360 , PS_or_PDF_font_exception_20170817
361 , Qt_GPL_exception_1_0
362 , Qt_LGPL_exception_1_1
363 , SHL_2_0
364 , SHL_2_1
365 , Swift_exception
366 , Universal_FOSS_exception_1_0
368 ++ bulkOfLicenses
369 licenseExceptionIdList LicenseListVersion_3_23 =
370 [ Asterisk_exception
371 , Autoconf_exception_generic_3_0
372 , Autoconf_exception_generic
373 , Autoconf_exception_macro
374 , Bison_exception_1_24
375 , Cryptsetup_OpenSSL_exception
376 , Fmt_exception
377 , GCC_exception_2_0_note
378 , Gmsh_exception
379 , GNAT_exception
380 , GNOME_examples_exception
381 , GNU_compiler_exception
382 , GPL_3_0_interface_exception
383 , GPL_3_0_linking_exception
384 , GPL_3_0_linking_source_exception
385 , GPL_CC_1_0
386 , GStreamer_exception_2005
387 , GStreamer_exception_2008
388 , KiCad_libraries_exception
389 , LGPL_3_0_linking_exception
390 , Libpri_OpenH323_exception
391 , LLGPL
392 , LLVM_exception
393 , OCaml_LGPL_linking_exception
394 , OpenJDK_assembly_exception_1_0
395 , PS_or_PDF_font_exception_20170817
396 , QPL_1_0_INRIA_2004_exception
397 , Qt_GPL_exception_1_0
398 , Qt_LGPL_exception_1_1
399 , SANE_exception
400 , SHL_2_0
401 , SHL_2_1
402 , Stunnel_exception
403 , SWI_exception
404 , Swift_exception
405 , Texinfo_exception
406 , UBDL_exception
407 , Universal_FOSS_exception_1_0
408 , Vsftpd_openssl_exception
409 , X11vnc_openssl_exception
411 ++ bulkOfLicenses
412 licenseExceptionIdList LicenseListVersion_3_25 =
413 [ Asterisk_exception
414 , Asterisk_linking_protocols_exception
415 , Autoconf_exception_generic_3_0
416 , Autoconf_exception_generic
417 , Autoconf_exception_macro
418 , Bison_exception_1_24
419 , Cryptsetup_OpenSSL_exception
420 , Erlang_otp_linking_exception
421 , Fmt_exception
422 , GCC_exception_2_0_note
423 , Gmsh_exception
424 , GNAT_exception
425 , GNOME_examples_exception
426 , GNU_compiler_exception
427 , GPL_3_0_interface_exception
428 , GPL_3_0_linking_exception
429 , GPL_3_0_linking_source_exception
430 , GPL_CC_1_0
431 , GStreamer_exception_2005
432 , GStreamer_exception_2008
433 , KiCad_libraries_exception
434 , LGPL_3_0_linking_exception
435 , Libpri_OpenH323_exception
436 , LLGPL
437 , LLVM_exception
438 , OCaml_LGPL_linking_exception
439 , OpenJDK_assembly_exception_1_0
440 , PCRE2_exception
441 , PS_or_PDF_font_exception_20170817
442 , QPL_1_0_INRIA_2004_exception
443 , Qt_GPL_exception_1_0
444 , Qt_LGPL_exception_1_1
445 , Romic_exception
446 , RRDtool_FLOSS_exception_2_0
447 , SANE_exception
448 , SHL_2_0
449 , SHL_2_1
450 , Stunnel_exception
451 , SWI_exception
452 , Swift_exception
453 , Texinfo_exception
454 , UBDL_exception
455 , Universal_FOSS_exception_1_0
456 , Vsftpd_openssl_exception
457 , X11vnc_openssl_exception
459 ++ bulkOfLicenses
461 -- | Create a 'LicenseExceptionId' from a 'String'.
462 mkLicenseExceptionId :: LicenseListVersion -> String -> Maybe LicenseExceptionId
463 mkLicenseExceptionId LicenseListVersion_3_0 s = Map.lookup s stringLookup_3_0
464 mkLicenseExceptionId LicenseListVersion_3_2 s = Map.lookup s stringLookup_3_2
465 mkLicenseExceptionId LicenseListVersion_3_6 s = Map.lookup s stringLookup_3_6
466 mkLicenseExceptionId LicenseListVersion_3_9 s = Map.lookup s stringLookup_3_9
467 mkLicenseExceptionId LicenseListVersion_3_10 s = Map.lookup s stringLookup_3_10
468 mkLicenseExceptionId LicenseListVersion_3_16 s = Map.lookup s stringLookup_3_16
469 mkLicenseExceptionId LicenseListVersion_3_23 s = Map.lookup s stringLookup_3_23
470 mkLicenseExceptionId LicenseListVersion_3_25 s = Map.lookup s stringLookup_3_25
472 stringLookup_3_0 :: Map String LicenseExceptionId
473 stringLookup_3_0 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
474 licenseExceptionIdList LicenseListVersion_3_0
476 stringLookup_3_2 :: Map String LicenseExceptionId
477 stringLookup_3_2 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
478 licenseExceptionIdList LicenseListVersion_3_2
480 stringLookup_3_6 :: Map String LicenseExceptionId
481 stringLookup_3_6 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
482 licenseExceptionIdList LicenseListVersion_3_6
484 stringLookup_3_9 :: Map String LicenseExceptionId
485 stringLookup_3_9 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
486 licenseExceptionIdList LicenseListVersion_3_9
488 stringLookup_3_10 :: Map String LicenseExceptionId
489 stringLookup_3_10 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
490 licenseExceptionIdList LicenseListVersion_3_10
492 stringLookup_3_16 :: Map String LicenseExceptionId
493 stringLookup_3_16 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
494 licenseExceptionIdList LicenseListVersion_3_16
496 stringLookup_3_23 :: Map String LicenseExceptionId
497 stringLookup_3_23 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
498 licenseExceptionIdList LicenseListVersion_3_23
500 stringLookup_3_25 :: Map String LicenseExceptionId
501 stringLookup_3_25 = Map.fromList $ map (\i -> (licenseExceptionId i, i)) $
502 licenseExceptionIdList LicenseListVersion_3_25
504 -- | License exceptions in all SPDX License lists
505 bulkOfLicenses :: [LicenseExceptionId]
506 bulkOfLicenses =
507 [ N_389_exception
508 , Autoconf_exception_2_0
509 , Autoconf_exception_3_0
510 , Bison_exception_2_2
511 , Bootloader_exception
512 , Classpath_exception_2_0
513 , CLISP_exception_2_0
514 , DigiRule_FOSS_exception
515 , ECos_exception_2_0
516 , Fawkes_Runtime_exception
517 , FLTK_exception
518 , Font_exception_2_0
519 , Freertos_exception_2_0
520 , GCC_exception_2_0
521 , GCC_exception_3_1
522 , Gnu_javamail_exception
523 , I2p_gpl_java_exception
524 , Libtool_exception
525 , Linux_syscall_note
526 , LZMA_exception
527 , Mif_exception
528 , OCCT_exception_1_0
529 , Openvpn_openssl_exception
530 , Qwt_exception_1_0
531 , U_boot_exception_2_0
532 , WxWindows_exception_3_1