stack-1.9.1.1: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.PackageIdentifier

Description

Package identifier (name-version).

Synopsis

Documentation

data PackageIdentifier Source #

A pkg-ver combination.

Constructors

PackageIdentifier 

Fields

Instances
Eq PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifier -> c PackageIdentifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifier #

toConstr :: PackageIdentifier -> Constr #

dataTypeOf :: PackageIdentifier -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifier) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifier) #

gmapT :: (forall b. Data b => b -> b) -> PackageIdentifier -> PackageIdentifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier #

Ord PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep PackageIdentifier :: Type -> Type #

NFData PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: PackageIdentifier -> () #

Hashable PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

ToJSON PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

FromJSON PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Display PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Display PackageIdentifier Source # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann PackageIdentifier :: Type Source #

type Rep PackageIdentifier Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifier = D1 (MetaData "PackageIdentifier" "Stack.Types.PackageIdentifier" "stack-1.9.1.1-6jz2L6XfBym9jbCxt3ojTR" False) (C1 (MetaCons "PackageIdentifier" PrefixI True) (S1 (MetaSel (Just "packageIdentifierName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 PackageName) :*: S1 (MetaSel (Just "packageIdentifierVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Version)))
type Ann PackageIdentifier Source # 
Instance details

Defined in Stack.PrettyPrint

data PackageIdentifierRevision Source #

A PackageIdentifier combined with optionally specified Hackage cabal file revision.

Instances
Eq PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifierRevision -> c PackageIdentifierRevision #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifierRevision #

toConstr :: PackageIdentifierRevision -> Constr #

dataTypeOf :: PackageIdentifierRevision -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifierRevision) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifierRevision) #

gmapT :: (forall b. Data b => b -> b) -> PackageIdentifierRevision -> PackageIdentifierRevision #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifierRevision -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifierRevision -> r #

gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifierRevision -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifierRevision -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifierRevision -> m PackageIdentifierRevision #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifierRevision -> m PackageIdentifierRevision #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifierRevision -> m PackageIdentifierRevision #

Ord PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep PackageIdentifierRevision :: Type -> Type #

NFData PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Hashable PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

ToJSON PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

FromJSON PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifierRevision Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifierRevision = D1 (MetaData "PackageIdentifierRevision" "Stack.Types.PackageIdentifier" "stack-1.9.1.1-6jz2L6XfBym9jbCxt3ojTR" False) (C1 (MetaCons "PackageIdentifierRevision" PrefixI True) (S1 (MetaSel (Just "pirIdent") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 PackageIdentifier) :*: S1 (MetaSel (Just "pirRevision") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 CabalFileInfo)))

data CabalHash Source #

A cryptographic hash of a Cabal file.

Instances
Eq CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CabalHash -> c CabalHash #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CabalHash #

toConstr :: CabalHash -> Constr #

dataTypeOf :: CabalHash -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CabalHash) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CabalHash) #

gmapT :: (forall b. Data b => b -> b) -> CabalHash -> CabalHash #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CabalHash -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CabalHash -> r #

gmapQ :: (forall d. Data d => d -> u) -> CabalHash -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CabalHash -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CabalHash -> m CabalHash #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CabalHash -> m CabalHash #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CabalHash -> m CabalHash #

Ord CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep CabalHash :: Type -> Type #

NFData CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: CabalHash -> () #

Hashable CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep CabalHash Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep CabalHash = D1 (MetaData "CabalHash" "Stack.Types.PackageIdentifier" "stack-1.9.1.1-6jz2L6XfBym9jbCxt3ojTR" True) (C1 (MetaCons "CabalHash" PrefixI True) (S1 (MetaSel (Just "unCabalHash") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 StaticSHA256)))

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.

data CabalFileInfo Source #

Information on the contents of a cabal file

Constructors

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.

Instances
Eq CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CabalFileInfo -> c CabalFileInfo #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CabalFileInfo #

toConstr :: CabalFileInfo -> Constr #

dataTypeOf :: CabalFileInfo -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CabalFileInfo) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CabalFileInfo) #

gmapT :: (forall b. Data b => b -> b) -> CabalFileInfo -> CabalFileInfo #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CabalFileInfo -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CabalFileInfo -> r #

gmapQ :: (forall d. Data d => d -> u) -> CabalFileInfo -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CabalFileInfo -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CabalFileInfo -> m CabalFileInfo #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CabalFileInfo -> m CabalFileInfo #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CabalFileInfo -> m CabalFileInfo #

Ord CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep CabalFileInfo :: Type -> Type #

NFData CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: CabalFileInfo -> () #

Hashable CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep CabalFileInfo Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

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 Value.

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.

Instances
Eq StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StaticSHA256 -> c StaticSHA256 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StaticSHA256 #

toConstr :: StaticSHA256 -> Constr #

dataTypeOf :: StaticSHA256 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StaticSHA256) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StaticSHA256) #

gmapT :: (forall b. Data b => b -> b) -> StaticSHA256 -> StaticSHA256 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StaticSHA256 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StaticSHA256 -> r #

gmapQ :: (forall d. Data d => d -> u) -> StaticSHA256 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StaticSHA256 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StaticSHA256 -> m StaticSHA256 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StaticSHA256 -> m StaticSHA256 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StaticSHA256 -> m StaticSHA256 #

Ord StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep StaticSHA256 :: Type -> Type #

NFData StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: StaticSHA256 -> () #

Hashable StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep StaticSHA256 Source # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep StaticSHA256 = D1 (MetaData "StaticSHA256" "Stack.Types.PackageIdentifier" "stack-1.9.1.1-6jz2L6XfBym9jbCxt3ojTR" True) (C1 (MetaCons "StaticSHA256" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bytes32)))

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.