arch-hs-0.0.0.0: A program generating PKGBUILD for hackage packages.
Copyright(c) 2020 berberman
LicenseMIT
Maintainerberberman <1793913507@qq.com>
Safe HaskellNone
LanguageHaskell2010

Distribution.ArchHs.Types

Description

Types used in this project.

Synopsis

Documentation

type ComponentPkgList = [(UnqualComponentName, PkgList)] Source #

A list of component represented by UnqualComponentName and its dependencies collected in a PkgList.

type CommunityDB = Set String Source #

Representation of cummunity.db.

type HackageEnv = Reader HackageDB Source #

Reader effect of HackageDB.

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.

Instances

Instances details
Eq DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep DependencyType :: Type -> Type #

NFData DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: DependencyType -> () #

type Rep DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

data DependencyKind Source #

Tags of data constructors of DependencyType.

Instances

Instances details
Eq DependencyKind Source # 
Instance details

Defined in Distribution.ArchHs.Types

data DependencyProvider Source #

Provider of a dependency.

Constructors

ByCommunity 
ByAur 

Instances

Instances details
Eq DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep DependencyProvider :: Type -> Type #

NFData DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: DependencyProvider -> () #

type Rep DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep DependencyProvider = D1 ('MetaData "DependencyProvider" "Distribution.ArchHs.Types" "arch-hs-0.0.0.0-inplace" 'False) (C1 ('MetaCons "ByCommunity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ByAur" 'PrefixI 'False) (U1 :: Type -> Type))

data SolvedDependency Source #

A solved dependency, holden by SolvedPackage.

Constructors

SolvedDependency 

Fields

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

Instances details
Eq SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SolvedPackage :: Type -> Type #

NFData SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SolvedPackage -> () #

type Rep SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedPackage = D1 ('MetaData "SolvedPackage" "Distribution.ArchHs.Types" "arch-hs-0.0.0.0-inplace" 'False) (C1 ('MetaCons "ProvidedPackage" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "_pkgProvider") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DependencyProvider)) :+: C1 ('MetaCons "SolvedPackage" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "_pkgDeps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SolvedDependency])))