arch-hs-0.1.1.0: A program generating PKGBUILD for hackage packages
Copyright(c) 2020 berberman
LicenseMIT
Maintainerberberman <1793913507@qq.com>
Stabilityexperimental
Portabilityportable
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

type DependencyRecord = State (Map PackageName [VersionRange]) Source #

Unused state effect

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

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

type Rep DependencyType = D1 ('MetaData "DependencyType" "Distribution.ArchHs.Types" "arch-hs-0.1.1.0-inplace" 'False) (((C1 ('MetaCons "CExe" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName)) :+: C1 ('MetaCons "CExeBuildTools" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName))) :+: (C1 ('MetaCons "CLib" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CTest" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName)) :+: C1 ('MetaCons "CBenchmark" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName))))) :+: ((C1 ('MetaCons "CLibBuildTools" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CTestBuildTools" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName))) :+: (C1 ('MetaCons "CBenchmarkBuildTools" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName)) :+: (C1 ('MetaCons "CSubLibs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName)) :+: C1 ('MetaCons "CSubLibsBuildTools" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName))))))

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.1.1.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.1.1.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])))