| Copyright | (c) 2020 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <1793913507@qq.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Distribution.ArchHs.Hackage
Description
This module provides functions operating with HackageDB and GenericPackageDescription.
Synopsis
- lookupHackagePath :: IO FilePath
- loadHackageDB :: FilePath -> IO HackageDB
- insertDB :: GenericPackageDescription -> HackageDB -> HackageDB
- parseCabalFile :: FilePath -> IO GenericPackageDescription
- getLatestCabal :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r GenericPackageDescription
- getCabal :: Members [HackageEnv, WithMyErr] r => PackageName -> Version -> Sem r GenericPackageDescription
- getPackageFlag :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r [Flag]
- traverseHackage :: (Member HackageEnv r, Applicative f) => ((PackageName, GenericPackageDescription) -> f b) -> Sem r (f [b])
- getLatestSHA256 :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r String
Documentation
lookupHackagePath :: IO FilePath Source #
Look up hackage tarball path from ~/.cabal.
Arbitrary hackage mirror is potential to be selected.
Preferred to 01-index.tar, whereas fallback to 00-index.tar.
insertDB :: GenericPackageDescription -> HackageDB -> HackageDB Source #
Insert a GenericPackageDescription into HackageDB.
parseCabalFile :: FilePath -> IO GenericPackageDescription Source #
Read and parse .cabal file.
getLatestCabal :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r GenericPackageDescription Source #
Get the latest GenericPackageDescription.
getCabal :: Members [HackageEnv, WithMyErr] r => PackageName -> Version -> Sem r GenericPackageDescription Source #
Get GenericPackageDescription with a specific version.
getPackageFlag :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r [Flag] Source #
Get flags of a package.
traverseHackage :: (Member HackageEnv r, Applicative f) => ((PackageName, GenericPackageDescription) -> f b) -> Sem r (f [b]) Source #
Traverse hackage packages.
getLatestSHA256 :: Members [HackageEnv, WithMyErr] r => PackageName -> Sem r String Source #
Get the latest SHA256 sum of the tarball .