| Copyright | (c) 2020 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <1793913507@qq.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Distribution.ArchHs.Types
Description
Types used in this project.
Synopsis
- type PkgList = [PackageName]
- type ComponentPkgList = [(UnqualComponentName, PkgList)]
- newtype CommunityName = CommunityName {}
- type CommunityVersion = String
- type CommunityDB = Map CommunityName CommunityVersion
- type HackageEnv = Reader HackageDB
- type CommunityEnv = Reader CommunityDB
- type FlagAssignmentsEnv = Reader FlagAssignments
- data DependencyType
- data DependencyKind
- data DependencyProvider
- = ByCommunity
- | ByAur
- data SolvedPackage
- = ProvidedPackage { }
- | SolvedPackage { }
- data SolvedDependency = SolvedDependency {}
- type FlagAssignments = Map PackageName FlagAssignment
- depProvider :: Lens' SolvedDependency (Maybe DependencyProvider)
- pkgProvider :: Traversal' SolvedPackage DependencyProvider
- pkgName :: Lens' SolvedPackage PackageName
- pkgDeps :: Traversal' SolvedPackage [SolvedDependency]
- depName :: Lens' SolvedDependency PackageName
- depType :: Lens' SolvedDependency [DependencyType]
- type DependencyRecord = State (Map PackageName [VersionRange])
Documentation
type PkgList = [PackageName] Source #
A list of PackageName
type ComponentPkgList = [(UnqualComponentName, PkgList)] Source #
A list of component represented by UnqualComponentName and its dependencies collected in a PkgList
newtype CommunityName Source #
Name of packages in archlinux community repo, a wrapper of String.
Constructors
| CommunityName | |
Fields
| |
Instances
type CommunityVersion = String Source #
Version of packages in archlinux community repo
type CommunityDB = Map CommunityName CommunityVersion Source #
Representation of cummunity.db
type CommunityEnv = Reader CommunityDB Source #
Reader effect of CommunityDB
type FlagAssignmentsEnv = Reader FlagAssignments Source #
Reader effect of a map, associating PackageName with its FlagAssignment
data DependencyType Source #
The type of a dependency. Who requires this?
Constructors
| CExe UnqualComponentName | By a executable |
| CExeBuildTools UnqualComponentName | By the build tools of a executable |
| CLib | By a library |
| CTest UnqualComponentName | By a test suit |
| CBenchmark UnqualComponentName | By a benchmark |
| CLibBuildTools | By the build tools of a library |
| CTestBuildTools UnqualComponentName | By the build tools of a test suit |
| CBenchmarkBuildTools UnqualComponentName | By the build tools of a benchmark |
| CSubLibs UnqualComponentName | By a sub-library |
| CSubLibsBuildTools UnqualComponentName | By the build tools of a sub-library |
Instances
data DependencyKind Source #
Tags of data constructors of DependencyType
Constructors
| Exe | |
| ExeBuildTools | |
| Lib | |
| Test | |
| Benchmark | |
| LibBuildTools | |
| TestBuildTools | |
| BenchmarkBuildTools | |
| SubLibs | |
| SubLibsBuildTools |
Instances
| Eq DependencyKind Source # | |
Defined in Distribution.ArchHs.Types Methods (==) :: DependencyKind -> DependencyKind -> Bool # (/=) :: DependencyKind -> DependencyKind -> Bool # | |
data DependencyProvider Source #
Provider of a dependency.
Constructors
| ByCommunity | |
| ByAur |
Instances
| Eq DependencyProvider Source # | |
Defined in Distribution.ArchHs.Types Methods (==) :: DependencyProvider -> DependencyProvider -> Bool # (/=) :: DependencyProvider -> DependencyProvider -> Bool # | |
| Show DependencyProvider Source # | |
Defined in Distribution.ArchHs.Types Methods showsPrec :: Int -> DependencyProvider -> ShowS # show :: DependencyProvider -> String # showList :: [DependencyProvider] -> ShowS # | |
| Generic DependencyProvider Source # | |
Defined in Distribution.ArchHs.Types Associated Types type Rep DependencyProvider :: Type -> Type # Methods from :: DependencyProvider -> Rep DependencyProvider x # to :: Rep DependencyProvider x -> DependencyProvider # | |
| NFData DependencyProvider Source # | |
Defined in Distribution.ArchHs.Types Methods rnf :: DependencyProvider -> () # | |
| type Rep DependencyProvider Source # | |
data SolvedPackage Source #
A solved package collected from dgraph. This data type is not designed to be recursively,
thus the element type of _pkgDeps is SolvedDependency, rather than another SolvedPackage.
Constructors
| ProvidedPackage | A package which has been provided by somebody, so there is no need to expand its dependencies |
Fields
| |
| SolvedPackage | A package with its dependencies |
Fields
| |
Instances
data SolvedDependency Source #
A solved dependency, holden by SolvedPackage
Constructors
| SolvedDependency | |
Fields
| |
Instances
type FlagAssignments = Map PackageName FlagAssignment Source #
A map of packages with their FlagAssignment
type DependencyRecord = State (Map PackageName [VersionRange]) Source #
Unused state effect