| Cabal-1.4.0.0: A framework for packaging Haskell software | Contents | Index |
|
Distribution.Package | Portability | portable | Stability | alpha | Maintainer | Isaac Jones <ijones@syntaxpolice.org> |
|
|
|
|
|
Description |
Packages are fundamentally just a name and a version.
|
|
Synopsis |
|
|
|
|
Package ids
|
|
data PackageIdentifier |
The name and version of a package.
| Constructors | PackageIdentifier | | pkgName :: String | The name of this package, eg. foo
| pkgVersion :: Version | the version of this package, eg 1.2
|
|
| Instances | |
|
|
parsePackageName :: ReadP r String |
|
Package dependencies
|
|
data Dependency |
Constructors | | Instances | |
|
|
thisPackageVersion :: PackageIdentifier -> Dependency |
|
notThisPackageVersion :: PackageIdentifier -> Dependency |
|
Package classes
|
|
class Package pkg where |
Class of things that can be identified by a PackageIdentifier
Types in this class are all notions of a package. This allows us to have
different types for the different phases that packages go though, from
simple name/id, package description, configured or installed packages.
| | Methods | | | Instances | |
|
|
packageName :: Package pkg => pkg -> String |
|
packageVersion :: Package pkg => pkg -> Version |
|
class Package pkg => PackageFixedDeps pkg where |
Subclass of packages that have specific versioned dependencies.
So for example a not-yet-configured package has dependencies on version
ranges, not specific versions. A configured or an already installed package
depends on exact versions. Some operations or data structures (like
dependency graphs) only make sense on this subclass of package types.
| | Methods | | | Instances | |
|
|
Deprecated compat stuff
|
|
showPackageId :: PackageIdentifier -> String |
|
Produced by Haddock version 0.8 |