ContentsIndex
Distribution.Simple
Portability GHC
Stability alpha
Maintainer Isaac Jones <ijones@syntaxpolice.org>
Description
Explanation: Simple build system; basically the interface for DistributionSimple* modules. When given the parsed command-line args and package information, is able to perform basic commands like configure, build, install, register, etc.
Synopsis
module Distribution.Package
data License
= GPL
| LGPL
| BSD3
| BSD4
| PublicDomain
| AllRightsReserved
| OtherLicense FilePath
data VersionRange
= AnyVersion
| ThisVersion Version
| LaterVersion Version
| EarlierVersion Version
| UnionVersionRanges VersionRange VersionRange
| IntersectVersionRanges VersionRange VersionRange
orLaterVersion :: Version -> VersionRange
orEarlierVersion :: Version -> VersionRange
betweenVersionsInclusive :: Version -> Version -> VersionRange
data Extension
= OverlappingInstances
| RecursiveDo
| ParallelListComp
| MultiParamTypeClasses
| NoMonomorphismRestriction
| FunctionalDependencies
| RankNTypes
| PolymorphicComponents
| ExistentialQuantification
| ScopedTypeVariables
| ImplicitParams
| FlexibleContexts
| FlexibleInstances
| EmptyDataDecls
| CPP
| TypeSynonymInstances
| TemplateHaskell
| ForeignFunctionInterface
| AllowOverlappingInstances
| AllowUndecidableInstances
| AllowIncoherentInstances
| InlinePhase
| ContextStack
| Arrows
| Generics
| NoImplicitPrelude
| NamedFieldPuns
| ExtensibleRecords
| RestrictedTypeSynonyms
| HereDocuments
| UnsafeOverlappingInstances
data Dependency = Dependency String VersionRange
defaultMain :: IO ()
defaultMainNoRead :: PackageDescription -> IO ()
defaultMainWithHooks :: UserHooks -> IO ()
defaultUserHooks :: UserHooks
Documentation
module Distribution.Package
data License
This datatype indicates the license under which your package is released. It is also wise to add your license to each source file. The AllRightsReserved constructor is not actually a license, but states that you are not giving anyone else a license to use or distribute your work. The comments below are general guidelines. Please read the licenses themselves and consult a lawyer if you are unsure of your rights to release the software.
Constructors
GPLGNU Public License. Source code must accompany alterations.
LGPLLesser GPL, Less restrictive than GPL, useful for libraries.
BSD33-clause BSD license, newer, no advertising clause. Very free license.
BSD44-clause BSD license, older, with advertising clause.
PublicDomainHolder makes no claim to ownership, least restrictive license.
AllRightsReservedNo rights are granted to others. Undistributable. Most restrictive.
OtherLicense FilePathUse another license by listing the relative path to your license file.
Instances
Read License
Show License
Eq License
data VersionRange
Constructors
AnyVersion
ThisVersion Version
LaterVersion Version
EarlierVersion Version
UnionVersionRanges VersionRange VersionRange
IntersectVersionRanges VersionRange VersionRange
Instances
Show VersionRange
Read VersionRange
Eq VersionRange
orLaterVersion :: Version -> VersionRange
orEarlierVersion :: Version -> VersionRange
betweenVersionsInclusive :: Version -> Version -> VersionRange
data Extension
This represents non-standard compiler extensions which each package might employ.
Constructors
OverlappingInstances
RecursiveDo
ParallelListComp
MultiParamTypeClasses
NoMonomorphismRestriction
FunctionalDependencies
RankNTypes
PolymorphicComponents
ExistentialQuantification
ScopedTypeVariables
ImplicitParams
FlexibleContexts
FlexibleInstances
EmptyDataDecls
CPP
TypeSynonymInstances
TemplateHaskell
ForeignFunctionInterface
AllowOverlappingInstances
AllowUndecidableInstances
AllowIncoherentInstances
InlinePhase
ContextStack
Arrows
Generics
NoImplicitPrelude
NamedFieldPuns
ExtensibleRecords
RestrictedTypeSynonyms
HereDocuments
UnsafeOverlappingInstances
Instances
Show Extension
Read Extension
Eq Extension
data Dependency
Constructors
Dependency String VersionRange
Instances
Read Dependency
Show Dependency
Eq Dependency
defaultMain :: IO ()
Reads the package description file using IO.
defaultMainNoRead :: PackageDescription -> IO ()
Accept description as input rather than using IO to read it.
defaultMainWithHooks :: UserHooks -> IO ()
defaultUserHooks :: UserHooks

Basic default UserHooks:

  • on non-Windows systems, preConf runs ./configure, if present.
  • all pre-hooks read additional build information from package.buildinfo, if present.

Thus configure can use local system information to generate package.buildinfo and possibly other files.

Produced by Haddock version 0.6