Safe Haskell | None |
---|---|
Language | Haskell2010 |
Package identifier (name-version).
- data PackageIdentifier = PackageIdentifier {}
- data PackageIdentifierRevision = PackageIdentifierRevision {}
- data CabalHash
- mkCabalHashFromSHA256 :: Text -> Either SomeException CabalHash
- computeCabalHash :: ByteString -> CabalHash
- showCabalHash :: CabalHash -> Text
- data CabalFileInfo
- toTuple :: PackageIdentifier -> (PackageName, Version)
- fromTuple :: (PackageName, Version) -> PackageIdentifier
- parsePackageIdentifier :: MonadThrow m => Text -> m PackageIdentifier
- parsePackageIdentifierFromString :: MonadThrow m => String -> m PackageIdentifier
- parsePackageIdentifierRevision :: MonadThrow m => Text -> m PackageIdentifierRevision
- packageIdentifierParser :: Parser PackageIdentifier
- packageIdentifierString :: PackageIdentifier -> String
- packageIdentifierRevisionString :: PackageIdentifierRevision -> String
- packageIdentifierText :: PackageIdentifier -> Text
- toCabalPackageIdentifier :: PackageIdentifier -> PackageIdentifier
- fromCabalPackageIdentifier :: PackageIdentifier -> PackageIdentifier
- data StaticSHA256
- mkStaticSHA256FromText :: Text -> Either SomeException StaticSHA256
- mkStaticSHA256FromFile :: MonadIO m => Path Abs File -> m StaticSHA256
- mkStaticSHA256FromDigest :: Digest SHA256 -> StaticSHA256
- staticSHA256ToText :: StaticSHA256 -> Text
- staticSHA256ToBase16 :: StaticSHA256 -> ByteString
- staticSHA256ToRaw :: StaticSHA256 -> ByteString
Documentation
data PackageIdentifier Source #
A pkg-ver combination.
PackageIdentifier | |
|
data PackageIdentifierRevision Source #
A PackageIdentifier
combined with optionally specified Hackage
cabal file revision.
A cryptographic hash of a Cabal file.
mkCabalHashFromSHA256 :: Text -> Either SomeException CabalHash Source #
Generate a CabalHash
value from a base16-encoded SHA256 hash.
computeCabalHash :: ByteString -> CabalHash Source #
Compute a CabalHash
value from a cabal file's contents.
showCabalHash :: CabalHash -> Text Source #
data CabalFileInfo Source #
Information on the contents of a cabal file
CFILatest | Take the latest revision of the cabal file available. This isn't reproducible at all, but the running assumption (not necessarily true) is that cabal file revisions do not change semantics of the build. |
CFIHash !(Maybe Int) !CabalHash | Identify by contents of the cabal file itself |
CFIRevision !Word | Identify by revision number, with 0 being the original and counting upward. |
toTuple :: PackageIdentifier -> (PackageName, Version) Source #
Convert from a package identifier to a tuple.
fromTuple :: (PackageName, Version) -> PackageIdentifier Source #
Convert from a tuple to a package identifier.
parsePackageIdentifier :: MonadThrow m => Text -> m PackageIdentifier Source #
Convenient way to parse a package identifier from a Text
.
parsePackageIdentifierFromString :: MonadThrow m => String -> m PackageIdentifier Source #
Convenience function for parsing from a String
.
parsePackageIdentifierRevision :: MonadThrow m => Text -> m PackageIdentifierRevision Source #
Parse a PackageIdentifierRevision
packageIdentifierParser :: Parser PackageIdentifier Source #
A parser for a package-version pair.
packageIdentifierString :: PackageIdentifier -> String Source #
Get a string representation of the package identifier; name-ver.
packageIdentifierRevisionString :: PackageIdentifierRevision -> String Source #
Get a string representation of the package identifier with revision; name-ver[@hashtype:hash[,size]].
packageIdentifierText :: PackageIdentifier -> Text Source #
Get a Text representation of the package identifier; name-ver.
data StaticSHA256 Source #
A SHA256 hash, stored in a static size for more efficient serialization with store.
mkStaticSHA256FromText :: Text -> Either SomeException StaticSHA256 Source #
Generate a StaticSHA256
value from a base16-encoded SHA256 hash.
mkStaticSHA256FromFile :: MonadIO m => Path Abs File -> m StaticSHA256 Source #
Generate a StaticSHA256
value from the contents of a file.
staticSHA256ToText :: StaticSHA256 -> Text Source #
Convert a StaticSHA256
into a base16-encoded SHA256 hash.
staticSHA256ToBase16 :: StaticSHA256 -> ByteString Source #
Convert a StaticSHA256
into a base16-encoded SHA256 hash.