| Copyright | (c) 2020-2021 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <berberman@yandex.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 ArchLinuxName = ArchLinuxName {}
- newtype SystemDependency = SystemDependency String
- type ArchLinuxVersion = String
- type CommunityDB = Map ArchLinuxName ArchLinuxVersion
- type HackageEnv = Reader HackageDB
- type CommunityEnv = Reader CommunityDB
- type FlagAssignmentsEnv = Reader FlagAssignments
- type KnownGHCVersion = Reader Version
- data DependencyType
- = CExe UnqualComponentName
- | CExeBuildTools UnqualComponentName
- | CLib
- | CSetup
- | CTest UnqualComponentName
- | CBenchmark UnqualComponentName
- | CLibBuildTools
- | CTestBuildTools UnqualComponentName
- | CBenchmarkBuildTools UnqualComponentName
- | CSubLibs UnqualComponentName
- | CSubLibsBuildTools UnqualComponentName
- 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 ArchLinuxName Source #
Name of packages in archlinux repo, a wrapper of String.
Constructors
| ArchLinuxName | |
Fields
| |
Instances
newtype SystemDependency Source #
A external dependency provided by system, which is converted from package config (.pc) or extra lib (.so).
Constructors
| SystemDependency String |
Instances
type ArchLinuxVersion = String Source #
Version of packages in archlinux community repo
type CommunityDB = Map ArchLinuxName ArchLinuxVersion 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
type KnownGHCVersion = Reader Version Source #
Reader effect of GHC version in dependency resolution
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 |
| CSetup | |
| 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 | |
| Setup | |
| 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
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