ghcup-0.1.14.2: ghc toolchain installer
Copyright(c) Julian Ospald 2020
LicenseLGPL-3.0
Maintainerhasufell@hasufell.de
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

GHCup.Types

Description

 
Synopsis

Documentation

data GHCupInfo Source #

Instances

Instances details
Show GHCupInfo Source # 
Instance details

Defined in GHCup.Types

Generic GHCupInfo Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep GHCupInfo :: Type -> Type #

ToJSON GHCupInfo Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON GHCupInfo Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep GHCupInfo Source # 
Instance details

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)))

data Requirements Source #

Constructors

Requirements 

Fields

Instances

Instances details
Show Requirements Source # 
Instance details

Defined in GHCup.Types

Generic Requirements Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Requirements :: Type -> Type #

ToJSON Requirements Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON Requirements Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep Requirements Source # 
Instance details

Defined in GHCup.Types

type Rep Requirements = D1 ('MetaData "Requirements" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "Requirements" 'PrefixI 'True) (S1 ('MetaSel ('Just "_distroPKGs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "_notes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

type GHCupDownloads = Map Tool ToolVersionSpec Source #

Description of all binary and source downloads. This is a tree of nested maps.

data Tool Source #

An installable tool.

Constructors

GHC 
Cabal 
GHCup 
HLS 

Instances

Instances details
Bounded Tool Source # 
Instance details

Defined in GHCup.Types

Enum Tool Source # 
Instance details

Defined in GHCup.Types

Methods

succ :: Tool -> Tool #

pred :: Tool -> Tool #

toEnum :: Int -> Tool #

fromEnum :: Tool -> Int #

enumFrom :: Tool -> [Tool] #

enumFromThen :: Tool -> Tool -> [Tool] #

enumFromTo :: Tool -> Tool -> [Tool] #

enumFromThenTo :: Tool -> Tool -> Tool -> [Tool] #

Eq Tool Source # 
Instance details

Defined in GHCup.Types

Methods

(==) :: Tool -> Tool -> Bool #

(/=) :: Tool -> Tool -> Bool #

Ord Tool Source # 
Instance details

Defined in GHCup.Types

Methods

compare :: Tool -> Tool -> Ordering #

(<) :: Tool -> Tool -> Bool #

(<=) :: Tool -> Tool -> Bool #

(>) :: Tool -> Tool -> Bool #

(>=) :: Tool -> Tool -> Bool #

max :: Tool -> Tool -> Tool #

min :: Tool -> Tool -> Tool #

Show Tool Source # 
Instance details

Defined in GHCup.Types

Methods

showsPrec :: Int -> Tool -> ShowS #

show :: Tool -> String #

showList :: [Tool] -> ShowS #

Generic Tool Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Tool :: Type -> Type #

Methods

from :: Tool -> Rep Tool x #

to :: Rep Tool x -> Tool #

ToJSON Tool Source # 
Instance details

Defined in GHCup.Types.JSON

ToJSONKey Tool Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON Tool Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSONKey Tool Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep Tool Source # 
Instance details

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.

Constructors

VersionInfo 

Fields

Instances

Instances details
Eq VersionInfo Source # 
Instance details

Defined in GHCup.Types

Show VersionInfo Source # 
Instance details

Defined in GHCup.Types

Generic VersionInfo Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep VersionInfo :: Type -> Type #

ToJSON VersionInfo Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON VersionInfo Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep VersionInfo Source # 
Instance details

Defined in GHCup.Types

data Tag Source #

A tag. These are currently attached to a version of a tool.

Constructors

Latest 
Recommended 
Prerelease 
Base PVP 
Old

old version are hidden by default in TUI

UnknownTag String

used for upwardscompat

Instances

Instances details
Eq Tag Source # 
Instance details

Defined in GHCup.Types

Methods

(==) :: Tag -> Tag -> Bool #

(/=) :: Tag -> Tag -> Bool #

Ord Tag Source # 
Instance details

Defined in GHCup.Types

Methods

compare :: Tag -> Tag -> Ordering #

(<) :: Tag -> Tag -> Bool #

(<=) :: Tag -> Tag -> Bool #

(>) :: Tag -> Tag -> Bool #

(>=) :: Tag -> Tag -> Bool #

max :: Tag -> Tag -> Tag #

min :: Tag -> Tag -> Tag #

Show Tag Source # 
Instance details

Defined in GHCup.Types

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

Generic Tag Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Tag :: Type -> Type #

Methods

from :: Tag -> Rep Tag x #

to :: Rep Tag x -> Tag #

ToJSON Tag Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON Tag Source # 
Instance details

Defined in GHCup.Types.JSON

Pretty Tag Source # 
Instance details

Defined in GHCup.Types

type Rep Tag Source # 
Instance details

Defined in GHCup.Types

type Rep Tag = D1 ('MetaData "Tag" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) ((C1 ('MetaCons "Latest" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Recommended" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Prerelease" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Base" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PVP)) :+: (C1 ('MetaCons "Old" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnknownTag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 String)))))

data Architecture Source #

Instances

Instances details
Eq Architecture Source # 
Instance details

Defined in GHCup.Types

Ord Architecture Source # 
Instance details

Defined in GHCup.Types

Show Architecture Source # 
Instance details

Defined in GHCup.Types

Generic Architecture Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Architecture :: Type -> Type #

ToJSON Architecture Source # 
Instance details

Defined in GHCup.Types.JSON

ToJSONKey Architecture Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON Architecture Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSONKey Architecture Source # 
Instance details

Defined in GHCup.Types.JSON

Pretty Architecture Source # 
Instance details

Defined in GHCup.Types

type Rep Architecture Source # 
Instance details

Defined in GHCup.Types

type Rep Architecture = D1 ('MetaData "Architecture" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (((C1 ('MetaCons "A_64" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A_32" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "A_PowerPC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A_PowerPC64" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "A_Sparc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A_Sparc64" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "A_ARM" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "A_ARM64" 'PrefixI 'False) (U1 :: Type -> Type))))

data Platform Source #

Constructors

Linux LinuxDistro

must exit

Darwin

must exit

FreeBSD 

Instances

Instances details
Eq Platform Source # 
Instance details

Defined in GHCup.Types

Ord Platform Source # 
Instance details

Defined in GHCup.Types

Show Platform Source # 
Instance details

Defined in GHCup.Types

Generic Platform Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Platform :: Type -> Type #

Methods

from :: Platform -> Rep Platform x #

to :: Rep Platform x -> Platform #

ToJSON Platform Source # 
Instance details

Defined in GHCup.Types.JSON

ToJSONKey Platform Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON Platform Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSONKey Platform Source # 
Instance details

Defined in GHCup.Types.JSON

Pretty Platform Source # 
Instance details

Defined in GHCup.Types

type Rep Platform Source # 
Instance details

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)))

data LinuxDistro Source #

Instances

Instances details
Eq LinuxDistro Source # 
Instance details

Defined in GHCup.Types

Ord LinuxDistro Source # 
Instance details

Defined in GHCup.Types

Show LinuxDistro Source # 
Instance details

Defined in GHCup.Types

Generic LinuxDistro Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep LinuxDistro :: Type -> Type #

ToJSON LinuxDistro Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON LinuxDistro Source # 
Instance details

Defined in GHCup.Types.JSON

Pretty LinuxDistro Source # 
Instance details

Defined in GHCup.Types

type Rep LinuxDistro Source # 
Instance details

Defined in GHCup.Types

type Rep LinuxDistro = D1 ('MetaData "LinuxDistro" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (((C1 ('MetaCons "Debian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ubuntu" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mint" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Fedora" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CentOS" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "RedHat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Alpine" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AmazonLinux" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Gentoo" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Exherbo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnknownLinux" 'PrefixI 'False) (U1 :: Type -> Type)))))

data DownloadInfo Source #

An encapsulation of a download. This can be used to download, extract and install a tool.

Constructors

DownloadInfo 

Instances

Instances details
Eq DownloadInfo Source # 
Instance details

Defined in GHCup.Types

Ord DownloadInfo Source # 
Instance details

Defined in GHCup.Types

Show DownloadInfo Source # 
Instance details

Defined in GHCup.Types

Generic DownloadInfo Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep DownloadInfo :: Type -> Type #

ToJSON DownloadInfo Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON DownloadInfo Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep DownloadInfo Source # 
Instance details

Defined in GHCup.Types

type Rep DownloadInfo = D1 ('MetaData "DownloadInfo" "GHCup.Types" "ghcup-0.1.14.2-9xnzxdg3ANaESNMGIc7qIR" 'False) (C1 ('MetaCons "DownloadInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "_dlUri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 URI) :*: (S1 ('MetaSel ('Just "_dlSubdir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe TarDir)) :*: S1 ('MetaSel ('Just "_dlHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))

data TarDir Source #

How to descend into a tar archive.

Constructors

RealDir (Path Rel) 
RegexDir String

will be compiled to regex, the first match will "win"

Instances

Instances details
Eq TarDir Source # 
Instance details

Defined in GHCup.Types

Methods

(==) :: TarDir -> TarDir -> Bool #

(/=) :: TarDir -> TarDir -> Bool #

Ord TarDir Source # 
Instance details

Defined in GHCup.Types

Show TarDir Source # 
Instance details

Defined in GHCup.Types

Generic TarDir Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep TarDir :: Type -> Type #

Methods

from :: TarDir -> Rep TarDir x #

to :: Rep TarDir x -> TarDir #

ToJSON TarDir Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON TarDir Source # 
Instance details

Defined in GHCup.Types.JSON

Pretty TarDir Source # 
Instance details

Defined in GHCup.Types

type Rep TarDir Source # 
Instance details

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)))

data URLSource Source #

Where to fetch GHCupDownloads from.

Constructors

GHCupURL 
OwnSource URI 
OwnSpec GHCupInfo 
AddSource (Either GHCupInfo URI)

merge with GHCupURL

Instances

Instances details
Show URLSource Source # 
Instance details

Defined in GHCup.Types

Generic URLSource Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep URLSource :: Type -> Type #

ToJSON URLSource Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON URLSource Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep URLSource Source # 
Instance details

Defined in GHCup.Types

data UserSettings Source #

Instances

Instances details
Show UserSettings Source # 
Instance details

Defined in GHCup.Types

Generic UserSettings Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep UserSettings :: Type -> Type #

ToJSON UserSettings Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON UserSettings Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep UserSettings Source # 
Instance details

Defined in GHCup.Types

data UserKeyBindings Source #

Instances

Instances details
Show UserKeyBindings Source # 
Instance details

Defined in GHCup.Types

Generic UserKeyBindings Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep UserKeyBindings :: Type -> Type #

ToJSON UserKeyBindings Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON UserKeyBindings Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep UserKeyBindings Source # 
Instance details

Defined in GHCup.Types

data KeyBindings Source #

Constructors

KeyBindings 

Fields

data AppState Source #

Constructors

AppState 

Instances

Instances details
Show AppState Source # 
Instance details

Defined in GHCup.Types

data Settings Source #

Instances

Instances details
Show Settings Source # 
Instance details

Defined in GHCup.Types

Generic Settings Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep Settings :: Type -> Type #

Methods

from :: Settings -> Rep Settings x #

to :: Rep Settings x -> Settings #

type Rep Settings Source # 
Instance details

Defined in GHCup.Types

data Dirs Source #

Constructors

Dirs 

Instances

Instances details
Show Dirs Source # 
Instance details

Defined in GHCup.Types

Methods

showsPrec :: Int -> Dirs -> ShowS #

show :: Dirs -> String #

showList :: [Dirs] -> ShowS #

data KeepDirs Source #

Constructors

Always 
Errors 
Never 

Instances

Instances details
Eq KeepDirs Source # 
Instance details

Defined in GHCup.Types

Ord KeepDirs Source # 
Instance details

Defined in GHCup.Types

Show KeepDirs Source # 
Instance details

Defined in GHCup.Types

ToJSON KeepDirs Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON KeepDirs Source # 
Instance details

Defined in GHCup.Types.JSON

data DebugInfo Source #

Instances

Instances details
Show DebugInfo Source # 
Instance details

Defined in GHCup.Types

data SetGHC Source #

Constructors

SetGHCOnly

unversioned ghc

SetGHC_XY

ghc-x.y

SetGHC_XYZ

ghc-x.y.z

Instances

Instances details
Eq SetGHC Source # 
Instance details

Defined in GHCup.Types

Methods

(==) :: SetGHC -> SetGHC -> Bool #

(/=) :: SetGHC -> SetGHC -> Bool #

Show SetGHC Source # 
Instance details

Defined in GHCup.Types

data VersionCmp Source #

A comparator and a version.

Instances

Instances details
Eq VersionCmp Source # 
Instance details

Defined in GHCup.Types

Ord VersionCmp Source # 
Instance details

Defined in GHCup.Types

Show VersionCmp Source # 
Instance details

Defined in GHCup.Types

Generic VersionCmp Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep VersionCmp :: Type -> Type #

ToJSON VersionCmp Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON VersionCmp Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep VersionCmp Source # 
Instance details

Defined in GHCup.Types

data VersionRange Source #

A version range. Supports && and ||, but not arbitrary combinations. This is a little simplified.

Instances

Instances details
Eq VersionRange Source # 
Instance details

Defined in GHCup.Types

Ord VersionRange Source # 
Instance details

Defined in GHCup.Types

Show VersionRange Source # 
Instance details

Defined in GHCup.Types

Generic VersionRange Source # 
Instance details

Defined in GHCup.Types

Associated Types

type Rep VersionRange :: Type -> Type #

ToJSON VersionRange Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSON VersionRange Source # 
Instance details

Defined in GHCup.Types.JSON

ToJSONKey (Maybe VersionRange) Source # 
Instance details

Defined in GHCup.Types.JSON

FromJSONKey (Maybe VersionRange) Source # 
Instance details

Defined in GHCup.Types.JSON

type Rep VersionRange Source # 
Instance details

Defined in GHCup.Types

Orphan instances