Modulecabal-install-solver-3.12.1.0Haskell2010
Distribution.Solver.Modular.Package
- 9 types
- 11 values
- Packagecabal-install-solver-3.12.1.0
- Exports20
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourcePackage.hs
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.
Type alias so we can use the shorter name PackageId.
The name and version of a package.
Constructors
PackageIdentifierpkgName :: PackageNameThe name of this package, eg. foo
pkgVersion :: Versionthe version of this package, eg 1.2
Instances13Eq, Data, Ord, Read, Show, Generic, …
Eq PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdData PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdOrd PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdRead PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdShow PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdGeneric PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdNFData PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdBinary PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdParsec PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdExample1 expression simpleParsec "foo-bar-0" :: Maybe PackageIdentifierJust (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion [0]})
Example1 expression simpleParsec "foo-bar" :: Maybe PackageIdentifierJust (PackageIdentifier {pkgName = PackageName "foo-bar", pkgVersion = mkVersion []})
Note: Stricter than
TextinstanceExample1 expression simpleParsec "foo-bar-0-0" :: Maybe PackageIdentifierNothing
Example1 expression simpleParsec "foo-bar.0" :: Maybe PackageIdentifierNothing
Example1 expression simpleParsec "foo-bar.4-2" :: Maybe PackageIdentifierNothing
Example1 expression simpleParsec "1.2.3" :: Maybe PackageIdentifierNothing
Pretty PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdStructured PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageIdPackage PackageIdentifierDefined in Cabal-syntax-3.12.1.0 · Distribution.Packagetype Rep PackageIdentifier = D1 ('MetaDataDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageId"PackageIdentifier"
"Distribution.Types.PackageId"
"Cabal-syntax-3.12.1.0-3adc"
'False) (C1 ('MetaCons"PackageIdentifier"
'PrefixI 'True) (S1 ('MetaSel ('Just"pkgName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just"pkgVersion"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))
A package name.
Use mkPackageName and unPackageName to convert from/to a String.
This type is opaque since Cabal-2.0
Instances13Eq, Data, Ord, Read, Show, IsString, …
Eq PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameData PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameOrd PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameRead PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameShow PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameIsString PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameGeneric PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameNFData PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameBinary PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameParsec PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNamePretty PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNameStructured PackageNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageNametype Rep PackageName = D1 ('MetaDataDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PackageName"PackageName"
"Distribution.Types.PackageName"
"Cabal-syntax-3.12.1.0-3adc"
'True) (C1 ('MetaCons"PackageName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))
Construct a PackageName from a String
mkPackageName is the inverse to unPackageName
Note: No validations are performed to ensure that the resulting PackageName is valid
Convert PackageName to String
A pkg-config library name
This is parsed as any valid argument to the pkg-config utility.
Instances13Eq, Data, Ord, Read, Show, IsString, …
Eq PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameData PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameOrd PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameRead PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameShow PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameIsString PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameGeneric PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameNFData PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameBinary PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameParsec PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNamePretty PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNameStructured PkgconfigNameDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigNametype Rep PkgconfigName = D1 ('MetaDataDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.PkgconfigName"PkgconfigName"
"Distribution.Types.PkgconfigName"
"Cabal-syntax-3.12.1.0-3adc"
'True) (C1 ('MetaCons"PkgconfigName"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))
Construct a PkgconfigName from a String
mkPkgconfigName is the inverse to unPkgconfigName
Note: No validations are performed to ensure that the resulting PkgconfigName is valid
Convert PkgconfigName to String
Instances4Functor, Eq, Ord, Show
Functor PIDefined in cabal-install-solver-3.12.1.0 · Distribution.Solver.Modular.PackageEq qpn => Eq (PI qpn)Defined in cabal-install-solver-3.12.1.0 · Distribution.Solver.Modular.PackageOrd qpn => Ord (PI qpn)Defined in cabal-install-solver-3.12.1.0 · Distribution.Solver.Modular.PackageShow qpn => Show (PI qpn)Defined in cabal-install-solver-3.12.1.0 · Distribution.Solver.Modular.Package
A package name.
Qualified package version.
Qualify a target package with its own name so that its dependencies are not required to be consistent with other targets.
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.
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).
String representation of an instance.
String representation of a package instance.
Unpacking a package name.