Copyright | (c) Iñaki García Etxebarria 2016 |
---|---|
License | BSD-like |
Maintainer | cabal-devel@haskell.org |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Distribution.Solver.Types.PkgConfigDb
Description
Read the list of packages available to pkg-config.
Synopsis
- newtype PkgConfigDb = PkgConfigDb (Map PkgconfigName (Maybe PkgconfigVersion))
- readPkgConfigDb :: Verbosity -> ProgramDb -> IO (Maybe PkgConfigDb)
- pkgConfigDbFromList :: [(String, String)] -> PkgConfigDb
- pkgConfigPkgIsPresent :: PkgConfigDb -> PkgconfigName -> PkgconfigVersionRange -> Bool
- pkgConfigDbPkgVersion :: PkgConfigDb -> PkgconfigName -> Maybe (Maybe PkgconfigVersion)
- getPkgConfigDbDirs :: Verbosity -> ProgramDb -> IO [FilePath]
Documentation
newtype PkgConfigDb Source #
The list of packages installed in the system visible to
pkg-config
.
If an entry is Nothing
, this means that the package seems to be present,
but we don't know the exact version (because parsing of the version number
failed).
Constructors
PkgConfigDb (Map PkgconfigName (Maybe PkgconfigVersion)) |
Instances
Structured PkgConfigDb Source # | |
Defined in Distribution.Solver.Types.PkgConfigDb | |
Generic PkgConfigDb Source # | |
Defined in Distribution.Solver.Types.PkgConfigDb Associated Types type Rep PkgConfigDb :: Type -> Type # | |
Show PkgConfigDb Source # | |
Defined in Distribution.Solver.Types.PkgConfigDb Methods showsPrec :: Int -> PkgConfigDb -> ShowS # show :: PkgConfigDb -> String # showList :: [PkgConfigDb] -> ShowS # | |
Binary PkgConfigDb Source # | |
Defined in Distribution.Solver.Types.PkgConfigDb | |
type Rep PkgConfigDb Source # | |
Defined in Distribution.Solver.Types.PkgConfigDb type Rep PkgConfigDb = D1 ('MetaData "PkgConfigDb" "Distribution.Solver.Types.PkgConfigDb" "cabal-install-solver-3.14.1.0-IrFzCGg0s8s3eDyTwHSw4w" 'True) (C1 ('MetaCons "PkgConfigDb" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PkgconfigName (Maybe PkgconfigVersion))))) |
readPkgConfigDb :: Verbosity -> ProgramDb -> IO (Maybe PkgConfigDb) Source #
Query pkg-config for the list of installed packages, together
with their versions. Return a PkgConfigDb
encapsulating this
information.
pkgConfigDbFromList :: [(String, String)] -> PkgConfigDb Source #
Create a PkgConfigDb
from a list of (packageName, version)
pairs.
pkgConfigPkgIsPresent :: PkgConfigDb -> PkgconfigName -> PkgconfigVersionRange -> Bool Source #
Check whether a given package range is satisfiable in the given
pkg-config
database.
pkgConfigDbPkgVersion :: PkgConfigDb -> PkgconfigName -> Maybe (Maybe PkgconfigVersion) Source #
Query the version of a package in the pkg-config
database.
Nothing
indicates the package is not in the database, while
Just Nothing
indicates that the package is in the database,
but its version is not known.