Copyright | (c) 2014 Peter Trsko |
---|---|
License | BSD3 |
Maintainer | peter.trsko@gmail.com |
Stability | experimental |
Portability | NoImplicitPrelude |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data type describing pkg-config configuration file.
- data PkgConfig = PkgConfig {}
- type PkgVariable = (Text, PkgTemplate)
- type PkgName = Text
- type PkgDescription = Text
- type PkgUrl = Text
- type PkgVersion = PkgTemplate
- pkgVariables :: Functor f => ([PkgVariable] -> f [PkgVariable]) -> PkgConfig -> f PkgConfig
- pkgName :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig
- pkgDescription :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig
- pkgUrl :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig
- pkgVersion :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgRequires :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgRequiresPrivate :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgConflicts :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgCflags :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgLibs :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- pkgLibsPrivate :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig
- toStrictText :: PkgConfig -> Text
PkgConfig
Representation of pkg-config configuration file.
PkgConfig | |
|
Type Aliases
type PkgVariable = (Text, PkgTemplate) Source
Variable definition consisting of its name and value in form of
PkgTemplate
.
type PkgDescription = Text Source
type PkgVersion = PkgTemplate Source
Package version may use variable expansion and so it is represented by
PkgConfig
.
Lenses
pkgVariables :: Functor f => ([PkgVariable] -> f [PkgVariable]) -> PkgConfig -> f PkgConfig Source
Variable definitions.
pkgName :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig Source
Human-readable name of a library or package. This field is not used by
pkg-config tool for queries, because it uses .pc
file base name.
pkgDescription :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig Source
Brief description of the package.
pkgUrl :: Functor f => (Text -> f Text) -> PkgConfig -> f PkgConfig Source
URL where people can get more information about and download the package.
pkgVersion :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
Version of the package.
pkgRequires :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
List of packages required by this package and their version bounds.
pkgRequiresPrivate :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
Compiler flags specific to this package and any required libraries that
don't support pkg-config. If the required libraries support pkg-config,
they should be added to Requires
(pkgRequires
) or Requires.private
(pkgRequiresPrivate
).
pkgConflicts :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
An optional field describing packages that this one conflicts with. The version specific rules from the Requires field also apply here. This field also takes multiple instances of the same package. E.g.:
Conflicts: bar < 1.2.3, bar >= 1.3.0.
pkgCflags :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
Compiler flags specific to this package and any required libraries that
don't support pkg-config. If the required libraries support pkg-config,
they should be added to Requires
(pkgRequires
) or Requires.private
(pkgRequiresPrivate
).
pkgLibs :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
Linking flags specific to this package and any required libraries that
don't support pkg-config. The same rules as for Cflags
(pkgCflags
)
field apply here.
pkgLibsPrivate :: Functor f => (PkgTemplate -> f PkgTemplate) -> PkgConfig -> f PkgConfig Source
Linking flags for private libraries required by this package but not
exposed to applications. The same rules as for Cflags
(pkgCflags
) field
apply here.