cabal-install-solver-3.8.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellSafe-Inferred
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

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 :: Type -> Type

Read PackageIdentifier 
Instance details

Defined in Distribution.Types.PackageId

Show 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 -> () #

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.8.1.0" '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

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 :: Type -> Type

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

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

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.8.1.0" '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

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 :: Type -> Type

Read PkgconfigName 
Instance details

Defined in Distribution.Types.PkgconfigName

Show PkgconfigName 
Instance details

Defined in Distribution.Types.PkgconfigName

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

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.8.1.0" '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.