Copyright | (c) 2020-2021 berberman |
---|---|
License | MIT |
Maintainer | berberman <berberman@yandex.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The core functions of arch-hs
.
Synopsis
- getDependencies :: (HasCallStack, Members [KnownGHCVersion, HackageEnv, FlagAssignmentsEnv, WithMyErr, DependencyRecord, State (Set PackageName), Trace] r) => [UnqualComponentName] -> Maybe PackageName -> PackageName -> Sem r (AdjacencyMap (Set DependencyType) PackageName, Set PackageName, Map PackageName [SystemDependency])
- cabalToPkgBuild :: Members [HackageEnv, FlagAssignmentsEnv, WithMyErr] r => SolvedPackage -> Bool -> [ArchLinuxName] -> Sem r PkgBuild
- evalConditionTree :: (HasCallStack, Semigroup k, HasBuildInfo k, Members [KnownGHCVersion, FlagAssignmentsEnv, Trace] r) => GenericPackageDescription -> CondTree ConfVar [Dependency] k -> Sem r BuildInfo
- subsumeGHCVersion :: Members [ExtraEnv, WithMyErr] r => InterpreterFor KnownGHCVersion r
- collectLibDeps :: (Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a, Monoid a) => ([(PackageName, VersionRange)] -> a) -> GenericPackageDescription -> Sem r (a, a, [SystemDependency])
- collectExeDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency])
- collectTestDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency])
- collectSubLibDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency])
- collectSetupDeps :: (Member Trace r, Show a, Monoid a) => ([(PackageName, VersionRange)] -> a) -> GenericPackageDescription -> Sem r a
Documentation
:: (HasCallStack, Members [KnownGHCVersion, HackageEnv, FlagAssignmentsEnv, WithMyErr, DependencyRecord, State (Set PackageName), Trace] r) | |
=> [UnqualComponentName] | Skipped |
-> Maybe PackageName | Parent |
-> PackageName | Target |
-> Sem r (AdjacencyMap (Set DependencyType) PackageName, Set PackageName, Map PackageName [SystemDependency]) |
Get dependencies of a package recursively. All version constraints will be discarded, and only packages depended by executables, libraries, and test suits will be collected.
cabalToPkgBuild :: Members [HackageEnv, FlagAssignmentsEnv, WithMyErr] r => SolvedPackage -> Bool -> [ArchLinuxName] -> Sem r PkgBuild Source #
Generate PkgBuild
for a SolvedPackage
.
evalConditionTree :: (HasCallStack, Semigroup k, HasBuildInfo k, Members [KnownGHCVersion, FlagAssignmentsEnv, Trace] r) => GenericPackageDescription -> CondTree ConfVar [Dependency] k -> Sem r BuildInfo Source #
Simplify the condition tree from GenericPackageDescription
with given flag assignments and archlinux system assumption.
subsumeGHCVersion :: Members [ExtraEnv, WithMyErr] r => InterpreterFor KnownGHCVersion r Source #
Get the ghc version in ExtraDB
Helper functions
collectLibDeps :: (Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a, Monoid a) => ([(PackageName, VersionRange)] -> a) -> GenericPackageDescription -> Sem r (a, a, [SystemDependency]) Source #
collectExeDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency]) Source #
collectTestDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency]) Source #
collectSubLibDeps :: (HasCallStack, Members [KnownGHCVersion, FlagAssignmentsEnv, DependencyRecord, Trace] r, Show a) => ([(UnqualComponentName, [(PackageName, VersionRange)])] -> a) -> GenericPackageDescription -> [UnqualComponentName] -> Sem r (a, a, [SystemDependency]) Source #
collectSetupDeps :: (Member Trace r, Show a, Monoid a) => ([(PackageName, VersionRange)] -> a) -> GenericPackageDescription -> Sem r a Source #