|
Distribution.PackageDescription | Portability | Package description and parsing. | Stability | alpha | Maintainer | Isaac Jones <ijones@syntaxpolice.org> |
|
|
|
|
|
Description |
|
|
Synopsis |
|
|
|
|
Package descriptions
|
|
data PackageDescription |
This data type is the internal representation of the file pkg.descr.
It contains two kinds of information about the package: information
which is needed for all packages, such as the package name and version, and
information which is needed for the simple build system only, such as
the compiler options and library name.
| Constructors | | Instances | |
|
|
emptyPackageDescription :: PackageDescription |
|
readPackageDescription :: FilePath -> IO PackageDescription |
Parse the given package file.
|
|
parseDescription :: String -> ParseResult PackageDescription |
|
data StanzaField a |
|
|
type LineNo = Int |
|
basicStanzaFields :: [StanzaField PackageDescription] |
|
writePackageDescription :: FilePath -> PackageDescription -> IO () |
|
showPackageDescription :: PackageDescription -> String |
|
sanityCheckPackage :: PackageDescription -> IO ([String], [String]) |
Sanity check this description file.
|
|
errorOut |
:: [String] | Warnings
| -> [String] | errors
| -> IO () | | Output warnings and errors. Exit if any errors.
|
|
|
setupMessage :: String -> PackageDescription -> IO () |
|
data Library |
Constructors | | Instances | |
|
|
withLib :: PackageDescription -> a -> (Library -> IO a) -> IO a |
If the package description has a library section, call the given
function with the library build info as argument.
|
|
hasLibs :: PackageDescription -> Bool |
does this package have any libraries?
|
|
libModules :: PackageDescription -> [String] |
Get all the module names from the libraries in this package
|
|
data Executable |
Constructors | | Instances | |
|
|
withExe :: PackageDescription -> (Executable -> IO a) -> IO () |
Perform the action on each buildable Executable in the package
description.
|
|
exeModules :: PackageDescription -> [String] |
Get all the module names from the exes in this package
|
|
Build information
|
|
data BuildInfo |
Constructors | | Instances | |
|
|
emptyBuildInfo :: BuildInfo |
|
Supplementary build information
|
|
type HookedBuildInfo = (Maybe BuildInfo, [(String, BuildInfo)]) |
|
emptyHookedBuildInfo :: HookedBuildInfo |
|
readHookedBuildInfo :: FilePath -> IO HookedBuildInfo |
|
parseHookedBuildInfo :: String -> ParseResult HookedBuildInfo |
|
writeHookedBuildInfo :: FilePath -> HookedBuildInfo -> IO () |
|
showHookedBuildInfo :: HookedBuildInfo -> String |
|
updatePackageDescription :: HookedBuildInfo -> PackageDescription -> PackageDescription |
Update the given package description with the output from the
pre-hooks.
|
|
Utilities
|
|
data ParseResult a |
Constructors | | Instances | |
|
|
data PError |
Instances | |
|
|
showError :: PError -> String |
|
hcOptions :: CompilerFlavor -> [(CompilerFlavor, [String])] -> [String] |
Select options for a particular Haskell compiler.
|
|
Produced by Haddock version 0.7 |