arch-web 0.3.1 → 0.3.2
raw patch · 6 files changed
+730/−342 lines, 6 filesdep +bytestringdep +containersdep +directorydep ~deriving-aesondep ~exceptionsdep ~http-clientPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: bytestring, containers, directory, filepath, template-haskell
Dependency ranges changed: deriving-aeson, exceptions, http-client, http-client-tls, http-types, lens
API changes (from Hackage documentation)
- Web.ArchLinux.Types: [$sel:_arch:PackageFiles] :: PackageFiles -> Arch
- Web.ArchLinux.Types: [$sel:_arch:PackageInformation] :: PackageInformation -> Arch
- Web.ArchLinux.Types: [$sel:_aurType:AurResponse] :: AurResponse a -> AurResponseType
- Web.ArchLinux.Types: [$sel:_buildDate:PackageInformation] :: PackageInformation -> UTCTime
- Web.ArchLinux.Types: [$sel:_checkdepends:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_checkdepends:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_compressedSize:PackageInformation] :: PackageInformation -> Int
- Web.ArchLinux.Types: [$sel:_conflicts:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_conflicts:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_depends:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_depends:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_description:AurSearch] :: AurSearch -> Maybe Text
- Web.ArchLinux.Types: [$sel:_dirCount:PackageFiles] :: PackageFiles -> Int
- Web.ArchLinux.Types: [$sel:_epoch:PackageInformation] :: PackageInformation -> Int
- Web.ArchLinux.Types: [$sel:_error:AurResponse] :: AurResponse a -> Maybe Text
- Web.ArchLinux.Types: [$sel:_filename:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_files:PackageFiles] :: PackageFiles -> [FilePath]
- Web.ArchLinux.Types: [$sel:_filesCount:PackageFiles] :: PackageFiles -> Int
- Web.ArchLinux.Types: [$sel:_filesLastUpdate:PackageFiles] :: PackageFiles -> UTCTime
- Web.ArchLinux.Types: [$sel:_firstSubmitted:AurSearch] :: AurSearch -> Int
- Web.ArchLinux.Types: [$sel:_flageDate:PackageInformation] :: PackageInformation -> Maybe UTCTime
- Web.ArchLinux.Types: [$sel:_groups:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_groups:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_id:AurSearch] :: AurSearch -> Int
- Web.ArchLinux.Types: [$sel:_installedSize:PackageInformation] :: PackageInformation -> Int
- Web.ArchLinux.Types: [$sel:_keywords:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_lastModified:AurSearch] :: AurSearch -> Int
- Web.ArchLinux.Types: [$sel:_lastUpdate:PackageInformation] :: PackageInformation -> UTCTime
- Web.ArchLinux.Types: [$sel:_licenses:AurInfo] :: AurInfo -> [License]
- Web.ArchLinux.Types: [$sel:_licenses:PackageInformation] :: PackageInformation -> [License]
- Web.ArchLinux.Types: [$sel:_limit:ArchLinuxResponse] :: ArchLinuxResponse a -> Int
- Web.ArchLinux.Types: [$sel:_maintainer:AurSearch] :: AurSearch -> Maybe Text
- Web.ArchLinux.Types: [$sel:_maintainers:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_makedepends:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_makedepends:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_name:AurSearch] :: AurSearch -> Text
- Web.ArchLinux.Types: [$sel:_numVotes:AurSearch] :: AurSearch -> Int
- Web.ArchLinux.Types: [$sel:_optdepends:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_optdepends:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_outOfDate:AurSearch] :: AurSearch -> Maybe Int
- Web.ArchLinux.Types: [$sel:_packageBase:AurSearch] :: AurSearch -> Text
- Web.ArchLinux.Types: [$sel:_packageBaseID:AurSearch] :: AurSearch -> Int
- Web.ArchLinux.Types: [$sel:_packager:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_pkgLastUpdate:PackageFiles] :: PackageFiles -> UTCTime
- Web.ArchLinux.Types: [$sel:_pkgbase:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_pkgdesc:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_pkgname:PackageFiles] :: PackageFiles -> Text
- Web.ArchLinux.Types: [$sel:_pkgname:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_pkgrel:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_pkgver:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_popularity:AurSearch] :: AurSearch -> Double
- Web.ArchLinux.Types: [$sel:_provides:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_provides:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_replaces:AurInfo] :: AurInfo -> [Text]
- Web.ArchLinux.Types: [$sel:_replaces:PackageInformation] :: PackageInformation -> [Text]
- Web.ArchLinux.Types: [$sel:_repo:PackageFiles] :: PackageFiles -> Repo
- Web.ArchLinux.Types: [$sel:_repo:PackageInformation] :: PackageInformation -> Repo
- Web.ArchLinux.Types: [$sel:_resultCount:AurResponse] :: AurResponse a -> Int
- Web.ArchLinux.Types: [$sel:_results:ArchLinuxResponse] :: ArchLinuxResponse a -> [a]
- Web.ArchLinux.Types: [$sel:_results:AurResponse] :: AurResponse a -> a
- Web.ArchLinux.Types: [$sel:_search:AurInfo] :: AurInfo -> AurSearch
- Web.ArchLinux.Types: [$sel:_url:AurSearch] :: AurSearch -> Maybe Text
- Web.ArchLinux.Types: [$sel:_url:PackageInformation] :: PackageInformation -> Text
- Web.ArchLinux.Types: [$sel:_urlPath:AurSearch] :: AurSearch -> Text
- Web.ArchLinux.Types: [$sel:_valid:ArchLinuxResponse] :: ArchLinuxResponse a -> Bool
- Web.ArchLinux.Types: [$sel:_version:ArchLinuxResponse] :: ArchLinuxResponse a -> Int
- Web.ArchLinux.Types: [$sel:_version:AurResponse] :: AurResponse a -> Int
- Web.ArchLinux.Types: [$sel:_version:AurSearch] :: AurSearch -> Text
+ Web.ArchLinux.Types: AAL :: License
+ Web.ArchLinux.Types: ADSL :: License
+ Web.ArchLinux.Types: AFL_1_1 :: License
+ Web.ArchLinux.Types: AFL_1_2 :: License
+ Web.ArchLinux.Types: AFL_2_0 :: License
+ Web.ArchLinux.Types: AFL_2_1 :: License
+ Web.ArchLinux.Types: AFL_3_0 :: License
+ Web.ArchLinux.Types: AGPL_1_0_only :: License
+ Web.ArchLinux.Types: AGPL_1_0_or_later :: License
+ Web.ArchLinux.Types: AMDPLPA :: License
+ Web.ArchLinux.Types: AMD_newlib :: License
+ Web.ArchLinux.Types: AML :: License
+ Web.ArchLinux.Types: AML_glslang :: License
+ Web.ArchLinux.Types: AMPAS :: License
+ Web.ArchLinux.Types: ANTLR_PD :: License
+ Web.ArchLinux.Types: ANTLR_PD_fallback :: License
+ Web.ArchLinux.Types: APAFML :: License
+ Web.ArchLinux.Types: APL_1_0 :: License
+ Web.ArchLinux.Types: APSL_1_0 :: License
+ Web.ArchLinux.Types: APSL_1_1 :: License
+ Web.ArchLinux.Types: APSL_1_2 :: License
+ Web.ArchLinux.Types: APSL_2_0 :: License
+ Web.ArchLinux.Types: ASWF_Digital_Assets_1_0 :: License
+ Web.ArchLinux.Types: ASWF_Digital_Assets_1_1 :: License
+ Web.ArchLinux.Types: Abstyles :: License
+ Web.ArchLinux.Types: AdaCore_doc :: License
+ Web.ArchLinux.Types: Adobe_2006 :: License
+ Web.ArchLinux.Types: Adobe_Display_PostScript :: License
+ Web.ArchLinux.Types: Adobe_Glyph :: License
+ Web.ArchLinux.Types: Adobe_Utopia :: License
+ Web.ArchLinux.Types: Afmparse :: License
+ Web.ArchLinux.Types: Aladdin :: License
+ Web.ArchLinux.Types: Any_OSI :: License
+ Web.ArchLinux.Types: Apache_1_0 :: License
+ Web.ArchLinux.Types: Apache_1_1 :: License
+ Web.ArchLinux.Types: App_s2p :: License
+ Web.ArchLinux.Types: Arphic_1999 :: License
+ Web.ArchLinux.Types: Artistic_1_0 :: License
+ Web.ArchLinux.Types: Artistic_1_0_cl8 :: License
+ Web.ArchLinux.Types: BSD_1_Clause :: License
+ Web.ArchLinux.Types: BSD_2_Clause :: License
+ Web.ArchLinux.Types: BSD_2_Clause_Darwin :: License
+ Web.ArchLinux.Types: BSD_2_Clause_Patent :: License
+ Web.ArchLinux.Types: BSD_2_Clause_Views :: License
+ Web.ArchLinux.Types: BSD_2_Clause_first_lines :: License
+ Web.ArchLinux.Types: BSD_3_Clause :: License
+ Web.ArchLinux.Types: BSD_3_Clause_Attribution :: License
+ Web.ArchLinux.Types: BSD_3_Clause_Clear :: License
+ Web.ArchLinux.Types: BSD_3_Clause_HP :: License
+ Web.ArchLinux.Types: BSD_3_Clause_LBNL :: License
+ Web.ArchLinux.Types: BSD_3_Clause_Modification :: License
+ Web.ArchLinux.Types: BSD_3_Clause_No_Military_License :: License
+ Web.ArchLinux.Types: BSD_3_Clause_No_Nuclear_License :: License
+ Web.ArchLinux.Types: BSD_3_Clause_No_Nuclear_License_2014 :: License
+ Web.ArchLinux.Types: BSD_3_Clause_No_Nuclear_Warranty :: License
+ Web.ArchLinux.Types: BSD_3_Clause_Open_MPI :: License
+ Web.ArchLinux.Types: BSD_3_Clause_Sun :: License
+ Web.ArchLinux.Types: BSD_3_Clause_acpica :: License
+ Web.ArchLinux.Types: BSD_3_Clause_flex :: License
+ Web.ArchLinux.Types: BSD_4_3RENO :: License
+ Web.ArchLinux.Types: BSD_4_3TAHOE :: License
+ Web.ArchLinux.Types: BSD_4_Clause :: License
+ Web.ArchLinux.Types: BSD_4_Clause_Shortened :: License
+ Web.ArchLinux.Types: BSD_4_Clause_UC :: License
+ Web.ArchLinux.Types: BSD_Advertising_Acknowledgement :: License
+ Web.ArchLinux.Types: BSD_Attribution_HPND_disclaimer :: License
+ Web.ArchLinux.Types: BSD_Inferno_Nettverk :: License
+ Web.ArchLinux.Types: BSD_Protection :: License
+ Web.ArchLinux.Types: BSD_Source_Code :: License
+ Web.ArchLinux.Types: BSD_Source_beginning_file :: License
+ Web.ArchLinux.Types: BSD_Systemics :: License
+ Web.ArchLinux.Types: BSD_Systemics_W3Works :: License
+ Web.ArchLinux.Types: BUSL_1_1 :: License
+ Web.ArchLinux.Types: Baekmuk :: License
+ Web.ArchLinux.Types: Bahyph :: License
+ Web.ArchLinux.Types: Barr :: License
+ Web.ArchLinux.Types: Bcrypt_Solar_Designer :: License
+ Web.ArchLinux.Types: Beerware :: License
+ Web.ArchLinux.Types: BitTorrent_1_0 :: License
+ Web.ArchLinux.Types: BitTorrent_1_1 :: License
+ Web.ArchLinux.Types: Bitstream_Charter :: License
+ Web.ArchLinux.Types: Bitstream_Vera :: License
+ Web.ArchLinux.Types: Blessing :: License
+ Web.ArchLinux.Types: BlueOak_1_0_0 :: License
+ Web.ArchLinux.Types: Boehm_GC :: License
+ Web.ArchLinux.Types: Borceux :: License
+ Web.ArchLinux.Types: Brian_Gladman_2_Clause :: License
+ Web.ArchLinux.Types: Brian_Gladman_3_Clause :: License
+ Web.ArchLinux.Types: Bzip2_1_0_6 :: License
+ Web.ArchLinux.Types: CAL_1_0 :: License
+ Web.ArchLinux.Types: CAL_1_0_Combined_Work_Exception :: License
+ Web.ArchLinux.Types: CATOSL_1_1 :: License
+ Web.ArchLinux.Types: CC_BY_2_5_AU :: License
+ Web.ArchLinux.Types: CC_BY_3_0_AU :: License
+ Web.ArchLinux.Types: CC_BY_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_3_0_IGO :: License
+ Web.ArchLinux.Types: CC_BY_3_0_NL :: License
+ Web.ArchLinux.Types: CC_BY_NC_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_NC_ND_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_NC_SA_2_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_NC_SA_2_0_FR :: License
+ Web.ArchLinux.Types: CC_BY_NC_SA_2_0_UK :: License
+ Web.ArchLinux.Types: CC_BY_NC_SA_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_NC_SA_3_0_IGO :: License
+ Web.ArchLinux.Types: CC_BY_ND_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_SA_2_0 :: License
+ Web.ArchLinux.Types: CC_BY_SA_3_0_DE :: License
+ Web.ArchLinux.Types: CC_BY_SA_3_0_IGO :: License
+ Web.ArchLinux.Types: CDLA_Permissive_1_0 :: License
+ Web.ArchLinux.Types: CDLA_Permissive_2_0 :: License
+ Web.ArchLinux.Types: CDLA_Sharing_1_0 :: License
+ Web.ArchLinux.Types: CDL_1_0 :: License
+ Web.ArchLinux.Types: CECILL_1_0 :: License
+ Web.ArchLinux.Types: CECILL_1_1 :: License
+ Web.ArchLinux.Types: CECILL_2_0 :: License
+ Web.ArchLinux.Types: CECILL_2_1 :: License
+ Web.ArchLinux.Types: CECILL_B :: License
+ Web.ArchLinux.Types: CECILL_C :: License
+ Web.ArchLinux.Types: CERN_OHL_1_1 :: License
+ Web.ArchLinux.Types: CERN_OHL_1_2 :: License
+ Web.ArchLinux.Types: CERN_OHL_P_2_0 :: License
+ Web.ArchLinux.Types: CERN_OHL_S_2_0 :: License
+ Web.ArchLinux.Types: CERN_OHL_W_2_0 :: License
+ Web.ArchLinux.Types: CFITSIO :: License
+ Web.ArchLinux.Types: CMU_Mach :: License
+ Web.ArchLinux.Types: CMU_Mach_nodoc :: License
+ Web.ArchLinux.Types: CNRI_Jython :: License
+ Web.ArchLinux.Types: CNRI_Python :: License
+ Web.ArchLinux.Types: CNRI_Python_GPL_Compatible :: License
+ Web.ArchLinux.Types: COIL_1_0 :: License
+ Web.ArchLinux.Types: CPAL_1_0 :: License
+ Web.ArchLinux.Types: CPOL_1_02 :: License
+ Web.ArchLinux.Types: CUA_OPL_1_0 :: License
+ Web.ArchLinux.Types: C_UDA_1_0 :: License
+ Web.ArchLinux.Types: Caldera :: License
+ Web.ArchLinux.Types: Caldera_no_preamble :: License
+ Web.ArchLinux.Types: Catharon :: License
+ Web.ArchLinux.Types: Check_cvs :: License
+ Web.ArchLinux.Types: Checkmk :: License
+ Web.ArchLinux.Types: ClArtistic :: License
+ Web.ArchLinux.Types: Clips :: License
+ Web.ArchLinux.Types: Community_Spec_1_0 :: License
+ Web.ArchLinux.Types: Condor_1_1 :: License
+ Web.ArchLinux.Types: Copyleft_next_0_3_0 :: License
+ Web.ArchLinux.Types: Copyleft_next_0_3_1 :: License
+ Web.ArchLinux.Types: Cornell_Lossless_JPEG :: License
+ Web.ArchLinux.Types: Cronyx :: License
+ Web.ArchLinux.Types: Crossword :: License
+ Web.ArchLinux.Types: CrystalStacker :: License
+ Web.ArchLinux.Types: Cube :: License
+ Web.ArchLinux.Types: Curl :: License
+ Web.ArchLinux.Types: Cve_tou :: License
+ Web.ArchLinux.Types: DEC_3_Clause :: License
+ Web.ArchLinux.Types: DL_DE_BY_2_0 :: License
+ Web.ArchLinux.Types: DL_DE_ZERO_2_0 :: License
+ Web.ArchLinux.Types: DRL_1_0 :: License
+ Web.ArchLinux.Types: DRL_1_1 :: License
+ Web.ArchLinux.Types: DSDP :: License
+ Web.ArchLinux.Types: D_FSL_1_0 :: License
+ Web.ArchLinux.Types: Diffmark :: License
+ Web.ArchLinux.Types: Doc :: License
+ Web.ArchLinux.Types: Dotseqn :: License
+ Web.ArchLinux.Types: Dtoa :: License
+ Web.ArchLinux.Types: Dvipdfm :: License
+ Web.ArchLinux.Types: ECL_1_0 :: License
+ Web.ArchLinux.Types: ECL_2_0 :: License
+ Web.ArchLinux.Types: EFL_1_0 :: License
+ Web.ArchLinux.Types: EFL_2_0 :: License
+ Web.ArchLinux.Types: EGenix :: License
+ Web.ArchLinux.Types: EPICS :: License
+ Web.ArchLinux.Types: EUDatagrid :: License
+ Web.ArchLinux.Types: EUPL_1_0 :: License
+ Web.ArchLinux.Types: EUPL_1_1 :: License
+ Web.ArchLinux.Types: EUPL_1_2 :: License
+ Web.ArchLinux.Types: Elastic_2_0 :: License
+ Web.ArchLinux.Types: Entessa :: License
+ Web.ArchLinux.Types: ErlPL_1_1 :: License
+ Web.ArchLinux.Types: Etalab_2_0 :: License
+ Web.ArchLinux.Types: Eurosym :: License
+ Web.ArchLinux.Types: FBM :: License
+ Web.ArchLinux.Types: FDK_AAC :: License
+ Web.ArchLinux.Types: FSFAP_no_warranty_disclaimer :: License
+ Web.ArchLinux.Types: FSFUL :: License
+ Web.ArchLinux.Types: FSFULLR :: License
+ Web.ArchLinux.Types: FSFULLRWD :: License
+ Web.ArchLinux.Types: FTL :: License
+ Web.ArchLinux.Types: Fair :: License
+ Web.ArchLinux.Types: Ferguson_Twofish :: License
+ Web.ArchLinux.Types: Frameworx_1_0 :: License
+ Web.ArchLinux.Types: FreeBSD_DOC :: License
+ Web.ArchLinux.Types: FreeImage :: License
+ Web.ArchLinux.Types: Furuseth :: License
+ Web.ArchLinux.Types: Fwlw :: License
+ Web.ArchLinux.Types: GCR_docs :: License
+ Web.ArchLinux.Types: GD :: License
+ Web.ArchLinux.Types: GL2PS :: License
+ Web.ArchLinux.Types: GLWTPL :: License
+ Web.ArchLinux.Types: GSOAP_1_3b :: License
+ Web.ArchLinux.Types: Giftware :: License
+ Web.ArchLinux.Types: Glide :: License
+ Web.ArchLinux.Types: Glulxe :: License
+ Web.ArchLinux.Types: Gnuplot :: License
+ Web.ArchLinux.Types: Graphics_Gems :: License
+ Web.ArchLinux.Types: Gtkbook :: License
+ Web.ArchLinux.Types: Gutmann :: License
+ Web.ArchLinux.Types: HPND :: License
+ Web.ArchLinux.Types: HPND_DEC :: License
+ Web.ArchLinux.Types: HPND_Fenneberg_Livingston :: License
+ Web.ArchLinux.Types: HPND_INRIA_IMAG :: License
+ Web.ArchLinux.Types: HPND_Intel :: License
+ Web.ArchLinux.Types: HPND_Kevlin_Henney :: License
+ Web.ArchLinux.Types: HPND_MIT_disclaimer :: License
+ Web.ArchLinux.Types: HPND_Markus_Kuhn :: License
+ Web.ArchLinux.Types: HPND_Pbmplus :: License
+ Web.ArchLinux.Types: HPND_UC :: License
+ Web.ArchLinux.Types: HPND_UC_export_US :: License
+ Web.ArchLinux.Types: HPND_doc :: License
+ Web.ArchLinux.Types: HPND_doc_sell :: License
+ Web.ArchLinux.Types: HPND_export2_US :: License
+ Web.ArchLinux.Types: HPND_export_US :: License
+ Web.ArchLinux.Types: HPND_export_US_acknowledgement :: License
+ Web.ArchLinux.Types: HPND_export_US_modify :: License
+ Web.ArchLinux.Types: HPND_merchantability_variant :: License
+ Web.ArchLinux.Types: HPND_sell_MIT_disclaimer_xserver :: License
+ Web.ArchLinux.Types: HPND_sell_regexpr :: License
+ Web.ArchLinux.Types: HPND_sell_variant :: License
+ Web.ArchLinux.Types: HPND_sell_variant_MIT_disclaimer :: License
+ Web.ArchLinux.Types: HPND_sell_variant_MIT_disclaimer_rev :: License
+ Web.ArchLinux.Types: HP_1986 :: License
+ Web.ArchLinux.Types: HP_1989 :: License
+ Web.ArchLinux.Types: HTMLTIDY :: License
+ Web.ArchLinux.Types: HaskellReport :: License
+ Web.ArchLinux.Types: Hdparm :: License
+ Web.ArchLinux.Types: Hippocratic_2_1 :: License
+ Web.ArchLinux.Types: IBM_pibs :: License
+ Web.ArchLinux.Types: ICU :: License
+ Web.ArchLinux.Types: IEC_Code_Components_EULA :: License
+ Web.ArchLinux.Types: IJG :: License
+ Web.ArchLinux.Types: IJG_short :: License
+ Web.ArchLinux.Types: IMatix :: License
+ Web.ArchLinux.Types: IPA :: License
+ Web.ArchLinux.Types: IPL_1_0 :: License
+ Web.ArchLinux.Types: ISC :: License
+ Web.ArchLinux.Types: ISC_Veillard :: License
+ Web.ArchLinux.Types: ImageMagick :: License
+ Web.ArchLinux.Types: Imlib2 :: License
+ Web.ArchLinux.Types: Info_ZIP :: License
+ Web.ArchLinux.Types: Inner_Net_2_0 :: License
+ Web.ArchLinux.Types: Intel :: License
+ Web.ArchLinux.Types: Intel_ACPI :: License
+ Web.ArchLinux.Types: Interbase_1_0 :: License
+ Web.ArchLinux.Types: JPL_image :: License
+ Web.ArchLinux.Types: JPNIC :: License
+ Web.ArchLinux.Types: JSON :: License
+ Web.ArchLinux.Types: Jam :: License
+ Web.ArchLinux.Types: JasPer_2_0 :: License
+ Web.ArchLinux.Types: Kastrup :: License
+ Web.ArchLinux.Types: Kazlib :: License
+ Web.ArchLinux.Types: Knuth_CTAN :: License
+ Web.ArchLinux.Types: LAL_1_2 :: License
+ Web.ArchLinux.Types: LAL_1_3 :: License
+ Web.ArchLinux.Types: LOOP :: License
+ Web.ArchLinux.Types: LPD_document :: License
+ Web.ArchLinux.Types: LPL_1_0 :: License
+ Web.ArchLinux.Types: LPL_1_02 :: License
+ Web.ArchLinux.Types: LZMA_SDK_9_11_to_9_20 :: License
+ Web.ArchLinux.Types: LZMA_SDK_9_22 :: License
+ Web.ArchLinux.Types: Latex2e :: License
+ Web.ArchLinux.Types: Latex2e_translated_notice :: License
+ Web.ArchLinux.Types: Leptonica :: License
+ Web.ArchLinux.Types: LiLiQ_P_1_1 :: License
+ Web.ArchLinux.Types: LiLiQ_R_1_1 :: License
+ Web.ArchLinux.Types: LiLiQ_Rplus_1_1 :: License
+ Web.ArchLinux.Types: Libpng :: License
+ Web.ArchLinux.Types: Libpng_2_0 :: License
+ Web.ArchLinux.Types: Libselinux_1_0 :: License
+ Web.ArchLinux.Types: Libtiff :: License
+ Web.ArchLinux.Types: Libutil_David_Nugent :: License
+ Web.ArchLinux.Types: Linux_OpenIB :: License
+ Web.ArchLinux.Types: Linux_man_pages_1_para :: License
+ Web.ArchLinux.Types: Linux_man_pages_copyleft :: License
+ Web.ArchLinux.Types: Linux_man_pages_copyleft_2_para :: License
+ Web.ArchLinux.Types: Linux_man_pages_copyleft_var :: License
+ Web.ArchLinux.Types: Lsof :: License
+ Web.ArchLinux.Types: Lucida_Bitmap_Fonts :: License
+ Web.ArchLinux.Types: MIT :: License
+ Web.ArchLinux.Types: MITNFA :: License
+ Web.ArchLinux.Types: MIT_0 :: License
+ Web.ArchLinux.Types: MIT_CMU :: License
+ Web.ArchLinux.Types: MIT_Festival :: License
+ Web.ArchLinux.Types: MIT_Khronos_old :: License
+ Web.ArchLinux.Types: MIT_Modern_Variant :: License
+ Web.ArchLinux.Types: MIT_Wu :: License
+ Web.ArchLinux.Types: MIT_advertising :: License
+ Web.ArchLinux.Types: MIT_enna :: License
+ Web.ArchLinux.Types: MIT_feh :: License
+ Web.ArchLinux.Types: MIT_open_group :: License
+ Web.ArchLinux.Types: MIT_testregex :: License
+ Web.ArchLinux.Types: MMIXware :: License
+ Web.ArchLinux.Types: MPEG_SSG :: License
+ Web.ArchLinux.Types: MPL_2_0_no_copyleft_exception :: License
+ Web.ArchLinux.Types: MS_LPL :: License
+ Web.ArchLinux.Types: MS_PL :: License
+ Web.ArchLinux.Types: MS_RL :: License
+ Web.ArchLinux.Types: MTLL :: License
+ Web.ArchLinux.Types: Mackerras_3_Clause :: License
+ Web.ArchLinux.Types: Mackerras_3_Clause_acknowledgment :: License
+ Web.ArchLinux.Types: Magaz :: License
+ Web.ArchLinux.Types: Mailprio :: License
+ Web.ArchLinux.Types: MakeIndex :: License
+ Web.ArchLinux.Types: Martin_Birgmeier :: License
+ Web.ArchLinux.Types: McPhee_slideshow :: License
+ Web.ArchLinux.Types: Metamail :: License
+ Web.ArchLinux.Types: Minpack :: License
+ Web.ArchLinux.Types: MirOS :: License
+ Web.ArchLinux.Types: Motosoto :: License
+ Web.ArchLinux.Types: Mpi_permissive :: License
+ Web.ArchLinux.Types: Mpich2 :: License
+ Web.ArchLinux.Types: Mplus :: License
+ Web.ArchLinux.Types: MulanPSL_1_0 :: License
+ Web.ArchLinux.Types: MulanPSL_2_0 :: License
+ Web.ArchLinux.Types: Multics :: License
+ Web.ArchLinux.Types: Mup :: License
+ Web.ArchLinux.Types: NAIST_2003 :: License
+ Web.ArchLinux.Types: NASA_1_3 :: License
+ Web.ArchLinux.Types: NBPL_1_0 :: License
+ Web.ArchLinux.Types: NCBI_PD :: License
+ Web.ArchLinux.Types: NCGL_UK_2_0 :: License
+ Web.ArchLinux.Types: NCL :: License
+ Web.ArchLinux.Types: NCSA :: License
+ Web.ArchLinux.Types: NGPL :: License
+ Web.ArchLinux.Types: NICTA_1_0 :: License
+ Web.ArchLinux.Types: NIST_PD :: License
+ Web.ArchLinux.Types: NIST_PD_fallback :: License
+ Web.ArchLinux.Types: NIST_Software :: License
+ Web.ArchLinux.Types: NLOD_1_0 :: License
+ Web.ArchLinux.Types: NLOD_2_0 :: License
+ Web.ArchLinux.Types: NLPL :: License
+ Web.ArchLinux.Types: NOSL :: License
+ Web.ArchLinux.Types: NPL_1_0 :: License
+ Web.ArchLinux.Types: NPL_1_1 :: License
+ Web.ArchLinux.Types: NPOSL_3_0 :: License
+ Web.ArchLinux.Types: NRL :: License
+ Web.ArchLinux.Types: NTP :: License
+ Web.ArchLinux.Types: NTP_0 :: License
+ Web.ArchLinux.Types: N_0BSD :: License
+ Web.ArchLinux.Types: N_3D_Slicer_1_0 :: License
+ Web.ArchLinux.Types: Naumen :: License
+ Web.ArchLinux.Types: NetCDF :: License
+ Web.ArchLinux.Types: Net_SNMP :: License
+ Web.ArchLinux.Types: Newsletr :: License
+ Web.ArchLinux.Types: Nokia :: License
+ Web.ArchLinux.Types: Noweb :: License
+ Web.ArchLinux.Types: OAR :: License
+ Web.ArchLinux.Types: OCCT_PL :: License
+ Web.ArchLinux.Types: OCLC_2_0 :: License
+ Web.ArchLinux.Types: ODC_By_1_0 :: License
+ Web.ArchLinux.Types: ODbL_1_0 :: License
+ Web.ArchLinux.Types: OFFIS :: License
+ Web.ArchLinux.Types: OFL_1_0 :: License
+ Web.ArchLinux.Types: OFL_1_0_RFN :: License
+ Web.ArchLinux.Types: OFL_1_0_no_RFN :: License
+ Web.ArchLinux.Types: OFL_1_1 :: License
+ Web.ArchLinux.Types: OFL_1_1_RFN :: License
+ Web.ArchLinux.Types: OFL_1_1_no_RFN :: License
+ Web.ArchLinux.Types: OGC_1_0 :: License
+ Web.ArchLinux.Types: OGDL_Taiwan_1_0 :: License
+ Web.ArchLinux.Types: OGL_Canada_2_0 :: License
+ Web.ArchLinux.Types: OGL_UK_1_0 :: License
+ Web.ArchLinux.Types: OGL_UK_2_0 :: License
+ Web.ArchLinux.Types: OGL_UK_3_0 :: License
+ Web.ArchLinux.Types: OGTSL :: License
+ Web.ArchLinux.Types: OLDAP_1_1 :: License
+ Web.ArchLinux.Types: OLDAP_1_2 :: License
+ Web.ArchLinux.Types: OLDAP_1_3 :: License
+ Web.ArchLinux.Types: OLDAP_1_4 :: License
+ Web.ArchLinux.Types: OLDAP_2_0 :: License
+ Web.ArchLinux.Types: OLDAP_2_0_1 :: License
+ Web.ArchLinux.Types: OLDAP_2_1 :: License
+ Web.ArchLinux.Types: OLDAP_2_2 :: License
+ Web.ArchLinux.Types: OLDAP_2_2_1 :: License
+ Web.ArchLinux.Types: OLDAP_2_2_2 :: License
+ Web.ArchLinux.Types: OLDAP_2_3 :: License
+ Web.ArchLinux.Types: OLDAP_2_4 :: License
+ Web.ArchLinux.Types: OLDAP_2_5 :: License
+ Web.ArchLinux.Types: OLDAP_2_6 :: License
+ Web.ArchLinux.Types: OLDAP_2_7 :: License
+ Web.ArchLinux.Types: OLDAP_2_8 :: License
+ Web.ArchLinux.Types: OLFL_1_3 :: License
+ Web.ArchLinux.Types: OML :: License
+ Web.ArchLinux.Types: OPL_1_0 :: License
+ Web.ArchLinux.Types: OPL_UK_3_0 :: License
+ Web.ArchLinux.Types: OPUBL_1_0 :: License
+ Web.ArchLinux.Types: OSET_PL_2_1 :: License
+ Web.ArchLinux.Types: OSL_1_0 :: License
+ Web.ArchLinux.Types: OSL_1_1 :: License
+ Web.ArchLinux.Types: OSL_2_0 :: License
+ Web.ArchLinux.Types: OSL_2_1 :: License
+ Web.ArchLinux.Types: OSL_3_0 :: License
+ Web.ArchLinux.Types: O_UDA_1_0 :: License
+ Web.ArchLinux.Types: OpenPBS_2_3 :: License
+ Web.ArchLinux.Types: OpenSSL :: License
+ Web.ArchLinux.Types: OpenSSL_standalone :: License
+ Web.ArchLinux.Types: OpenVision :: License
+ Web.ArchLinux.Types: PADL :: License
+ Web.ArchLinux.Types: PDDL_1_0 :: License
+ Web.ArchLinux.Types: PPL :: License
+ Web.ArchLinux.Types: Parity_6_0_0 :: License
+ Web.ArchLinux.Types: Parity_7_0_0 :: License
+ Web.ArchLinux.Types: Pixar :: License
+ Web.ArchLinux.Types: Pkgconf :: License
+ Web.ArchLinux.Types: Plexus :: License
+ Web.ArchLinux.Types: Pnmstitch :: License
+ Web.ArchLinux.Types: PolyForm_Noncommercial_1_0_0 :: License
+ Web.ArchLinux.Types: PolyForm_Small_Business_1_0_0 :: License
+ Web.ArchLinux.Types: PostgreSQL :: License
+ Web.ArchLinux.Types: Psfrag :: License
+ Web.ArchLinux.Types: Psutils :: License
+ Web.ArchLinux.Types: Python_2_0 :: License
+ Web.ArchLinux.Types: Python_2_0_1 :: License
+ Web.ArchLinux.Types: Python_ldap :: License
+ Web.ArchLinux.Types: QPL_1_0 :: License
+ Web.ArchLinux.Types: QPL_1_0_INRIA_2004 :: License
+ Web.ArchLinux.Types: Qhull :: License
+ Web.ArchLinux.Types: RHeCos_1_1 :: License
+ Web.ArchLinux.Types: RPL_1_1 :: License
+ Web.ArchLinux.Types: RPL_1_5 :: License
+ Web.ArchLinux.Types: RPSL_1_0 :: License
+ Web.ArchLinux.Types: RSA_MD :: License
+ Web.ArchLinux.Types: RSCPL :: License
+ Web.ArchLinux.Types: Radvd :: License
+ Web.ArchLinux.Types: Rdisc :: License
+ Web.ArchLinux.Types: SAX_PD :: License
+ Web.ArchLinux.Types: SAX_PD_2_0 :: License
+ Web.ArchLinux.Types: SCEA :: License
+ Web.ArchLinux.Types: SGI_B_1_0 :: License
+ Web.ArchLinux.Types: SGI_B_1_1 :: License
+ Web.ArchLinux.Types: SGI_B_2_0 :: License
+ Web.ArchLinux.Types: SGI_OpenGL :: License
+ Web.ArchLinux.Types: SGP4 :: License
+ Web.ArchLinux.Types: SHL_0_5 :: License
+ Web.ArchLinux.Types: SHL_0_51 :: License
+ Web.ArchLinux.Types: SISSL :: License
+ Web.ArchLinux.Types: SISSL_1_2 :: License
+ Web.ArchLinux.Types: SL :: License
+ Web.ArchLinux.Types: SMLNJ :: License
+ Web.ArchLinux.Types: SMPPL :: License
+ Web.ArchLinux.Types: SNIA :: License
+ Web.ArchLinux.Types: SPL_1_0 :: License
+ Web.ArchLinux.Types: SSH_OpenSSH :: License
+ Web.ArchLinux.Types: SSH_short :: License
+ Web.ArchLinux.Types: SSLeay_standalone :: License
+ Web.ArchLinux.Types: SSPL_1_0 :: License
+ Web.ArchLinux.Types: SWL :: License
+ Web.ArchLinux.Types: Saxpath :: License
+ Web.ArchLinux.Types: SchemeReport :: License
+ Web.ArchLinux.Types: Sendmail :: License
+ Web.ArchLinux.Types: Sendmail_8_23 :: License
+ Web.ArchLinux.Types: SimPL_2_0 :: License
+ Web.ArchLinux.Types: Sleepycat :: License
+ Web.ArchLinux.Types: Snprintf :: License
+ Web.ArchLinux.Types: SoftSurfer :: License
+ Web.ArchLinux.Types: Soundex :: License
+ Web.ArchLinux.Types: Spencer_86 :: License
+ Web.ArchLinux.Types: Spencer_94 :: License
+ Web.ArchLinux.Types: Spencer_99 :: License
+ Web.ArchLinux.Types: Ssh_keyscan :: License
+ Web.ArchLinux.Types: SugarCRM_1_1_3 :: License
+ Web.ArchLinux.Types: SunPro :: License
+ Web.ArchLinux.Types: Sun_PPP :: License
+ Web.ArchLinux.Types: Sun_PPP_2000 :: License
+ Web.ArchLinux.Types: Swrule :: License
+ Web.ArchLinux.Types: Symlinks :: License
+ Web.ArchLinux.Types: TAPR_OHL_1_0 :: License
+ Web.ArchLinux.Types: TCL :: License
+ Web.ArchLinux.Types: TCP_wrappers :: License
+ Web.ArchLinux.Types: TGPPL_1_0 :: License
+ Web.ArchLinux.Types: TMate :: License
+ Web.ArchLinux.Types: TORQUE_1_1 :: License
+ Web.ArchLinux.Types: TOSL :: License
+ Web.ArchLinux.Types: TPDL :: License
+ Web.ArchLinux.Types: TPL_1_0 :: License
+ Web.ArchLinux.Types: TTWL :: License
+ Web.ArchLinux.Types: TTYP0 :: License
+ Web.ArchLinux.Types: TU_Berlin_1_0 :: License
+ Web.ArchLinux.Types: TU_Berlin_2_0 :: License
+ Web.ArchLinux.Types: TermReadKey :: License
+ Web.ArchLinux.Types: Threeparttable :: License
+ Web.ArchLinux.Types: UCAR :: License
+ Web.ArchLinux.Types: UCL_1_0 :: License
+ Web.ArchLinux.Types: UMich_Merit :: License
+ Web.ArchLinux.Types: UPL_1_0 :: License
+ Web.ArchLinux.Types: URT_RLE :: License
+ Web.ArchLinux.Types: Ulem :: License
+ Web.ArchLinux.Types: Unicode_3_0 :: License
+ Web.ArchLinux.Types: Unicode_DFS_2015 :: License
+ Web.ArchLinux.Types: Unicode_DFS_2016 :: License
+ Web.ArchLinux.Types: Unicode_TOU :: License
+ Web.ArchLinux.Types: UnixCrypt :: License
+ Web.ArchLinux.Types: VOSTROM :: License
+ Web.ArchLinux.Types: VSL_1_0 :: License
+ Web.ArchLinux.Types: Vim :: License
+ Web.ArchLinux.Types: W3C_19980720 :: License
+ Web.ArchLinux.Types: W3C_20150513 :: License
+ Web.ArchLinux.Types: W3m :: License
+ Web.ArchLinux.Types: Watcom_1_0 :: License
+ Web.ArchLinux.Types: Widget_Workshop :: License
+ Web.ArchLinux.Types: Wsuipa :: License
+ Web.ArchLinux.Types: X11 :: License
+ Web.ArchLinux.Types: X11_distribute_modifications_variant :: License
+ Web.ArchLinux.Types: XFree86_1_1 :: License
+ Web.ArchLinux.Types: XSkat :: License
+ Web.ArchLinux.Types: Xdebug_1_03 :: License
+ Web.ArchLinux.Types: Xerox :: License
+ Web.ArchLinux.Types: Xfig :: License
+ Web.ArchLinux.Types: Xinetd :: License
+ Web.ArchLinux.Types: Xkeyboard_Config_Zinoviev :: License
+ Web.ArchLinux.Types: Xlock :: License
+ Web.ArchLinux.Types: Xnet :: License
+ Web.ArchLinux.Types: Xpp :: License
+ Web.ArchLinux.Types: Xzoom :: License
+ Web.ArchLinux.Types: YPL_1_0 :: License
+ Web.ArchLinux.Types: YPL_1_1 :: License
+ Web.ArchLinux.Types: Zed :: License
+ Web.ArchLinux.Types: Zeeff :: License
+ Web.ArchLinux.Types: Zend_2_0 :: License
+ Web.ArchLinux.Types: Zimbra_1_3 :: License
+ Web.ArchLinux.Types: Zimbra_1_4 :: License
+ Web.ArchLinux.Types: Zlib :: License
+ Web.ArchLinux.Types: Zlib_acknowledgement :: License
+ Web.ArchLinux.Types: [_arch] :: PackageFiles -> Arch
+ Web.ArchLinux.Types: [_aurType] :: AurResponse a -> AurResponseType
+ Web.ArchLinux.Types: [_buildDate] :: PackageInformation -> UTCTime
+ Web.ArchLinux.Types: [_checkdepends] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_compressedSize] :: PackageInformation -> Int
+ Web.ArchLinux.Types: [_conflicts] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_depends] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_description] :: AurSearch -> Maybe Text
+ Web.ArchLinux.Types: [_dirCount] :: PackageFiles -> Int
+ Web.ArchLinux.Types: [_epoch] :: PackageInformation -> Int
+ Web.ArchLinux.Types: [_error] :: AurResponse a -> Maybe Text
+ Web.ArchLinux.Types: [_filename] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_filesCount] :: PackageFiles -> Int
+ Web.ArchLinux.Types: [_filesLastUpdate] :: PackageFiles -> UTCTime
+ Web.ArchLinux.Types: [_files] :: PackageFiles -> [FilePath]
+ Web.ArchLinux.Types: [_firstSubmitted] :: AurSearch -> Int
+ Web.ArchLinux.Types: [_flageDate] :: PackageInformation -> Maybe UTCTime
+ Web.ArchLinux.Types: [_groups] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_id] :: AurSearch -> Int
+ Web.ArchLinux.Types: [_installedSize] :: PackageInformation -> Int
+ Web.ArchLinux.Types: [_keywords] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_lastModified] :: AurSearch -> Int
+ Web.ArchLinux.Types: [_lastUpdate] :: PackageInformation -> UTCTime
+ Web.ArchLinux.Types: [_licenses] :: AurInfo -> [License]
+ Web.ArchLinux.Types: [_limit] :: ArchLinuxResponse a -> Int
+ Web.ArchLinux.Types: [_maintainer] :: AurSearch -> Maybe Text
+ Web.ArchLinux.Types: [_maintainers] :: PackageInformation -> [Text]
+ Web.ArchLinux.Types: [_makedepends] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_name] :: AurSearch -> Text
+ Web.ArchLinux.Types: [_numVotes] :: AurSearch -> Int
+ Web.ArchLinux.Types: [_optdepends] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_outOfDate] :: AurSearch -> Maybe Int
+ Web.ArchLinux.Types: [_packageBaseID] :: AurSearch -> Int
+ Web.ArchLinux.Types: [_packageBase] :: AurSearch -> Text
+ Web.ArchLinux.Types: [_packager] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_pkgLastUpdate] :: PackageFiles -> UTCTime
+ Web.ArchLinux.Types: [_pkgbase] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_pkgdesc] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_pkgname] :: PackageFiles -> Text
+ Web.ArchLinux.Types: [_pkgrel] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_pkgver] :: PackageInformation -> Text
+ Web.ArchLinux.Types: [_popularity] :: AurSearch -> Double
+ Web.ArchLinux.Types: [_provides] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_replaces] :: AurInfo -> [Text]
+ Web.ArchLinux.Types: [_repo] :: PackageFiles -> Repo
+ Web.ArchLinux.Types: [_resultCount] :: AurResponse a -> Int
+ Web.ArchLinux.Types: [_results] :: AurResponse a -> a
+ Web.ArchLinux.Types: [_search] :: AurInfo -> AurSearch
+ Web.ArchLinux.Types: [_urlPath] :: AurSearch -> Text
+ Web.ArchLinux.Types: [_url] :: AurSearch -> Maybe Text
+ Web.ArchLinux.Types: [_valid] :: ArchLinuxResponse a -> Bool
+ Web.ArchLinux.Types: [_version] :: AurResponse a -> Int
- Web.ArchLinux.API: runAPIClient :: forall s a. HasBaseUrl s => Manager -> APIClient s a -> IO (Either ClientError a)
+ Web.ArchLinux.API: runAPIClient :: forall (s :: APIType) a. HasBaseUrl s => Manager -> APIClient s a -> IO (Either ClientError a)
- Web.ArchLinux.API: runAPIClient' :: HasBaseUrl s => APIClient s a -> IO (Either ClientError a)
+ Web.ArchLinux.API: runAPIClient' :: forall (s :: APIType) a. HasBaseUrl s => APIClient s a -> IO (Either ClientError a)
- Web.ArchLinux.Types: Custom :: Text -> License
+ Web.ArchLinux.Types: Custom :: String -> License
- Web.ArchLinux.Types: licenseId :: License -> Text
+ Web.ArchLinux.Types: licenseId :: License -> String
- Web.ArchLinux.Types: parseLicense :: Text -> License
+ Web.ArchLinux.Types: parseLicense :: String -> License
Files
- CHANGELOG.md +6/−0
- arch-web.cabal +34/−35
- data/KNOWN_SPDX.json +630/−0
- src/Web/ArchLinux/Internal/KnownSPDXLoader.hs +45/−0
- src/Web/ArchLinux/Types.hs +7/−305
- test/Main.hs +8/−2
CHANGELOG.md view
@@ -1,5 +1,11 @@ # arch-web +# 0.3.2++* Use template haskell to generate SPDX license data type based on `data/KNOWN-SPDX.json`+* Remove some dependency bounds+* Breaking change: `licenseId (Custom "x")` now returns `"x"` instead of `"custom: x"`. This ensures that `licenseId (parseLicense x) == x` for all `x`.+ ## 0.3.1 Fix typo in license
arch-web.cabal view
@@ -1,59 +1,55 @@-cabal-version: 2.2-name: arch-web-version: 0.3.1-synopsis: Arch Linux official and AUR web interface binding+cabal-version: 2.2+name: arch-web+version: 0.3.2+synopsis: Arch Linux official and AUR web interface binding description: Arch Linux official and AUR web interface binding. See README for details. -category: Web-license: MIT-license-file: LICENSE-author: berberman-maintainer: berberman <berberman@yandex.com>-copyright: Copyright (c) berberman 2021-stability: alpha-homepage: https://github.com/berberman/arch-web-bug-reports: https://github.com/berberman/arch-web/issues+extra-source-files: data/KNOWN_SPDX.json+category: Web+license: MIT+license-file: LICENSE+author: berberman+maintainer: berberman <berberman@yandex.com>+copyright: Copyright (c) berberman 2020-2025+stability: alpha+homepage: https://github.com/berberman/arch-web+bug-reports: https://github.com/berberman/arch-web/issues extra-doc-files: CHANGELOG.md README.md -tested-with: GHC ==8.10.7 || ==9.0.2+tested-with: GHC ==9.2.8 || ==9.8.4 common common build-depends:- , aeson ^>=1.5.4 || ^>=2.0 || ^>=2.1 || ^>=2.2+ , aeson ^>=1.5.4 || ^>=2.0 || ^>=2.1 || ^>=2.2 , base >=4.10 && <5- , deriving-aeson ^>=0.2.6- , exceptions ^>=0.10.4- , http-client ^>=0.6.4 || ^>=0.7.4- , http-client-tls ^>=0.3.5- , http-types ^>=0.12.3- , lens ^>=4.19.2 || ^>=5 || ^>=5.1 || ^>=5.2+ , bytestring+ , containers+ , deriving-aeson ^>=0.2+ , directory+ , exceptions ^>=0.10+ , filepath+ , http-client ^>=0.6 || ^>=0.7+ , http-client-tls ^>=0.3+ , http-types ^>=0.12+ , lens ^>=4.19.2 || ^>=5 || ^>=5.1 || ^>=5.2 || ^>=5.3 , mtl , servant >=0.18 && <0.21 , servant-client >=0.18 && <0.21 , servant-client-core >=0.18 && <0.21+ , template-haskell >=2.18 , text , time default-language: Haskell2010 ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns- -Wincomplete-record-updates-- if impl(ghc >=8.0)- ghc-options: -Wredundant-constraints-- if impl(ghc >=8.2)- ghc-options: -fhide-source-paths-- if impl(ghc >=8.4)- ghc-options: -Wmissing-export-lists-- if impl(ghc >=8.8)- ghc-options: -Wmissing-deriving-strategies+ -Wincomplete-record-updates -Wredundant-constraints+ -fhide-source-paths -Wmissing-export-lists+ -Wmissing-deriving-strategies default-extensions: ConstraintKinds@@ -85,7 +81,10 @@ Web.ArchLinux.Types Web.ArchLinux.Types.Lens - other-modules: Web.ArchLinux.Types.API+ other-modules:+ Web.ArchLinux.Internal.KnownSPDXLoader+ Web.ArchLinux.Types.API+ hs-source-dirs: src test-suite arch-web-test
+ data/KNOWN_SPDX.json view
@@ -0,0 +1,630 @@+{+ "0BSD": "N_0BSD",+ "3D-Slicer-1.0": "N_3D_Slicer_1_0",+ "AAL": "AAL",+ "Abstyles": "Abstyles",+ "AdaCore-doc": "AdaCore_doc",+ "Adobe-2006": "Adobe_2006",+ "Adobe-Display-PostScript": "Adobe_Display_PostScript",+ "Adobe-Glyph": "Adobe_Glyph",+ "Adobe-Utopia": "Adobe_Utopia",+ "ADSL": "ADSL",+ "AFL-1.1": "AFL_1_1",+ "AFL-1.2": "AFL_1_2",+ "AFL-2.0": "AFL_2_0",+ "AFL-2.1": "AFL_2_1",+ "AFL-3.0": "AFL_3_0",+ "Afmparse": "Afmparse",+ "AGPL-1.0-only": "AGPL_1_0_only",+ "AGPL-1.0-or-later": "AGPL_1_0_or_later",+ "AGPL-3.0-only": "AGPL_3_0_only",+ "AGPL-3.0-or-later": "AGPL_3_0_or_later",+ "Aladdin": "Aladdin",+ "AMD-newlib": "AMD_newlib",+ "AMDPLPA": "AMDPLPA",+ "AML": "AML",+ "AML-glslang": "AML_glslang",+ "AMPAS": "AMPAS",+ "ANTLR-PD": "ANTLR_PD",+ "ANTLR-PD-fallback": "ANTLR_PD_fallback",+ "any-OSI": "Any_OSI",+ "Apache-1.0": "Apache_1_0",+ "Apache-1.1": "Apache_1_1",+ "Apache-2.0": "Apache_2_0",+ "APAFML": "APAFML",+ "APL-1.0": "APL_1_0",+ "App-s2p": "App_s2p",+ "APSL-1.0": "APSL_1_0",+ "APSL-1.1": "APSL_1_1",+ "APSL-1.2": "APSL_1_2",+ "APSL-2.0": "APSL_2_0",+ "Arphic-1999": "Arphic_1999",+ "Artistic-1.0": "Artistic_1_0",+ "Artistic-1.0-cl8": "Artistic_1_0_cl8",+ "Artistic-1.0-Perl": "Artistic_1_0_Perl",+ "Artistic-2.0": "Artistic_2_0",+ "ASWF-Digital-Assets-1.0": "ASWF_Digital_Assets_1_0",+ "ASWF-Digital-Assets-1.1": "ASWF_Digital_Assets_1_1",+ "Baekmuk": "Baekmuk",+ "Bahyph": "Bahyph",+ "Barr": "Barr",+ "bcrypt-Solar-Designer": "Bcrypt_Solar_Designer",+ "Beerware": "Beerware",+ "Bitstream-Charter": "Bitstream_Charter",+ "Bitstream-Vera": "Bitstream_Vera",+ "BitTorrent-1.0": "BitTorrent_1_0",+ "BitTorrent-1.1": "BitTorrent_1_1",+ "blessing": "Blessing",+ "BlueOak-1.0.0": "BlueOak_1_0_0",+ "Boehm-GC": "Boehm_GC",+ "Borceux": "Borceux",+ "Brian-Gladman-2-Clause": "Brian_Gladman_2_Clause",+ "Brian-Gladman-3-Clause": "Brian_Gladman_3_Clause",+ "BSD-1-Clause": "BSD_1_Clause",+ "BSD-2-Clause": "BSD_2_Clause",+ "BSD-2-Clause-Darwin": "BSD_2_Clause_Darwin",+ "BSD-2-Clause-first-lines": "BSD_2_Clause_first_lines",+ "BSD-2-Clause-Patent": "BSD_2_Clause_Patent",+ "BSD-2-Clause-Views": "BSD_2_Clause_Views",+ "BSD-3-Clause": "BSD_3_Clause",+ "BSD-3-Clause-acpica": "BSD_3_Clause_acpica",+ "BSD-3-Clause-Attribution": "BSD_3_Clause_Attribution",+ "BSD-3-Clause-Clear": "BSD_3_Clause_Clear",+ "BSD-3-Clause-flex": "BSD_3_Clause_flex",+ "BSD-3-Clause-HP": "BSD_3_Clause_HP",+ "BSD-3-Clause-LBNL": "BSD_3_Clause_LBNL",+ "BSD-3-Clause-Modification": "BSD_3_Clause_Modification",+ "BSD-3-Clause-No-Military-License": "BSD_3_Clause_No_Military_License",+ "BSD-3-Clause-No-Nuclear-License": "BSD_3_Clause_No_Nuclear_License",+ "BSD-3-Clause-No-Nuclear-License-2014": "BSD_3_Clause_No_Nuclear_License_2014",+ "BSD-3-Clause-No-Nuclear-Warranty": "BSD_3_Clause_No_Nuclear_Warranty",+ "BSD-3-Clause-Open-MPI": "BSD_3_Clause_Open_MPI",+ "BSD-3-Clause-Sun": "BSD_3_Clause_Sun",+ "BSD-4-Clause": "BSD_4_Clause",+ "BSD-4-Clause-Shortened": "BSD_4_Clause_Shortened",+ "BSD-4-Clause-UC": "BSD_4_Clause_UC",+ "BSD-4.3RENO": "BSD_4_3RENO",+ "BSD-4.3TAHOE": "BSD_4_3TAHOE",+ "BSD-Advertising-Acknowledgement": "BSD_Advertising_Acknowledgement",+ "BSD-Attribution-HPND-disclaimer": "BSD_Attribution_HPND_disclaimer",+ "BSD-Inferno-Nettverk": "BSD_Inferno_Nettverk",+ "BSD-Protection": "BSD_Protection",+ "BSD-Source-beginning-file": "BSD_Source_beginning_file",+ "BSD-Source-Code": "BSD_Source_Code",+ "BSD-Systemics": "BSD_Systemics",+ "BSD-Systemics-W3Works": "BSD_Systemics_W3Works",+ "BSL-1.0": "BSL_1_0",+ "BUSL-1.1": "BUSL_1_1",+ "bzip2-1.0.6": "Bzip2_1_0_6",+ "C-UDA-1.0": "C_UDA_1_0",+ "CAL-1.0": "CAL_1_0",+ "CAL-1.0-Combined-Work-Exception": "CAL_1_0_Combined_Work_Exception",+ "Caldera": "Caldera",+ "Caldera-no-preamble": "Caldera_no_preamble",+ "Catharon": "Catharon",+ "CATOSL-1.1": "CATOSL_1_1",+ "CC-BY-1.0": "CC_BY_1_0",+ "CC-BY-2.0": "CC_BY_2_0",+ "CC-BY-2.5": "CC_BY_2_5",+ "CC-BY-2.5-AU": "CC_BY_2_5_AU",+ "CC-BY-3.0": "CC_BY_3_0",+ "CC-BY-3.0-AT": "CC_BY_3_0_AT",+ "CC-BY-3.0-AU": "CC_BY_3_0_AU",+ "CC-BY-3.0-DE": "CC_BY_3_0_DE",+ "CC-BY-3.0-IGO": "CC_BY_3_0_IGO",+ "CC-BY-3.0-NL": "CC_BY_3_0_NL",+ "CC-BY-3.0-US": "CC_BY_3_0_US",+ "CC-BY-4.0": "CC_BY_4_0",+ "CC-BY-NC-1.0": "CC_BY_NC_1_0",+ "CC-BY-NC-2.0": "CC_BY_NC_2_0",+ "CC-BY-NC-2.5": "CC_BY_NC_2_5",+ "CC-BY-NC-3.0": "CC_BY_NC_3_0",+ "CC-BY-NC-3.0-DE": "CC_BY_NC_3_0_DE",+ "CC-BY-NC-4.0": "CC_BY_NC_4_0",+ "CC-BY-NC-ND-1.0": "CC_BY_NC_ND_1_0",+ "CC-BY-NC-ND-2.0": "CC_BY_NC_ND_2_0",+ "CC-BY-NC-ND-2.5": "CC_BY_NC_ND_2_5",+ "CC-BY-NC-ND-3.0": "CC_BY_NC_ND_3_0",+ "CC-BY-NC-ND-3.0-DE": "CC_BY_NC_ND_3_0_DE",+ "CC-BY-NC-ND-3.0-IGO": "CC_BY_NC_ND_3_0_IGO",+ "CC-BY-NC-ND-4.0": "CC_BY_NC_ND_4_0",+ "CC-BY-NC-SA-1.0": "CC_BY_NC_SA_1_0",+ "CC-BY-NC-SA-2.0": "CC_BY_NC_SA_2_0",+ "CC-BY-NC-SA-2.0-DE": "CC_BY_NC_SA_2_0_DE",+ "CC-BY-NC-SA-2.0-FR": "CC_BY_NC_SA_2_0_FR",+ "CC-BY-NC-SA-2.0-UK": "CC_BY_NC_SA_2_0_UK",+ "CC-BY-NC-SA-2.5": "CC_BY_NC_SA_2_5",+ "CC-BY-NC-SA-3.0": "CC_BY_NC_SA_3_0",+ "CC-BY-NC-SA-3.0-DE": "CC_BY_NC_SA_3_0_DE",+ "CC-BY-NC-SA-3.0-IGO": "CC_BY_NC_SA_3_0_IGO",+ "CC-BY-NC-SA-4.0": "CC_BY_NC_SA_4_0",+ "CC-BY-ND-1.0": "CC_BY_ND_1_0",+ "CC-BY-ND-2.0": "CC_BY_ND_2_0",+ "CC-BY-ND-2.5": "CC_BY_ND_2_5",+ "CC-BY-ND-3.0": "CC_BY_ND_3_0",+ "CC-BY-ND-3.0-DE": "CC_BY_ND_3_0_DE",+ "CC-BY-ND-4.0": "CC_BY_ND_4_0",+ "CC-BY-SA-1.0": "CC_BY_SA_1_0",+ "CC-BY-SA-2.0": "CC_BY_SA_2_0",+ "CC-BY-SA-2.0-UK": "CC_BY_SA_2_0_UK",+ "CC-BY-SA-2.1-JP": "CC_BY_SA_2_1_JP",+ "CC-BY-SA-2.5": "CC_BY_SA_2_5",+ "CC-BY-SA-3.0": "CC_BY_SA_3_0",+ "CC-BY-SA-3.0-AT": "CC_BY_SA_3_0_AT",+ "CC-BY-SA-3.0-DE": "CC_BY_SA_3_0_DE",+ "CC-BY-SA-3.0-IGO": "CC_BY_SA_3_0_IGO",+ "CC-BY-SA-4.0": "CC_BY_SA_4_0",+ "CC-PDDC": "CC_PDDC",+ "CC0-1.0": "CC0_1_0",+ "CDDL-1.0": "CDDL_1_0",+ "CDDL-1.1": "CDDL_1_1",+ "CDL-1.0": "CDL_1_0",+ "CDLA-Permissive-1.0": "CDLA_Permissive_1_0",+ "CDLA-Permissive-2.0": "CDLA_Permissive_2_0",+ "CDLA-Sharing-1.0": "CDLA_Sharing_1_0",+ "CECILL-1.0": "CECILL_1_0",+ "CECILL-1.1": "CECILL_1_1",+ "CECILL-2.0": "CECILL_2_0",+ "CECILL-2.1": "CECILL_2_1",+ "CECILL-B": "CECILL_B",+ "CECILL-C": "CECILL_C",+ "CERN-OHL-1.1": "CERN_OHL_1_1",+ "CERN-OHL-1.2": "CERN_OHL_1_2",+ "CERN-OHL-P-2.0": "CERN_OHL_P_2_0",+ "CERN-OHL-S-2.0": "CERN_OHL_S_2_0",+ "CERN-OHL-W-2.0": "CERN_OHL_W_2_0",+ "CFITSIO": "CFITSIO",+ "check-cvs": "Check_cvs",+ "checkmk": "Checkmk",+ "ClArtistic": "ClArtistic",+ "Clips": "Clips",+ "CMU-Mach": "CMU_Mach",+ "CMU-Mach-nodoc": "CMU_Mach_nodoc",+ "CNRI-Jython": "CNRI_Jython",+ "CNRI-Python": "CNRI_Python",+ "CNRI-Python-GPL-Compatible": "CNRI_Python_GPL_Compatible",+ "COIL-1.0": "COIL_1_0",+ "Community-Spec-1.0": "Community_Spec_1_0",+ "Condor-1.1": "Condor_1_1",+ "copyleft-next-0.3.0": "Copyleft_next_0_3_0",+ "copyleft-next-0.3.1": "Copyleft_next_0_3_1",+ "Cornell-Lossless-JPEG": "Cornell_Lossless_JPEG",+ "CPAL-1.0": "CPAL_1_0",+ "CPL-1.0": "CPL_1_0",+ "CPOL-1.02": "CPOL_1_02",+ "Cronyx": "Cronyx",+ "Crossword": "Crossword",+ "CrystalStacker": "CrystalStacker",+ "CUA-OPL-1.0": "CUA_OPL_1_0",+ "Cube": "Cube",+ "curl": "Curl",+ "cve-tou": "Cve_tou",+ "D-FSL-1.0": "D_FSL_1_0",+ "DEC-3-Clause": "DEC_3_Clause",+ "diffmark": "Diffmark",+ "DL-DE-BY-2.0": "DL_DE_BY_2_0",+ "DL-DE-ZERO-2.0": "DL_DE_ZERO_2_0",+ "DOC": "Doc",+ "Dotseqn": "Dotseqn",+ "DRL-1.0": "DRL_1_0",+ "DRL-1.1": "DRL_1_1",+ "DSDP": "DSDP",+ "dtoa": "Dtoa",+ "dvipdfm": "Dvipdfm",+ "ECL-1.0": "ECL_1_0",+ "ECL-2.0": "ECL_2_0",+ "EFL-1.0": "EFL_1_0",+ "EFL-2.0": "EFL_2_0",+ "eGenix": "EGenix",+ "Elastic-2.0": "Elastic_2_0",+ "Entessa": "Entessa",+ "EPICS": "EPICS",+ "EPL-1.0": "EPL_1_0",+ "EPL-2.0": "EPL_2_0",+ "ErlPL-1.1": "ErlPL_1_1",+ "etalab-2.0": "Etalab_2_0",+ "EUDatagrid": "EUDatagrid",+ "EUPL-1.0": "EUPL_1_0",+ "EUPL-1.1": "EUPL_1_1",+ "EUPL-1.2": "EUPL_1_2",+ "Eurosym": "Eurosym",+ "Fair": "Fair",+ "FBM": "FBM",+ "FDK-AAC": "FDK_AAC",+ "Ferguson-Twofish": "Ferguson_Twofish",+ "Frameworx-1.0": "Frameworx_1_0",+ "FreeBSD-DOC": "FreeBSD_DOC",+ "FreeImage": "FreeImage",+ "FSFAP": "FSFAP",+ "FSFAP-no-warranty-disclaimer": "FSFAP_no_warranty_disclaimer",+ "FSFUL": "FSFUL",+ "FSFULLR": "FSFULLR",+ "FSFULLRWD": "FSFULLRWD",+ "FTL": "FTL",+ "Furuseth": "Furuseth",+ "fwlw": "Fwlw",+ "GCR-docs": "GCR_docs",+ "GD": "GD",+ "GFDL-1.1-invariants-only": "GFDL_1_1_invariants_only",+ "GFDL-1.1-invariants-or-later": "GFDL_1_1_invariants_or_later",+ "GFDL-1.1-no-invariants-only": "GFDL_1_1_no_invariants_only",+ "GFDL-1.1-no-invariants-or-later": "GFDL_1_1_no_invariants_or_later",+ "GFDL-1.1-only": "GFDL_1_1_only",+ "GFDL-1.1-or-later": "GFDL_1_1_or_later",+ "GFDL-1.2-invariants-only": "GFDL_1_2_invariants_only",+ "GFDL-1.2-invariants-or-later": "GFDL_1_2_invariants_or_later",+ "GFDL-1.2-no-invariants-only": "GFDL_1_2_no_invariants_only",+ "GFDL-1.2-no-invariants-or-later": "GFDL_1_2_no_invariants_or_later",+ "GFDL-1.2-only": "GFDL_1_2_only",+ "GFDL-1.2-or-later": "GFDL_1_2_or_later",+ "GFDL-1.3-invariants-only": "GFDL_1_3_invariants_only",+ "GFDL-1.3-invariants-or-later": "GFDL_1_3_invariants_or_later",+ "GFDL-1.3-no-invariants-only": "GFDL_1_3_no_invariants_only",+ "GFDL-1.3-no-invariants-or-later": "GFDL_1_3_no_invariants_or_later",+ "GFDL-1.3-only": "GFDL_1_3_only",+ "GFDL-1.3-or-later": "GFDL_1_3_or_later",+ "Giftware": "Giftware",+ "GL2PS": "GL2PS",+ "Glide": "Glide",+ "Glulxe": "Glulxe",+ "GLWTPL": "GLWTPL",+ "gnuplot": "Gnuplot",+ "GPL-1.0-only": "GPL_1_0_only",+ "GPL-1.0-or-later": "GPL_1_0_or_later",+ "GPL-2.0-only": "GPL_2_0_only",+ "GPL-2.0-or-later": "GPL_2_0_or_later",+ "GPL-3.0-only": "GPL_3_0_only",+ "GPL-3.0-or-later": "GPL_3_0_or_later",+ "Graphics-Gems": "Graphics_Gems",+ "gSOAP-1.3b": "GSOAP_1_3b",+ "gtkbook": "Gtkbook",+ "Gutmann": "Gutmann",+ "HaskellReport": "HaskellReport",+ "hdparm": "Hdparm",+ "Hippocratic-2.1": "Hippocratic_2_1",+ "HP-1986": "HP_1986",+ "HP-1989": "HP_1989",+ "HPND": "HPND",+ "HPND-DEC": "HPND_DEC",+ "HPND-doc": "HPND_doc",+ "HPND-doc-sell": "HPND_doc_sell",+ "HPND-export-US": "HPND_export_US",+ "HPND-export-US-acknowledgement": "HPND_export_US_acknowledgement",+ "HPND-export-US-modify": "HPND_export_US_modify",+ "HPND-export2-US": "HPND_export2_US",+ "HPND-Fenneberg-Livingston": "HPND_Fenneberg_Livingston",+ "HPND-INRIA-IMAG": "HPND_INRIA_IMAG",+ "HPND-Intel": "HPND_Intel",+ "HPND-Kevlin-Henney": "HPND_Kevlin_Henney",+ "HPND-Markus-Kuhn": "HPND_Markus_Kuhn",+ "HPND-merchantability-variant": "HPND_merchantability_variant",+ "HPND-MIT-disclaimer": "HPND_MIT_disclaimer",+ "HPND-Pbmplus": "HPND_Pbmplus",+ "HPND-sell-MIT-disclaimer-xserver": "HPND_sell_MIT_disclaimer_xserver",+ "HPND-sell-regexpr": "HPND_sell_regexpr",+ "HPND-sell-variant": "HPND_sell_variant",+ "HPND-sell-variant-MIT-disclaimer": "HPND_sell_variant_MIT_disclaimer",+ "HPND-sell-variant-MIT-disclaimer-rev": "HPND_sell_variant_MIT_disclaimer_rev",+ "HPND-UC": "HPND_UC",+ "HPND-UC-export-US": "HPND_UC_export_US",+ "HTMLTIDY": "HTMLTIDY",+ "IBM-pibs": "IBM_pibs",+ "ICU": "ICU",+ "IEC-Code-Components-EULA": "IEC_Code_Components_EULA",+ "IJG": "IJG",+ "IJG-short": "IJG_short",+ "ImageMagick": "ImageMagick",+ "iMatix": "IMatix",+ "Imlib2": "Imlib2",+ "Info-ZIP": "Info_ZIP",+ "Inner-Net-2.0": "Inner_Net_2_0",+ "Intel": "Intel",+ "Intel-ACPI": "Intel_ACPI",+ "Interbase-1.0": "Interbase_1_0",+ "IPA": "IPA",+ "IPL-1.0": "IPL_1_0",+ "ISC": "ISC",+ "ISC-Veillard": "ISC_Veillard",+ "Jam": "Jam",+ "JasPer-2.0": "JasPer_2_0",+ "JPL-image": "JPL_image",+ "JPNIC": "JPNIC",+ "JSON": "JSON",+ "Kastrup": "Kastrup",+ "Kazlib": "Kazlib",+ "Knuth-CTAN": "Knuth_CTAN",+ "LAL-1.2": "LAL_1_2",+ "LAL-1.3": "LAL_1_3",+ "Latex2e": "Latex2e",+ "Latex2e-translated-notice": "Latex2e_translated_notice",+ "Leptonica": "Leptonica",+ "LGPL-2.0-only": "LGPL_2_0_only",+ "LGPL-2.0-or-later": "LGPL_2_0_or_later",+ "LGPL-2.1-only": "LGPL_2_1_only",+ "LGPL-2.1-or-later": "LGPL_2_1_or_later",+ "LGPL-3.0-only": "LGPL_3_0_only",+ "LGPL-3.0-or-later": "LGPL_3_0_or_later",+ "LGPLLR": "LGPLLR",+ "Libpng": "Libpng",+ "libpng-2.0": "Libpng_2_0",+ "libselinux-1.0": "Libselinux_1_0",+ "libtiff": "Libtiff",+ "libutil-David-Nugent": "Libutil_David_Nugent",+ "LiLiQ-P-1.1": "LiLiQ_P_1_1",+ "LiLiQ-R-1.1": "LiLiQ_R_1_1",+ "LiLiQ-Rplus-1.1": "LiLiQ_Rplus_1_1",+ "Linux-man-pages-1-para": "Linux_man_pages_1_para",+ "Linux-man-pages-copyleft": "Linux_man_pages_copyleft",+ "Linux-man-pages-copyleft-2-para": "Linux_man_pages_copyleft_2_para",+ "Linux-man-pages-copyleft-var": "Linux_man_pages_copyleft_var",+ "Linux-OpenIB": "Linux_OpenIB",+ "LOOP": "LOOP",+ "LPD-document": "LPD_document",+ "LPL-1.0": "LPL_1_0",+ "LPL-1.02": "LPL_1_02",+ "LPPL-1.0": "LPPL_1_0",+ "LPPL-1.1": "LPPL_1_1",+ "LPPL-1.2": "LPPL_1_2",+ "LPPL-1.3a": "LPPL_1_3a",+ "LPPL-1.3c": "LPPL_1_3c",+ "lsof": "Lsof",+ "Lucida-Bitmap-Fonts": "Lucida_Bitmap_Fonts",+ "LZMA-SDK-9.11-to-9.20": "LZMA_SDK_9_11_to_9_20",+ "LZMA-SDK-9.22": "LZMA_SDK_9_22",+ "Mackerras-3-Clause": "Mackerras_3_Clause",+ "Mackerras-3-Clause-acknowledgment": "Mackerras_3_Clause_acknowledgment",+ "magaz": "Magaz",+ "mailprio": "Mailprio",+ "MakeIndex": "MakeIndex",+ "Martin-Birgmeier": "Martin_Birgmeier",+ "McPhee-slideshow": "McPhee_slideshow",+ "metamail": "Metamail",+ "Minpack": "Minpack",+ "MirOS": "MirOS",+ "MIT": "MIT",+ "MIT-0": "MIT_0",+ "MIT-advertising": "MIT_advertising",+ "MIT-CMU": "MIT_CMU",+ "MIT-enna": "MIT_enna",+ "MIT-feh": "MIT_feh",+ "MIT-Festival": "MIT_Festival",+ "MIT-Khronos-old": "MIT_Khronos_old",+ "MIT-Modern-Variant": "MIT_Modern_Variant",+ "MIT-open-group": "MIT_open_group",+ "MIT-testregex": "MIT_testregex",+ "MIT-Wu": "MIT_Wu",+ "MITNFA": "MITNFA",+ "MMIXware": "MMIXware",+ "Motosoto": "Motosoto",+ "MPEG-SSG": "MPEG_SSG",+ "mpi-permissive": "Mpi_permissive",+ "mpich2": "Mpich2",+ "MPL-1.0": "MPL_1_0",+ "MPL-1.1": "MPL_1_1",+ "MPL-2.0": "MPL_2_0",+ "MPL-2.0-no-copyleft-exception": "MPL_2_0_no_copyleft_exception",+ "mplus": "Mplus",+ "MS-LPL": "MS_LPL",+ "MS-PL": "MS_PL",+ "MS-RL": "MS_RL",+ "MTLL": "MTLL",+ "MulanPSL-1.0": "MulanPSL_1_0",+ "MulanPSL-2.0": "MulanPSL_2_0",+ "Multics": "Multics",+ "Mup": "Mup",+ "NAIST-2003": "NAIST_2003",+ "NASA-1.3": "NASA_1_3",+ "Naumen": "Naumen",+ "NBPL-1.0": "NBPL_1_0",+ "NCBI-PD": "NCBI_PD",+ "NCGL-UK-2.0": "NCGL_UK_2_0",+ "NCL": "NCL",+ "NCSA": "NCSA",+ "Net-SNMP": "Net_SNMP",+ "NetCDF": "NetCDF",+ "Newsletr": "Newsletr",+ "NGPL": "NGPL",+ "NICTA-1.0": "NICTA_1_0",+ "NIST-PD": "NIST_PD",+ "NIST-PD-fallback": "NIST_PD_fallback",+ "NIST-Software": "NIST_Software",+ "NLOD-1.0": "NLOD_1_0",+ "NLOD-2.0": "NLOD_2_0",+ "NLPL": "NLPL",+ "Nokia": "Nokia",+ "NOSL": "NOSL",+ "Noweb": "Noweb",+ "NPL-1.0": "NPL_1_0",+ "NPL-1.1": "NPL_1_1",+ "NPOSL-3.0": "NPOSL_3_0",+ "NRL": "NRL",+ "NTP": "NTP",+ "NTP-0": "NTP_0",+ "O-UDA-1.0": "O_UDA_1_0",+ "OAR": "OAR",+ "OCCT-PL": "OCCT_PL",+ "OCLC-2.0": "OCLC_2_0",+ "ODbL-1.0": "ODbL_1_0",+ "ODC-By-1.0": "ODC_By_1_0",+ "OFFIS": "OFFIS",+ "OFL-1.0": "OFL_1_0",+ "OFL-1.0-no-RFN": "OFL_1_0_no_RFN",+ "OFL-1.0-RFN": "OFL_1_0_RFN",+ "OFL-1.1": "OFL_1_1",+ "OFL-1.1-no-RFN": "OFL_1_1_no_RFN",+ "OFL-1.1-RFN": "OFL_1_1_RFN",+ "OGC-1.0": "OGC_1_0",+ "OGDL-Taiwan-1.0": "OGDL_Taiwan_1_0",+ "OGL-Canada-2.0": "OGL_Canada_2_0",+ "OGL-UK-1.0": "OGL_UK_1_0",+ "OGL-UK-2.0": "OGL_UK_2_0",+ "OGL-UK-3.0": "OGL_UK_3_0",+ "OGTSL": "OGTSL",+ "OLDAP-1.1": "OLDAP_1_1",+ "OLDAP-1.2": "OLDAP_1_2",+ "OLDAP-1.3": "OLDAP_1_3",+ "OLDAP-1.4": "OLDAP_1_4",+ "OLDAP-2.0": "OLDAP_2_0",+ "OLDAP-2.0.1": "OLDAP_2_0_1",+ "OLDAP-2.1": "OLDAP_2_1",+ "OLDAP-2.2": "OLDAP_2_2",+ "OLDAP-2.2.1": "OLDAP_2_2_1",+ "OLDAP-2.2.2": "OLDAP_2_2_2",+ "OLDAP-2.3": "OLDAP_2_3",+ "OLDAP-2.4": "OLDAP_2_4",+ "OLDAP-2.5": "OLDAP_2_5",+ "OLDAP-2.6": "OLDAP_2_6",+ "OLDAP-2.7": "OLDAP_2_7",+ "OLDAP-2.8": "OLDAP_2_8",+ "OLFL-1.3": "OLFL_1_3",+ "OML": "OML",+ "OpenPBS-2.3": "OpenPBS_2_3",+ "OpenSSL": "OpenSSL",+ "OpenSSL-standalone": "OpenSSL_standalone",+ "OpenVision": "OpenVision",+ "OPL-1.0": "OPL_1_0",+ "OPL-UK-3.0": "OPL_UK_3_0",+ "OPUBL-1.0": "OPUBL_1_0",+ "OSET-PL-2.1": "OSET_PL_2_1",+ "OSL-1.0": "OSL_1_0",+ "OSL-1.1": "OSL_1_1",+ "OSL-2.0": "OSL_2_0",+ "OSL-2.1": "OSL_2_1",+ "OSL-3.0": "OSL_3_0",+ "PADL": "PADL",+ "Parity-6.0.0": "Parity_6_0_0",+ "Parity-7.0.0": "Parity_7_0_0",+ "PDDL-1.0": "PDDL_1_0",+ "PHP-3.0": "PHP_3_0",+ "PHP-3.01": "PHP_3_01",+ "Pixar": "Pixar",+ "pkgconf": "Pkgconf",+ "Plexus": "Plexus",+ "pnmstitch": "Pnmstitch",+ "PolyForm-Noncommercial-1.0.0": "PolyForm_Noncommercial_1_0_0",+ "PolyForm-Small-Business-1.0.0": "PolyForm_Small_Business_1_0_0",+ "PostgreSQL": "PostgreSQL",+ "PPL": "PPL",+ "PSF-2.0": "PSF_2_0",+ "psfrag": "Psfrag",+ "psutils": "Psutils",+ "Python-2.0": "Python_2_0",+ "Python-2.0.1": "Python_2_0_1",+ "python-ldap": "Python_ldap",+ "Qhull": "Qhull",+ "QPL-1.0": "QPL_1_0",+ "QPL-1.0-INRIA-2004": "QPL_1_0_INRIA_2004",+ "radvd": "Radvd",+ "Rdisc": "Rdisc",+ "RHeCos-1.1": "RHeCos_1_1",+ "RPL-1.1": "RPL_1_1",+ "RPL-1.5": "RPL_1_5",+ "RPSL-1.0": "RPSL_1_0",+ "RSA-MD": "RSA_MD",+ "RSCPL": "RSCPL",+ "Ruby": "Ruby",+ "SAX-PD": "SAX_PD",+ "SAX-PD-2.0": "SAX_PD_2_0",+ "Saxpath": "Saxpath",+ "SCEA": "SCEA",+ "SchemeReport": "SchemeReport",+ "Sendmail": "Sendmail",+ "Sendmail-8.23": "Sendmail_8_23",+ "SGI-B-1.0": "SGI_B_1_0",+ "SGI-B-1.1": "SGI_B_1_1",+ "SGI-B-2.0": "SGI_B_2_0",+ "SGI-OpenGL": "SGI_OpenGL",+ "SGP4": "SGP4",+ "SHL-0.5": "SHL_0_5",+ "SHL-0.51": "SHL_0_51",+ "SimPL-2.0": "SimPL_2_0",+ "SISSL": "SISSL",+ "SISSL-1.2": "SISSL_1_2",+ "SL": "SL",+ "Sleepycat": "Sleepycat",+ "SMLNJ": "SMLNJ",+ "SMPPL": "SMPPL",+ "SNIA": "SNIA",+ "snprintf": "Snprintf",+ "softSurfer": "SoftSurfer",+ "Soundex": "Soundex",+ "Spencer-86": "Spencer_86",+ "Spencer-94": "Spencer_94",+ "Spencer-99": "Spencer_99",+ "SPL-1.0": "SPL_1_0",+ "ssh-keyscan": "Ssh_keyscan",+ "SSH-OpenSSH": "SSH_OpenSSH",+ "SSH-short": "SSH_short",+ "SSLeay-standalone": "SSLeay_standalone",+ "SSPL-1.0": "SSPL_1_0",+ "SugarCRM-1.1.3": "SugarCRM_1_1_3",+ "Sun-PPP": "Sun_PPP",+ "Sun-PPP-2000": "Sun_PPP_2000",+ "SunPro": "SunPro",+ "SWL": "SWL",+ "swrule": "Swrule",+ "Symlinks": "Symlinks",+ "TAPR-OHL-1.0": "TAPR_OHL_1_0",+ "TCL": "TCL",+ "TCP-wrappers": "TCP_wrappers",+ "TermReadKey": "TermReadKey",+ "TGPPL-1.0": "TGPPL_1_0",+ "threeparttable": "Threeparttable",+ "TMate": "TMate",+ "TORQUE-1.1": "TORQUE_1_1",+ "TOSL": "TOSL",+ "TPDL": "TPDL",+ "TPL-1.0": "TPL_1_0",+ "TTWL": "TTWL",+ "TTYP0": "TTYP0",+ "TU-Berlin-1.0": "TU_Berlin_1_0",+ "TU-Berlin-2.0": "TU_Berlin_2_0",+ "UCAR": "UCAR",+ "UCL-1.0": "UCL_1_0",+ "ulem": "Ulem",+ "UMich-Merit": "UMich_Merit",+ "Unicode-3.0": "Unicode_3_0",+ "Unicode-DFS-2015": "Unicode_DFS_2015",+ "Unicode-DFS-2016": "Unicode_DFS_2016",+ "Unicode-TOU": "Unicode_TOU",+ "UnixCrypt": "UnixCrypt",+ "Unlicense": "Unlicense",+ "UPL-1.0": "UPL_1_0",+ "URT-RLE": "URT_RLE",+ "Vim": "Vim",+ "VOSTROM": "VOSTROM",+ "VSL-1.0": "VSL_1_0",+ "W3C": "W3C",+ "W3C-19980720": "W3C_19980720",+ "W3C-20150513": "W3C_20150513",+ "w3m": "W3m",+ "Watcom-1.0": "Watcom_1_0",+ "Widget-Workshop": "Widget_Workshop",+ "Wsuipa": "Wsuipa",+ "WTFPL": "WTFPL",+ "X11": "X11",+ "X11-distribute-modifications-variant": "X11_distribute_modifications_variant",+ "Xdebug-1.03": "Xdebug_1_03",+ "Xerox": "Xerox",+ "Xfig": "Xfig",+ "XFree86-1.1": "XFree86_1_1",+ "xinetd": "Xinetd",+ "xkeyboard-config-Zinoviev": "Xkeyboard_Config_Zinoviev",+ "xlock": "Xlock",+ "Xnet": "Xnet",+ "xpp": "Xpp",+ "XSkat": "XSkat",+ "xzoom": "Xzoom",+ "YPL-1.0": "YPL_1_0",+ "YPL-1.1": "YPL_1_1",+ "Zed": "Zed",+ "Zeeff": "Zeeff",+ "Zend-2.0": "Zend_2_0",+ "Zimbra-1.3": "Zimbra_1_3",+ "Zimbra-1.4": "Zimbra_1_4",+ "Zlib": "Zlib",+ "zlib-acknowledgement": "Zlib_acknowledgement",+ "ZPL-1.1": "ZPL_1_1",+ "ZPL-2.0": "ZPL_2_0",+ "ZPL-2.1": "ZPL_2_1"+}
+ src/Web/ArchLinux/Internal/KnownSPDXLoader.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE TemplateHaskellQuotes #-}++module Web.ArchLinux.Internal.KnownSPDXLoader (loadKnownSPDX) where++import Data.Aeson+import qualified Data.ByteString as BS+import Data.Map.Strict (Map, toList)+import GHC.Generics (Generic)+import Language.Haskell.TH+import System.Directory (getCurrentDirectory)+import System.FilePath ((</>))++-- | Load the KNOWN_SPDX.json file at compile time and generate data type 'License', and+-- functions 'parseLicense' and 'licenseId'. If the license string is not known, 'parseLicense'+-- will return 'Custom' with the original string, and 'licenseId' will return the original string+-- for 'Custom' licenses.+loadKnownSPDX :: DecsQ+loadKnownSPDX = do+ txt <- runIO $ getCurrentDirectory >>= \dot -> BS.readFile $ dot </> "data" </> "KNOWN_SPDX.json"+ let (toList -> src) = case decodeStrict @(Map String String) txt of+ Just x -> x+ _ -> error "Failed to parse json"+ dec1 <- genData src+ dec2 <- genParse src+ dec3 <- genId src+ pure [dec1, dec2, dec3]++genData :: [(String, String)] -> DecQ+genData src = dataD_doc (pure []) (mkName "License") [] Nothing (customCon : (genCon <$> src)) drv (pure "SPDX License Identifiers included in @/usr/share/licenses/known_spdx_license_identifiers.txt@ of package <https://archlinux.org/packages/core/any/licenses/>.")+ where+ customCon = (normalC (mkName "Custom") [bangType (bang (pure NoSourceUnpackedness) (pure NoSourceStrictness)) [t|String|]], Nothing, [])+ genCon (from, to) = (normalC (mkName to) [], pure $ unwords ["@", from, "@"], [])+ drv = [derivClause (pure StockStrategy) [[t|Show|], [t|Eq|], [t|Ord|], [t|Generic|]]]++genParse :: [(String, String)] -> DecQ+genParse src = funD_doc (mkName "parseLicense") ((genClause <$> src) <> [custom]) (pure "Parse a SPDX license identifier. If the identifier is not known, return 'Custom' with the original string.") []+ where+ custom = clause [varP (mkName "s")] (normalB [|Custom s|]) []+ genClause (from, to) = clause [litP (StringL from)] (normalB $ conE (mkName to)) []++genId :: [(String, String)] -> DecQ+genId src = funD_doc (mkName "licenseId") ((genClause <$> src) <> [custom]) (pure "Get the SPDX license identifier. If the license is 'Custom', return the original string.") []+ where+ custom = clause [conP (mkName "Custom") [varP (mkName "s")]] (normalB [|s|]) []+ genClause (from, to) = clause [conP (mkName to) []] (normalB $ litE (StringL from)) []
src/Web/ArchLinux/Types.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TemplateHaskell #-} -- | Copyright: (c) 2021 berberman -- SPDX-License-Identifier: MIT@@ -38,6 +39,7 @@ import Data.Time (UTCTime) import Deriving.Aeson import Servant.API (ToHttpApiData (..))+import Web.ArchLinux.Internal.KnownSPDXLoader type ArchLinuxJSON = CustomJSON '[FieldLabelModifier (StripPrefix "_", CamelToSnake)] @@ -96,316 +98,16 @@ instance ToHttpApiData Arch where toQueryParam = toQueryParamViaJSON --- | SPDX License Identifiers included in <https://archlinux.org/packages/core/any/licenses/>,-data License- = AGPL_3_0_only- | AGPL_3_0_or_later- | Apache_2_0- | Artistic_1_0_Perl- | Artistic_2_0- | BSL_1_0- | CC_BY_1_0- | CC_BY_2_0- | CC_BY_2_5- | CC_BY_3_0_AT- | CC_BY_3_0_US- | CC_BY_3_0- | CC_BY_4_0- | CC_BY_NC_1_0- | CC_BY_NC_2_0- | CC_BY_NC_2_5- | CC_BY_NC_3_0- | CC_BY_NC_4_0- | CC_BY_NC_ND_1_0- | CC_BY_NC_ND_2_0- | CC_BY_NC_ND_2_5- | CC_BY_NC_ND_3_0_IGO- | CC_BY_NC_ND_3_0- | CC_BY_NC_ND_4_0- | CC_BY_NC_SA_1_0- | CC_BY_NC_SA_2_0- | CC_BY_NC_SA_2_5- | CC_BY_NC_SA_3_0- | CC_BY_NC_SA_4_0- | CC_BY_ND_1_0- | CC_BY_ND_2_0- | CC_BY_ND_2_5- | CC_BY_ND_3_0- | CC_BY_ND_4_0- | CC_BY_SA_1_0- | CC_BY_SA_2_0_UK- | CC_BY_SA_2_1_JP- | CC_BY_SA_2_5- | CC_BY_SA_3_0_AT- | CC_BY_SA_3_0- | CC_BY_SA_4_0- | CC_PDDC- | CC0_1_0- | CDDL_1_0- | CDDL_1_1- | CPL_1_0- | EPL_1_0- | EPL_2_0- | FSFAP- | GFDL_1_1_invariants_only- | GFDL_1_1_invariants_or_later- | GFDL_1_1_no_invariants_only- | GFDL_1_1_no_invariants_or_later- | GFDL_1_1_only- | GFDL_1_1_or_later- | GFDL_1_2_invariants_only- | GFDL_1_2_invariants_or_later- | GFDL_1_2_no_invariants_only- | GFDL_1_2_no_invariants_or_later- | GFDL_1_2_only- | GFDL_1_2_or_later- | GFDL_1_3_invariants_only- | GFDL_1_3_invariants_or_later- | GFDL_1_3_no_invariants_only- | GFDL_1_3_no_invariants_or_later- | GFDL_1_3_only- | GFDL_1_3_or_later- | GPL_1_0_only- | GPL_1_0_or_later- | GPL_2_0_only- | GPL_2_0_or_later- | GPL_3_0_only- | GPL_3_0_or_later- | LGPL_2_0_only- | LGPL_2_0_or_later- | LGPL_2_1_only- | LGPL_2_1_or_later- | LGPL_3_0_only- | LGPL_3_0_or_later- | LGPLLR- | LPPL_1_0- | LPPL_1_1- | LPPL_1_2- | LPPL_1_3a- | LPPL_1_3c- | MPL_1_0- | MPL_1_1- | MPL_2_0- | PHP_3_0- | PHP_3_01- | PSF_2_0- | Ruby- | Unlicense- | W3C- | WTFPL- | ZPL_1_1- | ZPL_2_0- | ZPL_2_1- | Custom Text- deriving stock (Show, Eq, Ord, Generic)--licenseId :: License -> Text-licenseId AGPL_3_0_only = "AGPL-3.0-only"-licenseId AGPL_3_0_or_later = "AGPL-3.0-or-later"-licenseId Apache_2_0 = "Apache-2.0"-licenseId Artistic_1_0_Perl = "Artistic-1.0-Perl"-licenseId Artistic_2_0 = "Artistic-2.0"-licenseId BSL_1_0 = "BSL-1.0"-licenseId CC_BY_1_0 = "CC-BY-1.0"-licenseId CC_BY_2_0 = "CC-BY-2.0"-licenseId CC_BY_2_5 = "CC-BY-2.5"-licenseId CC_BY_3_0_AT = "CC-BY-3.0-AT"-licenseId CC_BY_3_0_US = "CC-BY-3.0-US"-licenseId CC_BY_3_0 = "CC-BY-3.0"-licenseId CC_BY_4_0 = "CC-BY-4.0"-licenseId CC_BY_NC_1_0 = "CC-BY-NC-1.0"-licenseId CC_BY_NC_2_0 = "CC-BY-NC-2.0"-licenseId CC_BY_NC_2_5 = "CC-BY-NC-2.5"-licenseId CC_BY_NC_3_0 = "CC-BY-NC-3.0"-licenseId CC_BY_NC_4_0 = "CC-BY-NC-4.0"-licenseId CC_BY_NC_ND_1_0 = "CC-BY-NC-ND-1.0"-licenseId CC_BY_NC_ND_2_0 = "CC-BY-NC-ND-2.0"-licenseId CC_BY_NC_ND_2_5 = "CC-BY-NC-ND-2.5"-licenseId CC_BY_NC_ND_3_0_IGO = "CC-BY-NC-ND-3.0-IGO"-licenseId CC_BY_NC_ND_3_0 = "CC-BY-NC-ND-3.0"-licenseId CC_BY_NC_ND_4_0 = "CC-BY-NC-ND-4.0"-licenseId CC_BY_NC_SA_1_0 = "CC-BY-NC-SA-1.0"-licenseId CC_BY_NC_SA_2_0 = "CC-BY-NC-SA-2.0"-licenseId CC_BY_NC_SA_2_5 = "CC-BY-NC-SA-2.5"-licenseId CC_BY_NC_SA_3_0 = "CC-BY-NC-SA-3.0"-licenseId CC_BY_NC_SA_4_0 = "CC-BY-NC-SA-4.0"-licenseId CC_BY_ND_1_0 = "CC-BY-ND-1.0"-licenseId CC_BY_ND_2_0 = "CC-BY-ND-2.0"-licenseId CC_BY_ND_2_5 = "CC-BY-ND-2.5"-licenseId CC_BY_ND_3_0 = "CC-BY-ND-3.0"-licenseId CC_BY_ND_4_0 = "CC-BY-ND-4.0"-licenseId CC_BY_SA_1_0 = "CC-BY-SA-1.0"-licenseId CC_BY_SA_2_0_UK = "CC-BY-SA-2.0-UK"-licenseId CC_BY_SA_2_1_JP = "CC-BY-SA-2.1-JP"-licenseId CC_BY_SA_2_5 = "CC-BY-SA-2.5"-licenseId CC_BY_SA_3_0_AT = "CC-BY-SA-3.0-AT"-licenseId CC_BY_SA_3_0 = "CC-BY-SA-3.0"-licenseId CC_BY_SA_4_0 = "CC-BY-SA-4.0"-licenseId CC_PDDC = "CC-PDDC"-licenseId CC0_1_0 = "CC0-1.0"-licenseId CDDL_1_0 = "CDDL-1.0"-licenseId CDDL_1_1 = "CDDL-1.1"-licenseId CPL_1_0 = "CPL-1.0"-licenseId EPL_1_0 = "EPL-1.0"-licenseId EPL_2_0 = "EPL-2.0"-licenseId FSFAP = "FSFAP"-licenseId GFDL_1_1_invariants_only = "GFDL-1.1-invariants-only"-licenseId GFDL_1_1_invariants_or_later = "GFDL-1.1-invariants-or-later"-licenseId GFDL_1_1_no_invariants_only = "GFDL-1.1-no-invariants-only"-licenseId GFDL_1_1_no_invariants_or_later = "GFDL-1.1-no-invariants-or-later"-licenseId GFDL_1_1_only = "GFDL-1.1-only"-licenseId GFDL_1_1_or_later = "GFDL-1.1-or-later"-licenseId GFDL_1_2_invariants_only = "GFDL-1.2-invariants-only"-licenseId GFDL_1_2_invariants_or_later = "GFDL-1.2-invariants-or-later"-licenseId GFDL_1_2_no_invariants_only = "GFDL-1.2-no-invariants-only"-licenseId GFDL_1_2_no_invariants_or_later = "GFDL-1.2-no-invariants-or-later"-licenseId GFDL_1_2_only = "GFDL-1.2-only"-licenseId GFDL_1_2_or_later = "GFDL-1.2-or-later"-licenseId GFDL_1_3_invariants_only = "GFDL-1.3-invariants-only"-licenseId GFDL_1_3_invariants_or_later = "GFDL-1.3-invariants-or-later"-licenseId GFDL_1_3_no_invariants_only = "GFDL-1.3-no-invariants-only"-licenseId GFDL_1_3_no_invariants_or_later = "GFDL-1.3-no-invariants-or-later"-licenseId GFDL_1_3_only = "GFDL-1.3-only"-licenseId GFDL_1_3_or_later = "GFDL-1.3-or-later"-licenseId GPL_1_0_only = "GPL-1.0-only"-licenseId GPL_1_0_or_later = "GPL-1.0-or-later"-licenseId GPL_2_0_only = "GPL-2.0-only"-licenseId GPL_2_0_or_later = "GPL-2.0-or-later"-licenseId GPL_3_0_only = "GPL-3.0-only"-licenseId GPL_3_0_or_later = "GPL-3.0-or-later"-licenseId LGPL_2_0_only = "LGPL-2.0-only"-licenseId LGPL_2_0_or_later = "LGPL-2.0-or-later"-licenseId LGPL_2_1_only = "LGPL-2.1-only"-licenseId LGPL_2_1_or_later = "LGPL-2.1-or-later"-licenseId LGPL_3_0_only = "LGPL-3.0-only"-licenseId LGPL_3_0_or_later = "LGPL-3.0-or-later"-licenseId LGPLLR = "LGPLLR"-licenseId LPPL_1_0 = "LPPL-1.0"-licenseId LPPL_1_1 = "LPPL-1.1"-licenseId LPPL_1_2 = "LPPL-1.2"-licenseId LPPL_1_3a = "LPPL-1.3a"-licenseId LPPL_1_3c = "LPPL-1.3c"-licenseId MPL_1_0 = "MPL-1.0"-licenseId MPL_1_1 = "MPL-1.1"-licenseId MPL_2_0 = "MPL-2.0"-licenseId PHP_3_0 = "PHP-3.0"-licenseId PHP_3_01 = "PHP-3.01"-licenseId PSF_2_0 = "PSF-2.0"-licenseId Ruby = "Ruby"-licenseId Unlicense = "Unlicense"-licenseId W3C = "W3C"-licenseId WTFPL = "WTFPL"-licenseId ZPL_1_1 = "ZPL-1.1"-licenseId ZPL_2_0 = "ZPL-2.0"-licenseId ZPL_2_1 = "ZPL-2.1"-licenseId (Custom x) = "custom:" <> x+$(loadKnownSPDX) -parseLicense :: Text -> License-parseLicense "AGPL-3.0-only" = AGPL_3_0_only-parseLicense "AGPL-3.0-or-later" = AGPL_3_0_or_later-parseLicense "Apache-2.0" = Apache_2_0-parseLicense "Artistic-1.0-Perl" = Artistic_1_0_Perl-parseLicense "Artistic-2.0" = Artistic_2_0-parseLicense "BSL-1.0" = BSL_1_0-parseLicense "CC-BY-1.0" = CC_BY_1_0-parseLicense "CC-BY-2.0" = CC_BY_2_0-parseLicense "CC-BY-2.5" = CC_BY_2_5-parseLicense "CC-BY-3.0-AT" = CC_BY_3_0_AT-parseLicense "CC-BY-3.0-US" = CC_BY_3_0_US-parseLicense "CC-BY-3.0" = CC_BY_3_0-parseLicense "CC-BY-4.0" = CC_BY_4_0-parseLicense "CC-BY-NC-1.0" = CC_BY_NC_1_0-parseLicense "CC-BY-NC-2.0" = CC_BY_NC_2_0-parseLicense "CC-BY-NC-2.5" = CC_BY_NC_2_5-parseLicense "CC-BY-NC-3.0" = CC_BY_NC_3_0-parseLicense "CC-BY-NC-4.0" = CC_BY_NC_4_0-parseLicense "CC-BY-NC-ND-1.0" = CC_BY_NC_ND_1_0-parseLicense "CC-BY-NC-ND-2.0" = CC_BY_NC_ND_2_0-parseLicense "CC-BY-NC-ND-2.5" = CC_BY_NC_ND_2_5-parseLicense "CC-BY-NC-ND-3.0-IGO" = CC_BY_NC_ND_3_0_IGO-parseLicense "CC-BY-NC-ND-3.0" = CC_BY_NC_ND_3_0-parseLicense "CC-BY-NC-ND-4.0" = CC_BY_NC_ND_4_0-parseLicense "CC-BY-NC-SA-1.0" = CC_BY_NC_SA_1_0-parseLicense "CC-BY-NC-SA-2.0" = CC_BY_NC_SA_2_0-parseLicense "CC-BY-NC-SA-2.5" = CC_BY_NC_SA_2_5-parseLicense "CC-BY-NC-SA-3.0" = CC_BY_NC_SA_3_0-parseLicense "CC-BY-NC-SA-4.0" = CC_BY_NC_SA_4_0-parseLicense "CC-BY-ND-1.0" = CC_BY_ND_1_0-parseLicense "CC-BY-ND-2.0" = CC_BY_ND_2_0-parseLicense "CC-BY-ND-2.5" = CC_BY_ND_2_5-parseLicense "CC-BY-ND-3.0" = CC_BY_ND_3_0-parseLicense "CC-BY-ND-4.0" = CC_BY_ND_4_0-parseLicense "CC-BY-SA-1.0" = CC_BY_SA_1_0-parseLicense "CC-BY-SA-2.0-UK" = CC_BY_SA_2_0_UK-parseLicense "CC-BY-SA-2.1-JP" = CC_BY_SA_2_1_JP-parseLicense "CC-BY-SA-2.5" = CC_BY_SA_2_5-parseLicense "CC-BY-SA-3.0-AT" = CC_BY_SA_3_0_AT-parseLicense "CC-BY-SA-3.0" = CC_BY_SA_3_0-parseLicense "CC-BY-SA-4.0" = CC_BY_SA_4_0-parseLicense "CC-PDDC" = CC_PDDC-parseLicense "CC0-1.0" = CC0_1_0-parseLicense "CDDL-1.0" = CDDL_1_0-parseLicense "CDDL-1.1" = CDDL_1_1-parseLicense "CPL-1.0" = CPL_1_0-parseLicense "EPL-1.0" = EPL_1_0-parseLicense "EPL-2.0" = EPL_2_0-parseLicense "FSFAP" = FSFAP-parseLicense "GFDL-1.1-invariants-only" = GFDL_1_1_invariants_only-parseLicense "GFDL-1.1-invariants-or-later" = GFDL_1_1_invariants_or_later-parseLicense "GFDL-1.1-no-invariants-only" = GFDL_1_1_no_invariants_only-parseLicense "GFDL-1.1-no-invariants-or-later" = GFDL_1_1_no_invariants_or_later-parseLicense "GFDL-1.1-only" = GFDL_1_1_only-parseLicense "GFDL-1.1-or-later" = GFDL_1_1_or_later-parseLicense "GFDL-1.2-invariants-only" = GFDL_1_2_invariants_only-parseLicense "GFDL-1.2-invariants-or-later" = GFDL_1_2_invariants_or_later-parseLicense "GFDL-1.2-no-invariants-only" = GFDL_1_2_no_invariants_only-parseLicense "GFDL-1.2-no-invariants-or-later" = GFDL_1_2_no_invariants_or_later-parseLicense "GFDL-1.2-only" = GFDL_1_2_only-parseLicense "GFDL-1.2-or-later" = GFDL_1_2_or_later-parseLicense "GFDL-1.3-invariants-only" = GFDL_1_3_invariants_only-parseLicense "GFDL-1.3-invariants-or-later" = GFDL_1_3_invariants_or_later-parseLicense "GFDL-1.3-no-invariants-only" = GFDL_1_3_no_invariants_only-parseLicense "GFDL-1.3-no-invariants-or-later" = GFDL_1_3_no_invariants_or_later-parseLicense "GFDL-1.3-only" = GFDL_1_3_only-parseLicense "GFDL-1.3-or-later" = GFDL_1_3_or_later-parseLicense "GPL-1.0-only" = GPL_1_0_only-parseLicense "GPL-1.0-or-later" = GPL_1_0_or_later-parseLicense "GPL-2.0-only" = GPL_2_0_only-parseLicense "GPL-2.0-or-later" = GPL_2_0_or_later-parseLicense "GPL-3.0-only" = GPL_3_0_only-parseLicense "GPL-3.0-or-later" = GPL_3_0_or_later-parseLicense "LGPL-2.0-only" = LGPL_2_0_only-parseLicense "LGPL-2.0-or-later" = LGPL_2_0_or_later-parseLicense "LGPL-2.1-only" = LGPL_2_1_only-parseLicense "LGPL-2.1-or-later" = LGPL_2_1_or_later-parseLicense "LGPL-3.0-only" = LGPL_3_0_only-parseLicense "LGPL-3.0-or-later" = LGPL_3_0_or_later-parseLicense "LGPLLR" = LGPLLR-parseLicense "LPPL-1.0" = LPPL_1_0-parseLicense "LPPL-1.1" = LPPL_1_1-parseLicense "LPPL-1.2" = LPPL_1_2-parseLicense "LPPL-1.3a" = LPPL_1_3a-parseLicense "LPPL-1.3c" = LPPL_1_3c-parseLicense "MPL-1.0" = MPL_1_0-parseLicense "MPL-1.1" = MPL_1_1-parseLicense "MPL-2.0" = MPL_2_0-parseLicense "PHP-3.0" = PHP_3_0-parseLicense "PHP-3.01" = PHP_3_01-parseLicense "PSF-2.0" = PSF_2_0-parseLicense "Ruby" = Ruby-parseLicense "Unlicense" = Unlicense-parseLicense "W3C" = W3C-parseLicense "WTFPL" = WTFPL-parseLicense "ZPL-1.1" = ZPL_1_1-parseLicense "ZPL-2.0" = ZPL_2_0-parseLicense "ZPL-2.1" = ZPL_2_1-parseLicense x = Custom x+licenseId :: License -> String+parseLicense :: String -> License instance ToJSON License where- toJSON x = String $ licenseId x+ toJSON x = String . T.pack $ licenseId x instance FromJSON License where- parseJSON = withText "License" $ \txt -> pure (parseLicense txt)+ parseJSON = withText "License" $ \(T.unpack -> txt) -> pure (parseLicense txt) -- | Package details returned by 'Web.ArchLinux.API.getPackageDetails'. data PackageInformation = PackageInformation
test/Main.hs view
@@ -1,5 +1,6 @@ module Main (main) where +import Control.Exception (SomeException, catch) import Network.HTTP.Client (Manager) import Network.HTTP.Client.TLS (newTlsManager) import Test.HUnit@@ -20,9 +21,14 @@ createTest "getAurInfo" manager $ getAurInfo ["arch-hs-git"] ] -createTest :: HasBaseUrl k => String -> Manager -> APIClient k a -> Test+createTest :: (HasBaseUrl k) => String -> Manager -> APIClient k a -> Test createTest tag manager action = TestLabel tag . TestCase $ do- result <- runAPIClient manager action+ -- Retry up to 3 times in case of network errors or rate limiting+ result <- retry 3 $ runAPIClient manager action case result of Right _ -> pure () Left err -> assertFailure $ show err++retry :: Int -> IO a -> IO a+retry 0 action = action+retry n action = action `catch` \(_ :: SomeException) -> retry (n - 1) action