cabal-install-solver
Copyright(c) Iñaki García Etxebarria 2016
LicenseBSD-like
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Solver.Types.PkgConfigDb

Description

Read the list of packages available to pkg-config.

Synopsis

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

Instances details
Structured PkgConfigDb Source # 
Instance details

Defined in Distribution.Solver.Types.PkgConfigDb

Methods

structure :: Proxy PkgConfigDb -> Structure

structureHash' :: Tagged PkgConfigDb MD5

Generic PkgConfigDb Source # 
Instance details

Defined in Distribution.Solver.Types.PkgConfigDb

Associated Types

type Rep PkgConfigDb :: Type -> Type #

Show PkgConfigDb Source # 
Instance details

Defined in Distribution.Solver.Types.PkgConfigDb

Binary PkgConfigDb Source # 
Instance details

Defined in Distribution.Solver.Types.PkgConfigDb

type Rep PkgConfigDb Source # 
Instance details

Defined in Distribution.Solver.Types.PkgConfigDb

type Rep PkgConfigDb = D1 ('MetaData "PkgConfigDb" "Distribution.Solver.Types.PkgConfigDb" "cabal-install-solver-3.14.1.0-inplace" '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.

getPkgConfigDbDirs :: Verbosity -> ProgramDb -> IO [FilePath] Source #

Query pkg-config for the locations of pkg-config's package files. Use this to monitor for changes in the pkg-config DB.