stack-1.9.3: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.PackageIdentifier

Description

Package identifier (name-version).

Synopsis

Documentation

data PackageIdentifier #

A pkg-ver combination.

Constructors

PackageIdentifier 

Fields

Instances
Eq PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data PackageIdentifier # 
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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep PackageIdentifier :: Type -> Type #

NFData PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: PackageIdentifier -> () #

Hashable PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

ToJSON PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

FromJSON PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Display PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

Display PackageIdentifier # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann PackageIdentifier :: Type #

type Rep PackageIdentifier # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifier = D1 (MetaData "PackageIdentifier" "Stack.Types.PackageIdentifier" "stack-1.9.3-5ihSa7Nq9ixFkDyEyQZs8l" 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 # 
Instance details

Defined in Stack.PrettyPrint

data PackageIdentifierRevision #

A PackageIdentifier combined with optionally specified Hackage cabal file revision.

Instances
Eq PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data PackageIdentifierRevision # 
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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep PackageIdentifierRevision :: Type -> Type #

NFData PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

Hashable PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

ToJSON PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

FromJSON PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifierRevision # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep PackageIdentifierRevision = D1 (MetaData "PackageIdentifierRevision" "Stack.Types.PackageIdentifier" "stack-1.9.3-5ihSa7Nq9ixFkDyEyQZs8l" 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 #

A cryptographic hash of a Cabal file.

Instances
Eq CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data CabalHash # 
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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep CabalHash :: Type -> Type #

NFData CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: CabalHash -> () #

Hashable CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep CabalHash # 
Instance details

Defined in Stack.Types.PackageIdentifier

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

mkCabalHashFromSHA256 :: Text -> Either SomeException CabalHash #

Generate a CabalHash value from a base16-encoded SHA256 hash.

computeCabalHash :: ByteString -> CabalHash #

Compute a CabalHash value from a cabal file's contents.

data CabalFileInfo #

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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data CabalFileInfo # 
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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep CabalFileInfo :: Type -> Type #

NFData CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: CabalFileInfo -> () #

Hashable CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep CabalFileInfo # 
Instance details

Defined in Stack.Types.PackageIdentifier

toTuple :: PackageIdentifier -> (PackageName, Version) #

Convert from a package identifier to a tuple.

fromTuple :: (PackageName, Version) -> PackageIdentifier #

Convert from a tuple to a package identifier.

parsePackageIdentifier :: MonadThrow m => Text -> m PackageIdentifier #

Convenient way to parse a package identifier from a Text.

parsePackageIdentifierFromString :: MonadThrow m => String -> m PackageIdentifier #

Convenience function for parsing from a Value.

packageIdentifierParser :: Parser PackageIdentifier #

A parser for a package-version pair.

packageIdentifierString :: PackageIdentifier -> String #

Get a string representation of the package identifier; name-ver.

packageIdentifierRevisionString :: PackageIdentifierRevision -> String #

Get a string representation of the package identifier with revision; name-ver[@hashtype:hash[,size]].

packageIdentifierText :: PackageIdentifier -> Text #

Get a Text representation of the package identifier; name-ver.

data StaticSHA256 #

A SHA256 hash, stored in a static size for more efficient serialization with store.

Instances
Eq StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Data StaticSHA256 # 
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 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Show StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Generic StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Associated Types

type Rep StaticSHA256 :: Type -> Type #

NFData StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Methods

rnf :: StaticSHA256 -> () #

Hashable StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

Store StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

type Rep StaticSHA256 # 
Instance details

Defined in Stack.Types.PackageIdentifier

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

mkStaticSHA256FromText :: Text -> Either SomeException StaticSHA256 #

Generate a StaticSHA256 value from a base16-encoded SHA256 hash.

mkStaticSHA256FromFile :: MonadIO m => Path Abs File -> m StaticSHA256 #

Generate a StaticSHA256 value from the contents of a file.

staticSHA256ToText :: StaticSHA256 -> Text #

Convert a StaticSHA256 into a base16-encoded SHA256 hash.

staticSHA256ToBase16 :: StaticSHA256 -> ByteString #

Convert a StaticSHA256 into a base16-encoded SHA256 hash.