| Copyright | (c) 2020 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <1793913507@qq.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Distribution.ArchHs.Utils
Description
Miscellaneous functions used crossing modules.
Synopsis
- getPkgName :: PackageDescription -> PackageName
- getPkgName' :: GenericPackageDescription -> PackageName
- getPkgVersion :: PackageDescription -> Version
- dependencyTypeToKind :: DependencyType -> DependencyKind
- unExe :: ExeDependency -> PackageName
- unExeV :: ExeDependency -> (PackageName, VersionRange)
- unDepV :: Dependency -> (PackageName, VersionRange)
- getUrl :: PackageDescription -> String
- getTwo :: Getting b s b -> s -> s -> (b, b)
- buildDependsIfBuild :: BuildInfo -> [Dependency]
- buildToolDependsIfBuild :: BuildInfo -> [ExeDependency]
- traceCallStack :: (HasCallStack, MemberWithError Trace r) => Sem r ()
- trace' :: MemberWithError Trace r => String -> Sem r ()
Documentation
getPkgName :: PackageDescription -> PackageName Source #
Extract the package name from PackageDescription.
getPkgName' :: GenericPackageDescription -> PackageName Source #
Extract the package name from GenericPackageDescription.
getPkgVersion :: PackageDescription -> Version Source #
Extract the package version from PackageDescription.
dependencyTypeToKind :: DependencyType -> DependencyKind Source #
Map DependencyType with its data constructor tag DependencyKind.
unExe :: ExeDependency -> PackageName Source #
Extract the package name from a ExeDependency.
unExeV :: ExeDependency -> (PackageName, VersionRange) Source #
Extract the package name and the version range from a ExeDependency.
unDepV :: Dependency -> (PackageName, VersionRange) Source #
Extract the PackageName and VersionRange of a Dependency.
getUrl :: PackageDescription -> String Source #
Extract the url from PackageDescription.
It tries homepage, the head of sourceRepos, and finally fallback into hackage website.
getTwo :: Getting b s b -> s -> s -> (b, b) Source #
Apply a Getting to two values respectively, and get the result as a pair.
buildDependsIfBuild :: BuildInfo -> [Dependency] Source #
Same as targetBuildDepends, but check if this is buildable.
buildToolDependsIfBuild :: BuildInfo -> [ExeDependency] Source #
Same as buildToolDepends, but check if this is buildable.
traceCallStack :: (HasCallStack, MemberWithError Trace r) => Sem r () Source #
Trace CallStack.