arch-hs-0.6.2.0: Distribute hackage packages to archlinux
Copyright(c) 2020 berberman
LicenseMIT
Maintainerberberman <berberman@yandex.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

newtype ArchLinuxName Source #

Name of packages in archlinux repo, a wrapper of String.

Constructors

ArchLinuxName 

Fields

Instances

Instances details
Eq ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Read ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep ArchLinuxName :: Type -> Type #

NFData ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: ArchLinuxName -> () #

HasMyName ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Name

type Rep ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep ArchLinuxName = D1 ('MetaData "ArchLinuxName" "Distribution.ArchHs.Types" "arch-hs-0.6.2.0-57s2eJUs18HDzdiamPTSDr" 'True) (C1 ('MetaCons "ArchLinuxName" 'PrefixI 'True) (S1 ('MetaSel ('Just "unArchLinuxName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

newtype SystemDependency Source #

A external dependency provided by system, which is converted from package config (.pc) or extra lib (.so).

Constructors

SystemDependency String 

Instances

Instances details
Eq SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Read SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SystemDependency :: Type -> Type #

NFData SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SystemDependency -> () #

type Rep SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SystemDependency = D1 ('MetaData "SystemDependency" "Distribution.ArchHs.Types" "arch-hs-0.6.2.0-57s2eJUs18HDzdiamPTSDr" 'True) (C1 ('MetaCons "SystemDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

type ArchLinuxVersion = String Source #

Version of packages in archlinux community repo

type CommunityDB = Map ArchLinuxName ArchLinuxVersion 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

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

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.6.2.0-57s2eJUs18HDzdiamPTSDr" '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 "CSetup" '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

Ord 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.6.2.0-57s2eJUs18HDzdiamPTSDr" 'False) (C1 ('MetaCons "ByCommunity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ByAur" 'PrefixI 'False) (U1 :: Type -> Type))

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

Ord 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.6.2.0-57s2eJUs18HDzdiamPTSDr" '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])))

data SolvedDependency Source #

A solved dependency, holden by SolvedPackage

Constructors

SolvedDependency 

Fields

Instances

Instances details
Eq SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Generic SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SolvedDependency :: Type -> Type #

NFData SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SolvedDependency -> () #

type Rep SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedDependency = D1 ('MetaData "SolvedDependency" "Distribution.ArchHs.Types" "arch-hs-0.6.2.0-57s2eJUs18HDzdiamPTSDr" 'False) (C1 ('MetaCons "SolvedDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "_depProvider") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DependencyProvider)) :*: (S1 ('MetaSel ('Just "_depName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "_depType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DependencyType]))))

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

Unused state effect