arch-hs-0.11.1.0: Distribute hackage packages to archlinux
Copyright(c) 2020-2021 berberman
LicenseMIT
Maintainerberberman <berberman@yandex.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
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
HasMyName ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Name

Generic ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep ArchLinuxName :: Type -> Type #

Read ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: ArchLinuxName -> () #

Eq ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep ArchLinuxName Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep ArchLinuxName = D1 ('MetaData "ArchLinuxName" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" '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
Generic SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SystemDependency :: Type -> Type #

Read SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Show SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SystemDependency -> () #

Eq SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SystemDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

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

data PkgDependent Source #

Arch Linux dependency type for depends, replaces, conflicts,.etc in PkgDesc

Instances

Instances details
Generic PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep PkgDependent :: Type -> Type #

Show PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: PkgDependent -> () #

Eq PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep PkgDependent Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep PkgDependent = D1 ('MetaData "PkgDependent" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" 'False) (C1 ('MetaCons "PkgDependent" 'PrefixI 'True) (S1 ('MetaSel ('Just "_pdName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArchLinuxName) :*: S1 ('MetaSel ('Just "_pdVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ArchLinuxVersion))))

data PkgDesc Source #

Package description file of a installed system package, retrieved from repo.db file.

Instances

Instances details
Generic PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep PkgDesc :: Type -> Type #

Methods

from :: PkgDesc -> Rep PkgDesc x #

to :: Rep PkgDesc x -> PkgDesc #

Show PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: PkgDesc -> () #

Eq PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

(==) :: PkgDesc -> PkgDesc -> Bool #

(/=) :: PkgDesc -> PkgDesc -> Bool #

Ord PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep PkgDesc Source # 
Instance details

Defined in Distribution.ArchHs.Types

type ArchLinuxVersion = String Source #

Version of packages in archlinux extra repo

type ExtraDB = Map ArchLinuxName PkgDesc Source #

Representation of cummunity.db

type HackageEnv = Reader HackageDB Source #

Reader effect of HackageDB

type ExtraEnv = Reader ExtraDB Source #

Reader effect of ExtraDB

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

Instances details
Generic DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep DependencyType :: Type -> Type #

Show DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: DependencyType -> () #

Eq DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep DependencyType Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep DependencyType = D1 ('MetaData "DependencyType" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" '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

ByExtra 
ByAur 

Instances

Instances details
Generic DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep DependencyProvider :: Type -> Type #

Show DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: DependencyProvider -> () #

Eq DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep DependencyProvider Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep DependencyProvider = D1 ('MetaData "DependencyProvider" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" 'False) (C1 ('MetaCons "ByExtra" '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
Generic SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SolvedPackage :: Type -> Type #

Show SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SolvedPackage -> () #

Eq SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedPackage Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedPackage = D1 ('MetaData "SolvedPackage" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" '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
Generic SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Associated Types

type Rep SolvedDependency :: Type -> Type #

Show SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

NFData SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Methods

rnf :: SolvedDependency -> () #

Eq SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

Ord SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedDependency Source # 
Instance details

Defined in Distribution.ArchHs.Types

type Rep SolvedDependency = D1 ('MetaData "SolvedDependency" "Distribution.ArchHs.Types" "arch-hs-0.11.1.0-DkneLapkOJPCLtr84771ty" '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