cabal-install-solver
Safe HaskellNone
LanguageHaskell2010

Distribution.Solver.Modular.Package

Synopsis

Documentation

data I Source #

Instance. A version number and a location.

Constructors

I Ver Loc 

Instances

Instances details
Show I Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

showsPrec :: Int -> I -> ShowS #

show :: I -> String #

showList :: [I] -> ShowS #

Eq I Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

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

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

Ord I Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

compare :: I -> I -> Ordering #

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

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

(>) :: I -> I -> Bool #

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

max :: I -> I -> I #

min :: I -> I -> I #

data Loc Source #

Location. Info about whether a package is installed or not, and where exactly it is located. For installed packages, uniquely identifies the package instance via its PId.

TODO: More information is needed about the repo.

Constructors

Inst PId 
InRepo 

Instances

Instances details
Show Loc Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

showsPrec :: Int -> Loc -> ShowS #

show :: Loc -> String #

showList :: [Loc] -> ShowS #

Eq Loc Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

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

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

Ord Loc Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

compare :: Loc -> Loc -> Ordering #

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

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

(>) :: Loc -> Loc -> Bool #

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

max :: Loc -> Loc -> Loc #

min :: Loc -> Loc -> Loc #

data PackageIdentifier #

Constructors

PackageIdentifier 

Fields

Instances

Instances details
Package PackageIdentifier # 
Instance details

Defined in Distribution.Package

Parsec PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Methods

parsec :: CabalParsing m => m PackageIdentifier

Pretty PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Methods

pretty :: PackageIdentifier -> Doc

prettyVersioned :: CabalSpecVersion -> PackageIdentifier -> Doc

Structured PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Binary PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

NFData PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Methods

rnf :: PackageIdentifier -> () #

Data PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifier -> c PackageIdentifier

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifier

toConstr :: PackageIdentifier -> Constr

dataTypeOf :: PackageIdentifier -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifier)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifier)

gmapT :: (forall b. Data b => b -> b) -> PackageIdentifier -> PackageIdentifier

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r

gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifier -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifier -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier

Generic PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Associated Types

type Rep PackageIdentifier 
Instance details

Defined in Distribution.Types.PackageId

type Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-syntax-3.14.2.0-0799" 'False) (C1 ('MetaCons "PackageIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))
Read PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Show PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Eq PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

Ord PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

type Rep PackageIdentifier # 
Instance details

Defined in Distribution.Types.PackageId

type Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-syntax-3.14.2.0-0799" 'False) (C1 ('MetaCons "PackageIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))

data PackageName #

Instances

Instances details
Parsec PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

parsec :: CabalParsing m => m PackageName

Pretty PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

pretty :: PackageName -> Doc

prettyVersioned :: CabalSpecVersion -> PackageName -> Doc

Structured PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

structure :: Proxy PackageName -> Structure

structureHash' :: Tagged PackageName MD5

Binary PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

put :: PackageName -> Put #

get :: Get PackageName #

putList :: [PackageName] -> Put #

NFData PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

rnf :: PackageName -> () #

Data PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageName -> c PackageName

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageName

toConstr :: PackageName -> Constr

dataTypeOf :: PackageName -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageName)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageName)

gmapT :: (forall b. Data b => b -> b) -> PackageName -> PackageName

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageName -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageName -> r

gmapQ :: (forall d. Data d => d -> u) -> PackageName -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageName -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName

IsString PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Generic PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Associated Types

type Rep PackageName 
Instance details

Defined in Distribution.Types.PackageName

type Rep PackageName = D1 ('MetaData "PackageName" "Distribution.Types.PackageName" "Cabal-syntax-3.14.2.0-0799" 'True) (C1 ('MetaCons "PackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))

Methods

from :: PackageName -> Rep PackageName x

to :: Rep PackageName x -> PackageName

Read PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Show PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Eq PackageName # 
Instance details

Defined in Distribution.Types.PackageName

Ord PackageName # 
Instance details

Defined in Distribution.Types.PackageName

type Rep PackageName # 
Instance details

Defined in Distribution.Types.PackageName

type Rep PackageName = D1 ('MetaData "PackageName" "Distribution.Types.PackageName" "Cabal-syntax-3.14.2.0-0799" 'True) (C1 ('MetaCons "PackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))

data PkgconfigName #

Instances

Instances details
Parsec PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

parsec :: CabalParsing m => m PkgconfigName

Pretty PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

pretty :: PkgconfigName -> Doc

prettyVersioned :: CabalSpecVersion -> PkgconfigName -> Doc

Structured PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

structure :: Proxy PkgconfigName -> Structure

structureHash' :: Tagged PkgconfigName MD5

Binary PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

put :: PkgconfigName -> Put #

get :: Get PkgconfigName #

putList :: [PkgconfigName] -> Put #

NFData PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

rnf :: PkgconfigName -> () #

Data PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PkgconfigName -> c PkgconfigName

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PkgconfigName

toConstr :: PkgconfigName -> Constr

dataTypeOf :: PkgconfigName -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PkgconfigName)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PkgconfigName)

gmapT :: (forall b. Data b => b -> b) -> PkgconfigName -> PkgconfigName

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PkgconfigName -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PkgconfigName -> r

gmapQ :: (forall d. Data d => d -> u) -> PkgconfigName -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> PkgconfigName -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PkgconfigName -> m PkgconfigName

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgconfigName -> m PkgconfigName

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PkgconfigName -> m PkgconfigName

IsString PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Generic PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Associated Types

type Rep PkgconfigName 
Instance details

Defined in Distribution.Types.PkgconfigName

type Rep PkgconfigName = D1 ('MetaData "PkgconfigName" "Distribution.Types.PkgconfigName" "Cabal-syntax-3.14.2.0-0799" 'True) (C1 ('MetaCons "PkgconfigName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))
Read PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Show PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Eq PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

Ord PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

type Rep PkgconfigName # 
Instance details

Defined in Distribution.Types.PkgconfigName

type Rep PkgconfigName = D1 ('MetaData "PkgconfigName" "Distribution.Types.PkgconfigName" "Cabal-syntax-3.14.2.0-0799" 'True) (C1 ('MetaCons "PkgconfigName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))

data PI qpn Source #

Package instance. A package name and an instance.

Constructors

PI qpn I 

Instances

Instances details
Functor PI Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

fmap :: (a -> b) -> PI a -> PI b #

(<$) :: a -> PI b -> PI a #

Show qpn => Show (PI qpn) Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

showsPrec :: Int -> PI qpn -> ShowS #

show :: PI qpn -> String #

showList :: [PI qpn] -> ShowS #

Eq qpn => Eq (PI qpn) Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

(==) :: PI qpn -> PI qpn -> Bool #

(/=) :: PI qpn -> PI qpn -> Bool #

Ord qpn => Ord (PI qpn) Source # 
Instance details

Defined in Distribution.Solver.Modular.Package

Methods

compare :: PI qpn -> PI qpn -> Ordering #

(<) :: PI qpn -> PI qpn -> Bool #

(<=) :: PI qpn -> PI qpn -> Bool #

(>) :: PI qpn -> PI qpn -> Bool #

(>=) :: PI qpn -> PI qpn -> Bool #

max :: PI qpn -> PI qpn -> PI qpn #

min :: PI qpn -> PI qpn -> PI qpn #

type PN = PackageName Source #

A package name.

type QPV = Qualified PV Source #

Qualified package version.

makeIndependent :: PN -> QPN Source #

Qualify a target package with its own name so that its dependencies are not required to be consistent with other targets.

primaryPP :: PackagePath -> Bool Source #

Is the package in the primary group of packages. This is used to determine (1) if we should try to establish stanza preferences for this goal, and (2) whether or not a user specified --constraint should apply to this dependency (grep primaryPP to see the use sites). In particular this does not include packages pulled in as setup deps.

setupPP :: PackagePath -> Bool Source #

Is the package a dependency of a setup script. This is used to establish whether or not certain constraints should apply to this dependency (grep setupPP to see the use sites).

showI :: I -> String Source #

String representation of an instance.

showPI :: PI QPN -> String Source #

String representation of a package instance.

unPN :: PN -> String Source #

Unpacking a package name.