Copyright | (c) Julian Ospald 2020 |
---|---|
License | LGPL-3.0 |
Maintainer | hasufell@hasufell.de |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data GHCupInfo = GHCupInfo {}
- type ToolRequirements = Map Tool ToolReqVersionSpec
- type ToolReqVersionSpec = Map (Maybe Version) PlatformReqSpec
- type PlatformReqSpec = Map Platform PlatformReqVersionSpec
- type PlatformReqVersionSpec = Map (Maybe VersionRange) Requirements
- data Requirements = Requirements {
- _distroPKGs :: [Text]
- _notes :: Text
- type GHCupDownloads = Map Tool ToolVersionSpec
- type ToolVersionSpec = Map Version VersionInfo
- type ArchitectureSpec = Map Architecture PlatformSpec
- type PlatformSpec = Map Platform PlatformVersionSpec
- type PlatformVersionSpec = Map (Maybe VersionRange) DownloadInfo
- data Tool
- data VersionInfo = VersionInfo {}
- data Tag
- = Latest
- | Recommended
- | Prerelease
- | Base PVP
- | Old
- | UnknownTag String
- tagToString :: Tag -> String
- data Architecture
- archToString :: Architecture -> String
- data Platform
- platformToString :: Platform -> String
- data LinuxDistro
- distroToString :: LinuxDistro -> String
- data DownloadInfo = DownloadInfo {}
- data TarDir
- data URLSource
- data UserSettings = UserSettings {}
- defaultUserSettings :: UserSettings
- data UserKeyBindings = UserKeyBindings {}
- data KeyBindings = KeyBindings {}
- defaultKeyBindings :: KeyBindings
- data AppState = AppState {
- settings :: Settings
- dirs :: Dirs
- keyBindings :: KeyBindings
- data Settings = Settings {}
- data Dirs = Dirs {}
- data KeepDirs
- data Downloader
- data DebugInfo = DebugInfo {
- diBaseDir :: Path Abs
- diBinDir :: Path Abs
- diGHCDir :: Path Abs
- diCacheDir :: Path Abs
- diArch :: Architecture
- diPlatform :: PlatformResult
- data SetGHC
- data PlatformResult = PlatformResult {}
- platResToString :: PlatformResult -> String
- data PlatformRequest = PlatformRequest {}
- pfReqToString :: PlatformRequest -> String
- data GHCTargetVersion = GHCTargetVersion {
- _tvTarget :: Maybe Text
- _tvVersion :: Version
- mkTVer :: Version -> GHCTargetVersion
- tVerToText :: GHCTargetVersion -> Text
- data VersionCmp
- data VersionRange
Documentation
Instances
Show GHCupInfo Source # | |
Generic GHCupInfo Source # | |
ToJSON GHCupInfo Source # | |
Defined in GHCup.Types.JSON | |
FromJSON GHCupInfo Source # | |
type Rep GHCupInfo Source # | |
Defined in GHCup.Types type Rep GHCupInfo = D1 ('MetaData "GHCupInfo" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "GHCupInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "_toolRequirements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ToolRequirements) :*: S1 ('MetaSel ('Just "_ghcupDownloads") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 GHCupDownloads))) |
type ToolRequirements = Map Tool ToolReqVersionSpec Source #
type ToolReqVersionSpec = Map (Maybe Version) PlatformReqSpec Source #
data Requirements Source #
Requirements | |
|
Instances
type GHCupDownloads = Map Tool ToolVersionSpec Source #
Description of all binary and source downloads. This is a tree of nested maps.
type ToolVersionSpec = Map Version VersionInfo Source #
type PlatformVersionSpec = Map (Maybe VersionRange) DownloadInfo Source #
An installable tool.
Instances
Bounded Tool Source # | |
Enum Tool Source # | |
Eq Tool Source # | |
Ord Tool Source # | |
Show Tool Source # | |
Generic Tool Source # | |
ToJSON Tool Source # | |
Defined in GHCup.Types.JSON | |
ToJSONKey Tool Source # | |
Defined in GHCup.Types.JSON | |
FromJSON Tool Source # | |
FromJSONKey Tool Source # | |
Defined in GHCup.Types.JSON | |
type Rep Tool Source # | |
Defined in GHCup.Types type Rep Tool = D1 ('MetaData "Tool" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) ((C1 ('MetaCons "GHC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cabal" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GHCup" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HLS" 'PrefixI 'False) (U1 :: Type -> Type))) |
data VersionInfo Source #
All necessary information of a tool version, including source download and per-architecture downloads.
VersionInfo | |
|
Instances
A tag. These are currently attached to a version of a tool.
Latest | |
Recommended | |
Prerelease | |
Base PVP | |
Old | old version are hidden by default in TUI |
UnknownTag String | used for upwardscompat |
Instances
tagToString :: Tag -> String Source #
data Architecture Source #
Instances
archToString :: Architecture -> String Source #
Linux LinuxDistro | must exit |
Darwin | must exit |
FreeBSD |
Instances
Eq Platform Source # | |
Ord Platform Source # | |
Defined in GHCup.Types | |
Show Platform Source # | |
Generic Platform Source # | |
ToJSON Platform Source # | |
Defined in GHCup.Types.JSON | |
ToJSONKey Platform Source # | |
Defined in GHCup.Types.JSON | |
FromJSON Platform Source # | |
FromJSONKey Platform Source # | |
Defined in GHCup.Types.JSON | |
Pretty Platform Source # | |
Defined in GHCup.Types pPrintPrec :: PrettyLevel -> Rational -> Platform -> Doc # pPrintList :: PrettyLevel -> [Platform] -> Doc # | |
type Rep Platform Source # | |
Defined in GHCup.Types type Rep Platform = D1 ('MetaData "Platform" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "Linux" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LinuxDistro)) :+: (C1 ('MetaCons "Darwin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FreeBSD" 'PrefixI 'False) (U1 :: Type -> Type))) |
platformToString :: Platform -> String Source #
data LinuxDistro Source #
Instances
distroToString :: LinuxDistro -> String Source #
data DownloadInfo Source #
An encapsulation of a download. This can be used to download, extract and install a tool.
Instances
How to descend into a tar archive.
Instances
Eq TarDir Source # | |
Ord TarDir Source # | |
Show TarDir Source # | |
Generic TarDir Source # | |
ToJSON TarDir Source # | |
Defined in GHCup.Types.JSON | |
FromJSON TarDir Source # | |
Pretty TarDir Source # | |
Defined in GHCup.Types pPrintPrec :: PrettyLevel -> Rational -> TarDir -> Doc # pPrintList :: PrettyLevel -> [TarDir] -> Doc # | |
type Rep TarDir Source # | |
Defined in GHCup.Types type Rep TarDir = D1 ('MetaData "TarDir" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "RealDir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Path Rel))) :+: C1 ('MetaCons "RegexDir" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 String))) |
Where to fetch GHCupDownloads from.
Instances
Show URLSource Source # | |
Generic URLSource Source # | |
ToJSON URLSource Source # | |
Defined in GHCup.Types.JSON | |
FromJSON URLSource Source # | |
type Rep URLSource Source # | |
Defined in GHCup.Types type Rep URLSource = D1 ('MetaData "URLSource" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) ((C1 ('MetaCons "GHCupURL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OwnSource" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 URI))) :+: (C1 ('MetaCons "OwnSpec" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 GHCupInfo)) :+: C1 ('MetaCons "AddSource" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Either GHCupInfo URI))))) |
data UserSettings Source #
UserSettings | |
|
Instances
data UserKeyBindings Source #
Instances
data KeyBindings Source #
Instances
AppState | |
|
Instances
Show Settings Source # | |
Generic Settings Source # | |
type Rep Settings Source # | |
Defined in GHCup.Types type Rep Settings = D1 ('MetaData "Settings" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "Settings" 'PrefixI 'True) ((S1 ('MetaSel ('Just "cache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "noVerify") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "keepDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 KeepDirs))) :*: (S1 ('MetaSel ('Just "downloader") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Downloader) :*: (S1 ('MetaSel ('Just "verbose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "urlSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 URLSource))))) |
data Downloader Source #
Instances
Eq Downloader Source # | |
Defined in GHCup.Types (==) :: Downloader -> Downloader -> Bool # (/=) :: Downloader -> Downloader -> Bool # | |
Ord Downloader Source # | |
Defined in GHCup.Types compare :: Downloader -> Downloader -> Ordering # (<) :: Downloader -> Downloader -> Bool # (<=) :: Downloader -> Downloader -> Bool # (>) :: Downloader -> Downloader -> Bool # (>=) :: Downloader -> Downloader -> Bool # max :: Downloader -> Downloader -> Downloader # min :: Downloader -> Downloader -> Downloader # | |
Show Downloader Source # | |
Defined in GHCup.Types showsPrec :: Int -> Downloader -> ShowS # show :: Downloader -> String # showList :: [Downloader] -> ShowS # | |
ToJSON Downloader Source # | |
Defined in GHCup.Types.JSON toJSON :: Downloader -> Value # toEncoding :: Downloader -> Encoding # toJSONList :: [Downloader] -> Value # toEncodingList :: [Downloader] -> Encoding # | |
FromJSON Downloader Source # | |
Defined in GHCup.Types.JSON parseJSON :: Value -> Parser Downloader # parseJSONList :: Value -> Parser [Downloader] # |
DebugInfo | |
|
SetGHCOnly | unversioned |
SetGHC_XY | ghc-x.y |
SetGHC_XYZ | ghc-x.y.z |
data PlatformResult Source #
Instances
Eq PlatformResult Source # | |
Defined in GHCup.Types (==) :: PlatformResult -> PlatformResult -> Bool # (/=) :: PlatformResult -> PlatformResult -> Bool # | |
Show PlatformResult Source # | |
Defined in GHCup.Types showsPrec :: Int -> PlatformResult -> ShowS # show :: PlatformResult -> String # showList :: [PlatformResult] -> ShowS # | |
Pretty PlatformResult Source # | |
Defined in GHCup.Types pPrintPrec :: PrettyLevel -> Rational -> PlatformResult -> Doc # pPrint :: PlatformResult -> Doc # pPrintList :: PrettyLevel -> [PlatformResult] -> Doc # |
data PlatformRequest Source #
Instances
Eq PlatformRequest Source # | |
Defined in GHCup.Types (==) :: PlatformRequest -> PlatformRequest -> Bool # (/=) :: PlatformRequest -> PlatformRequest -> Bool # | |
Show PlatformRequest Source # | |
Defined in GHCup.Types showsPrec :: Int -> PlatformRequest -> ShowS # show :: PlatformRequest -> String # showList :: [PlatformRequest] -> ShowS # | |
Pretty PlatformRequest Source # | |
Defined in GHCup.Types pPrintPrec :: PrettyLevel -> Rational -> PlatformRequest -> Doc # pPrint :: PlatformRequest -> Doc # pPrintList :: PrettyLevel -> [PlatformRequest] -> Doc # |
data GHCTargetVersion Source #
A GHC identified by the target platform triple and the version.
Instances
mkTVer :: Version -> GHCTargetVersion Source #
tVerToText :: GHCTargetVersion -> Text Source #
data VersionCmp Source #
A comparator and a version.
Instances
data VersionRange Source #
A version range. Supports && and ||, but not arbitrary combinations. This is a little simplified.
Instances
Orphan instances
Pretty Versioning Source # | |
pPrintPrec :: PrettyLevel -> Rational -> Versioning -> Doc # pPrint :: Versioning -> Doc # pPrintList :: PrettyLevel -> [Versioning] -> Doc # | |
Pretty Version Source # | |
pPrintPrec :: PrettyLevel -> Rational -> Version -> Doc # pPrintList :: PrettyLevel -> [Version] -> Doc # |