| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Pantry.Types
Synopsis
- data PantryConfig = PantryConfig {
- pcPackageIndex :: !PackageIndexConfig
- pcHpackExecutable :: !HpackExecutable
- pcHpackForce :: !Force
- pcRootDir :: !(Path Abs Dir)
- pcStorage :: !Storage
- pcUpdateRef :: !(MVar Bool)
- pcParsedCabalFilesRawImmutable :: !(IORef (Map RawPackageLocationImmutable GenericPackageDescription))
- pcParsedCabalFilesMutable :: !(IORef (Map (Path Abs Dir) (PrintWarnings -> IO GenericPackageDescription, PackageName, Path Abs File)))
- pcConnectionCount :: !Int
- pcCasaConfig :: !(Maybe (CasaRepoPrefix, Int))
- pcSnapshotLocation :: SnapName -> RawSnapshotLocation
- pcGlobalHintsLocation :: WantedCompiler -> GlobalHintsLocation
- data PackageIndexConfig = PackageIndexConfig {}
- data HackageSecurityConfig = HackageSecurityConfig {
- hscKeyIds :: ![Text]
- hscKeyThreshold :: !Int
- hscIgnoreExpiry :: !Bool
- defaultHackageSecurityConfig :: HackageSecurityConfig
- data Storage = Storage {
- withStorage_ :: forall env a. HasLogFunc env => ReaderT SqlBackend (RIO env) a -> RIO env a
- withWriteLock_ :: forall env a. HasLogFunc env => RIO env a -> RIO env a
- class HasPantryConfig env where
- pantryConfigL :: Lens' env PantryConfig
- data BlobKey = BlobKey !SHA256 !FileSize
- data PackageName
- data Version
- data PackageIdentifier = PackageIdentifier {}
- newtype Revision = Revision Word
- data ModuleName
- data CabalFileInfo
- data PrintWarnings
- newtype PackageNameP = PackageNameP {}
- newtype VersionP = VersionP {}
- newtype ModuleNameP = ModuleNameP {}
- data PackageIdentifierRevision = PackageIdentifierRevision !PackageName !Version !CabalFileInfo
- pirForHash :: PackageIdentifier -> BlobKey -> PackageIdentifierRevision
- data FileType
- data BuildFile
- newtype FileSize = FileSize Word
- data TreeEntry = TreeEntry {}
- data SafeFilePath
- unSafeFilePath :: SafeFilePath -> Text
- mkSafeFilePath :: Text -> Maybe SafeFilePath
- safeFilePathToPath :: MonadThrow m => Path Abs Dir -> SafeFilePath -> m (Path Abs File)
- hpackSafeFilePath :: SafeFilePath
- newtype TreeKey = TreeKey BlobKey
- newtype Tree = TreeMap (Map SafeFilePath TreeEntry)
- renderTree :: Tree -> ByteString
- parseTree :: ByteString -> Maybe Tree
- parseTreeM :: MonadThrow m => (BlobKey, ByteString) -> m (TreeKey, Tree)
- data SHA256
- data Unresolved a
- resolvePaths :: MonadIO m => Maybe (Path Abs Dir) -> Unresolved a -> m a
- data Package = Package {}
- data PackageCabal
- data PHpack = PHpack {
- phOriginal :: !TreeEntry
- phGenerated :: !TreeEntry
- phVersion :: !Version
- data RawPackageLocation
- data PackageLocation
- toRawPL :: PackageLocation -> RawPackageLocation
- data RawPackageLocationImmutable
- data PackageLocationImmutable
- toRawPLI :: PackageLocationImmutable -> RawPackageLocationImmutable
- data RawArchive = RawArchive {
- raLocation :: !ArchiveLocation
- raHash :: !(Maybe SHA256)
- raSize :: !(Maybe FileSize)
- raSubdir :: !Text
- data Archive = Archive {}
- toRawArchive :: Archive -> RawArchive
- data Repo = Repo {
- repoUrl :: !Text
- repoCommit :: !Text
- repoType :: !RepoType
- repoSubdir :: !Text
- data AggregateRepo = AggregateRepo {
- aRepo :: !SimpleRepo
- aRepoSubdirs :: [(Text, RawPackageMetadata)]
- data SimpleRepo = SimpleRepo {}
- toAggregateRepos :: [(Repo, RawPackageMetadata)] -> [AggregateRepo]
- rToSimpleRepo :: Repo -> SimpleRepo
- arToSimpleRepo :: AggregateRepo -> SimpleRepo
- data RepoType
- parsePackageIdentifier :: String -> Maybe PackageIdentifier
- parsePackageName :: String -> Maybe PackageName
- parsePackageNameThrowing :: MonadThrow m => String -> m PackageName
- parseFlagName :: String -> Maybe FlagName
- parseVersion :: String -> Maybe Version
- parseVersionThrowing :: MonadThrow m => String -> m Version
- packageIdentifierString :: PackageIdentifier -> String
- packageNameString :: PackageName -> String
- flagNameString :: FlagName -> String
- versionString :: Version -> String
- moduleNameString :: ModuleName -> String
- data OptionalSubdirs
- data ArchiveLocation
- = ALUrl !Text
- | ALFilePath !(ResolvedPath File)
- newtype RelFilePath = RelFilePath Text
- newtype CabalString a = CabalString {
- unCabalString :: a
- toCabalStringMap :: Map a v -> Map (CabalString a) v
- unCabalStringMap :: Map (CabalString a) v -> Map a v
- parsePackageIdentifierRevision :: Text -> Either PantryException PackageIdentifierRevision
- parseRawPackageLocationImmutables :: Text -> Either PantryException (Unresolved (NonEmpty RawPackageLocationImmutable))
- data Mismatch a = Mismatch {
- mismatchExpected :: !a
- mismatchActual :: !a
- data PantryException
- = PackageIdentifierRevisionParseFail !Text
- | RawPackageLocationImmutableParseFail !Text !SomeException
- | RawPackageLocationImmutableParseWarnings !Text ![JSONWarning]
- | InvalidCabalFile !(Either RawPackageLocationImmutable (Path Abs File)) !(Maybe Version) ![PError] ![PWarning]
- | TreeWithoutCabalFile !RawPackageLocationImmutable
- | TreeWithMultipleCabalFiles !RawPackageLocationImmutable ![SafeFilePath]
- | MismatchedCabalName !(Path Abs File) !PackageName
- | NoLocalPackageDirFound !(Path Abs Dir)
- | NoCabalFileFound !(Path Abs Dir)
- | MultipleCabalFilesFound !(Path Abs Dir) ![Path Abs File]
- | InvalidWantedCompiler !Text
- | InvalidSnapshotLocation !(Path Abs Dir) !Text
- | InvalidOverrideCompiler !WantedCompiler !WantedCompiler
- | InvalidFilePathSnapshot !Text
- | InvalidSnapshot !RawSnapshotLocation !SomeException
- | InvalidGlobalHintsLocation !(Path Abs Dir) !Text
- | InvalidFilePathGlobalHints !Text
- | MismatchedPackageMetadata !RawPackageLocationImmutable !RawPackageMetadata !(Maybe TreeKey) !PackageIdentifier
- | Non200ResponseStatus !Status
- | InvalidBlobKey !(Mismatch BlobKey)
- | Couldn'tParseSnapshot !RawSnapshotLocation !String
- | WrongCabalFileName !RawPackageLocationImmutable !SafeFilePath !PackageName
- | DownloadInvalidSHA256 !Text !(Mismatch SHA256)
- | DownloadInvalidSize !Text !(Mismatch FileSize)
- | DownloadTooLarge !Text !(Mismatch FileSize)
- | LocalNoArchiveFileFound !(Path Abs File)
- | LocalInvalidSHA256 !(Path Abs File) !(Mismatch SHA256)
- | LocalInvalidSize !(Path Abs File) !(Mismatch FileSize)
- | UnknownArchiveType !ArchiveLocation
- | InvalidTarFileType !ArchiveLocation !FilePath !FileType
- | UnsupportedTarball !ArchiveLocation !Text
- | NoHackageCryptographicHash !PackageIdentifier
- | FailedToCloneRepo !SimpleRepo
- | TreeReferencesMissingBlob !RawPackageLocationImmutable !SafeFilePath !BlobKey
- | CompletePackageMetadataMismatch !RawPackageLocationImmutable !PackageMetadata
- | CRC32Mismatch !ArchiveLocation !FilePath !(Mismatch Word32)
- | UnknownHackagePackage !PackageIdentifierRevision !FuzzyResults
- | CannotCompleteRepoNonSHA1 !Repo
- | MutablePackageLocationFromUrl !Text
- | MismatchedCabalFileForHackage !PackageIdentifierRevision !(Mismatch PackageIdentifier)
- | PackageNameParseFail !Text
- | PackageVersionParseFail !Text
- | InvalidCabalFilePath !(Path Abs File)
- | DuplicatePackageNames !Utf8Builder ![(PackageName, [RawPackageLocationImmutable])]
- | MigrationFailure !Text !(Path Abs File) !SomeException
- | NoCasaConfig
- | InvalidTreeFromCasa !BlobKey !ByteString
- | ParseSnapNameException !Text
- | HpackLibraryException !(Path Abs File) !String
- | HpackExeException !FilePath !(Path Abs Dir) !SomeException
- data FuzzyResults
- data ResolvedPath t = ResolvedPath {
- resolvedRelative :: !RelFilePath
- resolvedAbsolute :: !(Path Abs t)
- data HpackExecutable
- data WantedCompiler
- snapshotLocation :: HasPantryConfig env => SnapName -> RIO env RawSnapshotLocation
- defaultSnapshotLocation :: SnapName -> RawSnapshotLocation
- globalHintsLocation :: HasPantryConfig env => WantedCompiler -> RIO env GlobalHintsLocation
- defaultGlobalHintsLocation :: WantedCompiler -> GlobalHintsLocation
- data SnapName
- parseSnapName :: MonadThrow m => Text -> m SnapName
- data RawSnapshotLocation
- = RSLCompiler !WantedCompiler
- | RSLUrl !Text !(Maybe BlobKey)
- | RSLFilePath !(ResolvedPath File)
- | RSLSynonym !SnapName
- data SnapshotLocation
- = SLCompiler !WantedCompiler
- | SLUrl !Text !BlobKey
- | SLFilePath !(ResolvedPath File)
- toRawSL :: SnapshotLocation -> RawSnapshotLocation
- parseHackageText :: Text -> Either PantryException (PackageIdentifier, BlobKey)
- parseRawSnapshotLocation :: Text -> Unresolved RawSnapshotLocation
- data RawSnapshotLayer = RawSnapshotLayer {
- rslParent :: !RawSnapshotLocation
- rslCompiler :: !(Maybe WantedCompiler)
- rslLocations :: ![RawPackageLocationImmutable]
- rslDropPackages :: !(Set PackageName)
- rslFlags :: !(Map PackageName (Map FlagName Bool))
- rslHidden :: !(Map PackageName Bool)
- rslGhcOptions :: !(Map PackageName [Text])
- rslPublishTime :: !(Maybe UTCTime)
- data SnapshotLayer = SnapshotLayer {
- slParent :: !SnapshotLocation
- slCompiler :: !(Maybe WantedCompiler)
- slLocations :: ![PackageLocationImmutable]
- slDropPackages :: !(Set PackageName)
- slFlags :: !(Map PackageName (Map FlagName Bool))
- slHidden :: !(Map PackageName Bool)
- slGhcOptions :: !(Map PackageName [Text])
- slPublishTime :: !(Maybe UTCTime)
- toRawSnapshotLayer :: SnapshotLayer -> RawSnapshotLayer
- data RawSnapshot = RawSnapshot {
- rsCompiler :: !WantedCompiler
- rsPackages :: !(Map PackageName RawSnapshotPackage)
- rsDrop :: !(Set PackageName)
- data Snapshot = Snapshot {}
- data RawSnapshotPackage = RawSnapshotPackage {
- rspLocation :: !RawPackageLocationImmutable
- rspFlags :: !(Map FlagName Bool)
- rspHidden :: !Bool
- rspGhcOptions :: ![Text]
- data SnapshotPackage = SnapshotPackage {
- spLocation :: !PackageLocationImmutable
- spFlags :: !(Map FlagName Bool)
- spHidden :: !Bool
- spGhcOptions :: ![Text]
- data GlobalHintsLocation
- = GHLUrl !Text
- | GHLFilePath !(ResolvedPath File)
- parseGlobalHintsLocation :: Text -> Unresolved GlobalHintsLocation
- parseWantedCompiler :: Text -> Either PantryException WantedCompiler
- data RawPackageMetadata = RawPackageMetadata {
- rpmName :: !(Maybe PackageName)
- rpmVersion :: !(Maybe Version)
- rpmTreeKey :: !(Maybe TreeKey)
- data PackageMetadata = PackageMetadata {
- pmIdent :: !PackageIdentifier
- pmTreeKey :: !TreeKey
- toRawPM :: PackageMetadata -> RawPackageMetadata
- cabalFileName :: PackageName -> SafeFilePath
- newtype SnapshotCacheHash = SnapshotCacheHash {}
- getGlobalHintsFile :: HasPantryConfig env => RIO env (Path Abs File)
- bsToBlobKey :: ByteString -> BlobKey
- warnMissingCabalFile :: HasLogFunc env => RawPackageLocationImmutable -> RIO env ()
- connRDBMS :: SqlBackend -> Text
Documentation
data PantryConfig Source #
Configuration value used by the entire pantry package. Create one using
withPantryConfig or withPantryConfig'. See also PantryApp for a
convenience approach to using pantry.
Since: 0.1.0.0
Constructors
| PantryConfig | |
Fields
| |
data PackageIndexConfig Source #
Configuration to securely download package metadata and contents. For most
purposes, you'll want to use the default Hackage settings via
defaultPackageIndexConfig.
NOTE It's highly recommended to only use the official Hackage server or a mirror. See https://github.com/commercialhaskell/stack/issues/4137.
Since: 0.6.0
Constructors
| PackageIndexConfig | |
Fields | |
Instances
| Show PackageIndexConfig Source # | |
Defined in Pantry.Types | |
| FromJSON (WithJSONWarnings PackageIndexConfig) Source # | If the Since: 0.6.0 |
Defined in Pantry.Types | |
data HackageSecurityConfig Source #
Configuration for Hackage Security to securely download package metadata
and contents. For most purposes, you'll want to use the default Hackage
settings via defaultHackageSecurityConfig.
NOTE It's highly recommended to only use the official Hackage server or a mirror. See https://github.com/commercialhaskell/stack/issues/4137.
Since: 0.6.0
Constructors
| HackageSecurityConfig | |
Fields
| |
Instances
| Show HackageSecurityConfig Source # | |
Defined in Pantry.Types | |
| FromJSON (WithJSONWarnings HackageSecurityConfig) Source # | If the Since: 0.1.1.0 |
Defined in Pantry.Types | |
defaultHackageSecurityConfig :: HackageSecurityConfig Source #
Default HackageSecurityConfig value using the official Hackage server.
The value of the hscIgnoreExpiry field is True.
Since: 0.7.0
Represents a SQL database connection.
Constructors
| Storage | |
Fields
| |
class HasPantryConfig env where Source #
An environment which contains a PantryConfig.
Since: 0.1.0.0
Methods
pantryConfigL :: Lens' env PantryConfig Source #
Lens to get or set the PantryConfig
Since: 0.1.0.0
A key for looking up a blob, which combines the SHA256 hash of the contents and the file size.
The file size may seem redundant with the hash. However, it is necessary for safely downloading blobs from an untrusted source. See https://www.fpcomplete.com/blog/2018/07/pantry-part-2-trees-keys.
Since: 0.1.0.0
Instances
data PackageName Source #
A package name.
Use mkPackageName and unPackageName to convert from/to a
String.
This type is opaque since Cabal-2.0
Since: Cabal-syntax-2.0.0.2
Instances
| Parsec PackageName | |||||
Defined in Distribution.Types.PackageName Methods parsec :: CabalParsing m => m PackageName Source # | |||||
| Pretty PackageName | |||||
Defined in Distribution.Types.PackageName Methods pretty :: PackageName -> Doc Source # prettyVersioned :: CabalSpecVersion -> PackageName -> Doc Source # | |||||
| Structured PackageName | |||||
Defined in Distribution.Types.PackageName | |||||
| Binary PackageName | |||||
Defined in Distribution.Types.PackageName Methods put :: PackageName -> Put Source # get :: Get PackageName Source # putList :: [PackageName] -> Put Source # | |||||
| NFData PackageName | |||||
Defined in Distribution.Types.PackageName Methods rnf :: PackageName -> () Source # | |||||
| Data PackageName | |||||
Defined in Distribution.Types.PackageName Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageName -> c PackageName Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageName Source # toConstr :: PackageName -> Constr Source # dataTypeOf :: PackageName -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageName) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageName) Source # gmapT :: (forall b. Data b => b -> b) -> PackageName -> PackageName Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageName -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageName -> r Source # gmapQ :: (forall d. Data d => d -> u) -> PackageName -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageName -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageName -> m PackageName Source # | |||||
| IsString PackageName | Since: Cabal-syntax-2.0.0.2 | ||||
Defined in Distribution.Types.PackageName Methods fromString :: String -> PackageName Source # | |||||
| Generic PackageName | |||||
Defined in Distribution.Types.PackageName Associated Types
Methods from :: PackageName -> Rep PackageName x Source # to :: Rep PackageName x -> PackageName Source # | |||||
| Read PackageName | |||||
Defined in Distribution.Types.PackageName | |||||
| Show PackageName | |||||
Defined in Distribution.Types.PackageName | |||||
| Eq PackageName | |||||
Defined in Distribution.Types.PackageName Methods (==) :: PackageName -> PackageName -> Bool Source # (/=) :: PackageName -> PackageName -> Bool Source # | |||||
| Ord PackageName | |||||
Defined in Distribution.Types.PackageName Methods compare :: PackageName -> PackageName -> Ordering Source # (<) :: PackageName -> PackageName -> Bool Source # (<=) :: PackageName -> PackageName -> Bool Source # (>) :: PackageName -> PackageName -> Bool Source # (>=) :: PackageName -> PackageName -> Bool Source # max :: PackageName -> PackageName -> PackageName Source # min :: PackageName -> PackageName -> PackageName Source # | |||||
| type Rep PackageName | |||||
Defined in Distribution.Types.PackageName type Rep PackageName = D1 ('MetaData "PackageName" "Distribution.Types.PackageName" "Cabal-syntax-3.12.1.0-inplace" 'True) (C1 ('MetaCons "PackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText))) | |||||
A Version represents the version of a software entity.
Instances of Eq and Ord are provided, which gives exact
equality and lexicographic ordering of the version number
components (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.).
This type is opaque and distinct from the Version type in
Data.Version since Cabal-2.0. The difference extends to the
Binary instance using a different (and more compact) encoding.
Since: Cabal-syntax-2.0.0.2
Instances
| Parsec Version | |||||
Defined in Distribution.Types.Version Methods parsec :: CabalParsing m => m Version Source # | |||||
| Pretty Version | |||||
Defined in Distribution.Types.Version | |||||
| Structured Version | |||||
Defined in Distribution.Types.Version | |||||
| Binary Version | |||||
| NFData Version | |||||
Defined in Distribution.Types.Version | |||||
| Data Version | |||||
Defined in Distribution.Types.Version Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version Source # toConstr :: Version -> Constr Source # dataTypeOf :: Version -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) Source # gmapT :: (forall b. Data b => b -> b) -> Version -> Version Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version Source # | |||||
| Generic Version | |||||
Defined in Distribution.Types.Version Associated Types
| |||||
| Read Version | |||||
| Show Version | |||||
| Eq Version | |||||
| Ord Version | |||||
Defined in Distribution.Types.Version | |||||
| type Rep Version | |||||
Defined in Distribution.Types.Version type Rep Version = D1 ('MetaData "Version" "Distribution.Types.Version" "Cabal-syntax-3.12.1.0-inplace" 'False) (C1 ('MetaCons "PV0" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :+: C1 ('MetaCons "PV1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]))) | |||||
data PackageIdentifier Source #
The name and version of a package.
Constructors
| PackageIdentifier | |
Fields
| |
Instances
| Package PackageIdentifier | |||||
Defined in Distribution.Package Methods packageId :: PackageIdentifier -> PackageIdentifier Source # | |||||
| Parsec PackageIdentifier |
Note: Stricter than
| ||||
Defined in Distribution.Types.PackageId Methods parsec :: CabalParsing m => m PackageIdentifier Source # | |||||
| Pretty PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods pretty :: PackageIdentifier -> Doc Source # prettyVersioned :: CabalSpecVersion -> PackageIdentifier -> Doc Source # | |||||
| Structured PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods structure :: Proxy PackageIdentifier -> Structure Source # structureHash' :: Tagged PackageIdentifier MD5 | |||||
| Binary PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods put :: PackageIdentifier -> Put Source # get :: Get PackageIdentifier Source # putList :: [PackageIdentifier] -> Put Source # | |||||
| NFData PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods rnf :: PackageIdentifier -> () Source # | |||||
| Data PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifier -> c PackageIdentifier Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifier Source # toConstr :: PackageIdentifier -> Constr Source # dataTypeOf :: PackageIdentifier -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifier) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifier) Source # gmapT :: (forall b. Data b => b -> b) -> PackageIdentifier -> PackageIdentifier Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r Source # gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifier -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifier -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier Source # | |||||
| Generic PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Associated Types
Methods from :: PackageIdentifier -> Rep PackageIdentifier x Source # to :: Rep PackageIdentifier x -> PackageIdentifier Source # | |||||
| Read PackageIdentifier | |||||
Defined in Distribution.Types.PackageId | |||||
| Show PackageIdentifier | |||||
Defined in Distribution.Types.PackageId | |||||
| Eq PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods (==) :: PackageIdentifier -> PackageIdentifier -> Bool Source # (/=) :: PackageIdentifier -> PackageIdentifier -> Bool Source # | |||||
| Ord PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods compare :: PackageIdentifier -> PackageIdentifier -> Ordering Source # (<) :: PackageIdentifier -> PackageIdentifier -> Bool Source # (<=) :: PackageIdentifier -> PackageIdentifier -> Bool Source # (>) :: PackageIdentifier -> PackageIdentifier -> Bool Source # (>=) :: PackageIdentifier -> PackageIdentifier -> Bool Source # max :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier Source # min :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier Source # | |||||
| type Rep PackageIdentifier | |||||
Defined in Distribution.Types.PackageId type Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-syntax-3.12.1.0-inplace" 'False) (C1 ('MetaCons "PackageIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version))) | |||||
The revision number of a package from Hackage, counting upwards from 0 (the original cabal file).
See caveats on CFIRevision.
Since: 0.1.0.0
Instances
| NFData Revision Source # | |||||
Defined in Pantry.Types | |||||
| Data Revision Source # | |||||
Defined in Pantry.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Revision -> c Revision Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Revision Source # toConstr :: Revision -> Constr Source # dataTypeOf :: Revision -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Revision) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Revision) Source # gmapT :: (forall b. Data b => b -> b) -> Revision -> Revision Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Revision -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Revision -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Revision -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Revision -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Revision -> m Revision Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Revision -> m Revision Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Revision -> m Revision Source # | |||||
| Generic Revision Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show Revision Source # | |||||
| Eq Revision Source # | |||||
| Ord Revision Source # | |||||
Defined in Pantry.Types | |||||
| Hashable Revision Source # | |||||
Defined in Pantry.Types | |||||
| PersistField Revision Source # | |||||
Defined in Pantry.Types Methods toPersistValue :: Revision -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text Revision Source # | |||||
| PersistFieldSql Revision Source # | |||||
| Display Revision Source # | |||||
Defined in Pantry.Types | |||||
| type Rep Revision Source # | |||||
Defined in Pantry.Types | |||||
data ModuleName Source #
A valid Haskell module name.
Instances
| Parsec ModuleName | |||||
Defined in Distribution.ModuleName Methods parsec :: CabalParsing m => m ModuleName Source # | |||||
| Pretty ModuleName | |||||
Defined in Distribution.ModuleName Methods pretty :: ModuleName -> Doc Source # prettyVersioned :: CabalSpecVersion -> ModuleName -> Doc Source # | |||||
| Structured ModuleName | |||||
Defined in Distribution.ModuleName | |||||
| Binary ModuleName | |||||
Defined in Distribution.ModuleName Methods put :: ModuleName -> Put Source # get :: Get ModuleName Source # putList :: [ModuleName] -> Put Source # | |||||
| NFData ModuleName | |||||
Defined in Distribution.ModuleName Methods rnf :: ModuleName -> () Source # | |||||
| Data ModuleName | |||||
Defined in Distribution.ModuleName Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleName -> c ModuleName Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleName Source # toConstr :: ModuleName -> Constr Source # dataTypeOf :: ModuleName -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ModuleName) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleName) Source # gmapT :: (forall b. Data b => b -> b) -> ModuleName -> ModuleName Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleName -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ModuleName -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleName -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleName -> m ModuleName Source # | |||||
| IsString ModuleName | Construct a This is just a convenience function intended for valid module strings. It is
an error if it is used with a string that is not a valid module name. If you
are parsing user input then use | ||||
Defined in Distribution.ModuleName Methods fromString :: String -> ModuleName Source # | |||||
| Generic ModuleName | |||||
Defined in Distribution.ModuleName Associated Types
| |||||
| Read ModuleName | |||||
Defined in Distribution.ModuleName | |||||
| Show ModuleName | |||||
Defined in Distribution.ModuleName | |||||
| Eq ModuleName | |||||
Defined in Distribution.ModuleName Methods (==) :: ModuleName -> ModuleName -> Bool Source # (/=) :: ModuleName -> ModuleName -> Bool Source # | |||||
| Ord ModuleName | |||||
Defined in Distribution.ModuleName Methods compare :: ModuleName -> ModuleName -> Ordering Source # (<) :: ModuleName -> ModuleName -> Bool Source # (<=) :: ModuleName -> ModuleName -> Bool Source # (>) :: ModuleName -> ModuleName -> Bool Source # (>=) :: ModuleName -> ModuleName -> Bool Source # max :: ModuleName -> ModuleName -> ModuleName Source # min :: ModuleName -> ModuleName -> ModuleName Source # | |||||
| Pretty ModuleName | |||||
Defined in Text.PrettyPrint.Leijen.Extended Methods pretty :: ModuleName -> StyleDoc Source # | |||||
| ModSubst (Set ModuleName) | |||||
Defined in Distribution.Backpack.ModSubst Methods modSubst :: OpenModuleSubst -> Set ModuleName -> Set ModuleName Source # | |||||
| Newtype [(ModuleName, OpenModule)] InstWith | |||||
Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar Methods pack :: [(ModuleName, OpenModule)] -> InstWith Source # unpack :: InstWith -> [(ModuleName, OpenModule)] Source # | |||||
| type Rep ModuleName | |||||
Defined in Distribution.ModuleName type Rep ModuleName = D1 ('MetaData "ModuleName" "Distribution.ModuleName" "Cabal-syntax-3.12.1.0-inplace" 'True) (C1 ('MetaCons "ModuleName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText))) | |||||
data CabalFileInfo Source #
How to choose a cabal file for a package from Hackage. This is to work with
Hackage cabal file revisions, which makes PackageIdentifier insufficient
for specifying a package from Hackage.
Since: 0.1.0.0
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. Since: 0.1.0.0 |
| CFIHash !SHA256 !(Maybe FileSize) | Identify by contents of the cabal file itself. Only reason for
Since: 0.1.0.0 |
| CFIRevision !Revision | Identify by revision number, with 0 being the original and
counting upward. This relies on Hackage providing consistent
versioning. Since: 0.1.0.0 |
Instances
| NFData CabalFileInfo Source # | |||||
Defined in Pantry.Types Methods rnf :: CabalFileInfo -> () Source # | |||||
| Generic CabalFileInfo Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: CabalFileInfo -> Rep CabalFileInfo x Source # to :: Rep CabalFileInfo x -> CabalFileInfo Source # | |||||
| Show CabalFileInfo Source # | |||||
Defined in Pantry.Types | |||||
| Eq CabalFileInfo Source # | |||||
Defined in Pantry.Types Methods (==) :: CabalFileInfo -> CabalFileInfo -> Bool Source # (/=) :: CabalFileInfo -> CabalFileInfo -> Bool Source # | |||||
| Ord CabalFileInfo Source # | |||||
Defined in Pantry.Types Methods compare :: CabalFileInfo -> CabalFileInfo -> Ordering Source # (<) :: CabalFileInfo -> CabalFileInfo -> Bool Source # (<=) :: CabalFileInfo -> CabalFileInfo -> Bool Source # (>) :: CabalFileInfo -> CabalFileInfo -> Bool Source # (>=) :: CabalFileInfo -> CabalFileInfo -> Bool Source # max :: CabalFileInfo -> CabalFileInfo -> CabalFileInfo Source # min :: CabalFileInfo -> CabalFileInfo -> CabalFileInfo Source # | |||||
| Hashable CabalFileInfo Source # | |||||
Defined in Pantry.Types | |||||
| Display CabalFileInfo Source # | |||||
Defined in Pantry.Types Methods display :: CabalFileInfo -> Utf8Builder Source # textDisplay :: CabalFileInfo -> Text Source # | |||||
| type Rep CabalFileInfo Source # | |||||
Defined in Pantry.Types type Rep CabalFileInfo = D1 ('MetaData "CabalFileInfo" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "CFILatest" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CFIHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SHA256) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FileSize))) :+: C1 ('MetaCons "CFIRevision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Revision)))) | |||||
data PrintWarnings Source #
Should we print warnings when loading a cabal file?
Since: 0.1.0.0
Constructors
| YesPrintWarnings | |
| NoPrintWarnings |
newtype PackageNameP Source #
Constructors
| PackageNameP | |
Fields | |
Instances
| FromJSON PackageNameP Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser PackageNameP Source # parseJSONList :: Value -> Parser [PackageNameP] Source # | |
| FromJSONKey PackageNameP Source # | |
Defined in Pantry.Types | |
| ToJSON PackageNameP Source # | |
Defined in Pantry.Types Methods toJSON :: PackageNameP -> Value Source # toEncoding :: PackageNameP -> Encoding Source # toJSONList :: [PackageNameP] -> Value Source # toEncodingList :: [PackageNameP] -> Encoding Source # omitField :: PackageNameP -> Bool Source # | |
| ToJSONKey PackageNameP Source # | |
Defined in Pantry.Types | |
| NFData PackageNameP Source # | |
Defined in Pantry.Types Methods rnf :: PackageNameP -> () Source # | |
| Read PackageNameP Source # | |
Defined in Pantry.Types | |
| Show PackageNameP Source # | |
Defined in Pantry.Types | |
| Eq PackageNameP Source # | |
Defined in Pantry.Types Methods (==) :: PackageNameP -> PackageNameP -> Bool Source # (/=) :: PackageNameP -> PackageNameP -> Bool Source # | |
| Ord PackageNameP Source # | |
Defined in Pantry.Types Methods compare :: PackageNameP -> PackageNameP -> Ordering Source # (<) :: PackageNameP -> PackageNameP -> Bool Source # (<=) :: PackageNameP -> PackageNameP -> Bool Source # (>) :: PackageNameP -> PackageNameP -> Bool Source # (>=) :: PackageNameP -> PackageNameP -> Bool Source # max :: PackageNameP -> PackageNameP -> PackageNameP Source # min :: PackageNameP -> PackageNameP -> PackageNameP Source # | |
| PersistField PackageNameP Source # | |
Defined in Pantry.Types Methods toPersistValue :: PackageNameP -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text PackageNameP Source # | |
| PersistFieldSql PackageNameP Source # | |
Defined in Pantry.Types | |
| Display PackageNameP Source # | |
Defined in Pantry.Types | |
Constructors
| VersionP | |
Fields | |
Instances
| FromJSON VersionP Source # | |
| ToJSON VersionP Source # | |
| NFData VersionP Source # | |
Defined in Pantry.Types | |
| Read VersionP Source # | |
| Show VersionP Source # | |
| Eq VersionP Source # | |
| Ord VersionP Source # | |
Defined in Pantry.Types | |
| PersistField VersionP Source # | |
Defined in Pantry.Types Methods toPersistValue :: VersionP -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text VersionP Source # | |
| PersistFieldSql VersionP Source # | |
| Display VersionP Source # | |
Defined in Pantry.Types | |
newtype ModuleNameP Source #
Constructors
| ModuleNameP | |
Fields | |
Instances
| NFData ModuleNameP Source # | |
Defined in Pantry.Types Methods rnf :: ModuleNameP -> () Source # | |
| Show ModuleNameP Source # | |
Defined in Pantry.Types | |
| Eq ModuleNameP Source # | |
Defined in Pantry.Types Methods (==) :: ModuleNameP -> ModuleNameP -> Bool Source # (/=) :: ModuleNameP -> ModuleNameP -> Bool Source # | |
| Ord ModuleNameP Source # | |
Defined in Pantry.Types Methods compare :: ModuleNameP -> ModuleNameP -> Ordering Source # (<) :: ModuleNameP -> ModuleNameP -> Bool Source # (<=) :: ModuleNameP -> ModuleNameP -> Bool Source # (>) :: ModuleNameP -> ModuleNameP -> Bool Source # (>=) :: ModuleNameP -> ModuleNameP -> Bool Source # max :: ModuleNameP -> ModuleNameP -> ModuleNameP Source # min :: ModuleNameP -> ModuleNameP -> ModuleNameP Source # | |
| PersistField ModuleNameP Source # | |
Defined in Pantry.Types Methods toPersistValue :: ModuleNameP -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text ModuleNameP Source # | |
| PersistFieldSql ModuleNameP Source # | |
Defined in Pantry.Types | |
| Display ModuleNameP Source # | |
Defined in Pantry.Types | |
data PackageIdentifierRevision Source #
A full specification for a package from Hackage, including the package name, version, and how to load up the correct cabal file revision.
Since: 0.1.0.0
Constructors
| PackageIdentifierRevision !PackageName !Version !CabalFileInfo |
Instances
| FromJSON PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types | |||||
| ToJSON PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Methods toJSON :: PackageIdentifierRevision -> Value Source # toEncoding :: PackageIdentifierRevision -> Encoding Source # toJSONList :: [PackageIdentifierRevision] -> Value Source # toEncodingList :: [PackageIdentifierRevision] -> Encoding Source # | |||||
| NFData PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Methods rnf :: PackageIdentifierRevision -> () Source # | |||||
| Generic PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: PackageIdentifierRevision -> Rep PackageIdentifierRevision x Source # to :: Rep PackageIdentifierRevision x -> PackageIdentifierRevision Source # | |||||
| Show PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types | |||||
| Eq PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Methods (==) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # (/=) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # | |||||
| Ord PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Methods compare :: PackageIdentifierRevision -> PackageIdentifierRevision -> Ordering Source # (<) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # (<=) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # (>) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # (>=) :: PackageIdentifierRevision -> PackageIdentifierRevision -> Bool Source # max :: PackageIdentifierRevision -> PackageIdentifierRevision -> PackageIdentifierRevision Source # min :: PackageIdentifierRevision -> PackageIdentifierRevision -> PackageIdentifierRevision Source # | |||||
| Display PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types Methods display :: PackageIdentifierRevision -> Utf8Builder Source # | |||||
| type Rep PackageIdentifierRevision Source # | |||||
Defined in Pantry.Types type Rep PackageIdentifierRevision = D1 ('MetaData "PackageIdentifierRevision" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "PackageIdentifierRevision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Version) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CabalFileInfo)))) | |||||
pirForHash :: PackageIdentifier -> BlobKey -> PackageIdentifierRevision Source #
Package identifier and revision with a specified cabal file hash
Since: 0.1.0.0
Constructors
| FTNormal | |
| FTExecutable |
Instances
| Bounded FileType Source # | |
| Enum FileType Source # | |
Defined in Pantry.Types Methods succ :: FileType -> FileType Source # pred :: FileType -> FileType Source # toEnum :: Int -> FileType Source # fromEnum :: FileType -> Int Source # enumFrom :: FileType -> [FileType] Source # enumFromThen :: FileType -> FileType -> [FileType] Source # enumFromTo :: FileType -> FileType -> [FileType] Source # enumFromThenTo :: FileType -> FileType -> FileType -> [FileType] Source # | |
| Show FileType Source # | |
| Eq FileType Source # | |
| Ord FileType Source # | |
Defined in Pantry.Types | |
| PersistField FileType Source # | |
Defined in Pantry.Types Methods toPersistValue :: FileType -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text FileType Source # | |
| PersistFieldSql FileType Source # | |
Constructors
| BFCabal !SafeFilePath !TreeEntry | |
| BFHpack !TreeEntry |
File size in bytes
Since: 0.1.0.0
Instances
| FromJSON FileSize Source # | |||||
| ToJSON FileSize Source # | |||||
| NFData FileSize Source # | |||||
Defined in Pantry.Types | |||||
| Generic FileSize Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show FileSize Source # | |||||
| Eq FileSize Source # | |||||
| Ord FileSize Source # | |||||
Defined in Pantry.Types | |||||
| Hashable FileSize Source # | |||||
Defined in Pantry.Types | |||||
| PersistField FileSize Source # | |||||
Defined in Pantry.Types Methods toPersistValue :: FileSize -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text FileSize Source # | |||||
| PersistFieldSql FileSize Source # | |||||
| Display FileSize Source # | |||||
Defined in Pantry.Types | |||||
| type Rep FileSize Source # | |||||
Defined in Pantry.Types | |||||
Instances
| Show TreeEntry Source # | |
| Eq TreeEntry Source # | |
| Ord TreeEntry Source # | |
Defined in Pantry.Types | |
data SafeFilePath Source #
Instances
| Show SafeFilePath Source # | |
Defined in Pantry.Types | |
| Eq SafeFilePath Source # | |
Defined in Pantry.Types Methods (==) :: SafeFilePath -> SafeFilePath -> Bool Source # (/=) :: SafeFilePath -> SafeFilePath -> Bool Source # | |
| Ord SafeFilePath Source # | |
Defined in Pantry.Types Methods compare :: SafeFilePath -> SafeFilePath -> Ordering Source # (<) :: SafeFilePath -> SafeFilePath -> Bool Source # (<=) :: SafeFilePath -> SafeFilePath -> Bool Source # (>) :: SafeFilePath -> SafeFilePath -> Bool Source # (>=) :: SafeFilePath -> SafeFilePath -> Bool Source # max :: SafeFilePath -> SafeFilePath -> SafeFilePath Source # min :: SafeFilePath -> SafeFilePath -> SafeFilePath Source # | |
| PersistField SafeFilePath Source # | |
Defined in Pantry.Types Methods toPersistValue :: SafeFilePath -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text SafeFilePath Source # | |
| PersistFieldSql SafeFilePath Source # | |
Defined in Pantry.Types | |
| Display SafeFilePath Source # | |
Defined in Pantry.Types | |
unSafeFilePath :: SafeFilePath -> Text Source #
mkSafeFilePath :: Text -> Maybe SafeFilePath Source #
safeFilePathToPath :: MonadThrow m => Path Abs Dir -> SafeFilePath -> m (Path Abs File) Source #
hpackSafeFilePath :: SafeFilePath Source #
SafeFilePath for `package.yaml` file.
The hash of the binary representation of a Tree.
Since: 0.1.0.0
Instances
| FromJSON TreeKey Source # | |||||
| ToJSON TreeKey Source # | |||||
| NFData TreeKey Source # | |||||
Defined in Pantry.Types | |||||
| Generic TreeKey Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show TreeKey Source # | |||||
| Eq TreeKey Source # | |||||
| Ord TreeKey Source # | |||||
| Display TreeKey Source # | |||||
Defined in Pantry.Types | |||||
| type Rep TreeKey Source # | |||||
Defined in Pantry.Types | |||||
Represents the contents of a tree, which is a mapping from
relative file paths to TreeEntrys.
Since: 0.1.0.0
Constructors
| TreeMap (Map SafeFilePath TreeEntry) |
renderTree :: Tree -> ByteString Source #
parseTreeM :: MonadThrow m => (BlobKey, ByteString) -> m (TreeKey, Tree) Source #
A SHA256 hash, stored in a static size for more efficient memory representation.
Since: 0.1.0.0
Instances
| FromJSON SHA256 Source # | |||||
| ToJSON SHA256 Source # | |||||
| NFData SHA256 Source # | |||||
Defined in Pantry.SHA256 | |||||
| Data SHA256 Source # | |||||
Defined in Pantry.SHA256 Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SHA256 -> c SHA256 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SHA256 Source # toConstr :: SHA256 -> Constr Source # dataTypeOf :: SHA256 -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SHA256) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SHA256) Source # gmapT :: (forall b. Data b => b -> b) -> SHA256 -> SHA256 Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SHA256 -> r Source # gmapQ :: (forall d. Data d => d -> u) -> SHA256 -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> SHA256 -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SHA256 -> m SHA256 Source # | |||||
| Generic SHA256 Source # | |||||
Defined in Pantry.SHA256 Associated Types
| |||||
| Show SHA256 Source # | |||||
| Eq SHA256 Source # | |||||
| Ord SHA256 Source # | |||||
| Hashable SHA256 Source # | |||||
Defined in Pantry.SHA256 | |||||
| PersistField SHA256 Source # | |||||
Defined in Pantry.SHA256 Methods toPersistValue :: SHA256 -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text SHA256 Source # | |||||
| PersistFieldSql SHA256 Source # | |||||
| Display SHA256 Source # | |||||
Defined in Pantry.SHA256 | |||||
| type Rep SHA256 Source # | |||||
Defined in Pantry.SHA256 | |||||
data Unresolved a Source #
Wraps a value which potentially contains relative paths. Needs to be provided with a base directory to resolve these paths.
Unwrap this using resolvePaths.
Since: 0.1.0.0
Instances
| Applicative Unresolved Source # | |
Defined in Pantry.Types Methods pure :: a -> Unresolved a Source # (<*>) :: Unresolved (a -> b) -> Unresolved a -> Unresolved b Source # liftA2 :: (a -> b -> c) -> Unresolved a -> Unresolved b -> Unresolved c Source # (*>) :: Unresolved a -> Unresolved b -> Unresolved b Source # (<*) :: Unresolved a -> Unresolved b -> Unresolved a Source # | |
| Functor Unresolved Source # | |
Defined in Pantry.Types Methods fmap :: (a -> b) -> Unresolved a -> Unresolved b Source # (<$) :: a -> Unresolved b -> Unresolved a Source # | |
| FromJSON (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # | |
| FromJSON (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # | |
| FromJSON (WithJSONWarnings (Unresolved GlobalHintsLocation)) Source # | |
Defined in Pantry.Types | |
| FromJSON (WithJSONWarnings (Unresolved PackageLocationImmutable)) Source # | |
Defined in Pantry.Types | |
| FromJSON (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved RawSnapshotLayer)] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # | |
| FromJSON (WithJSONWarnings (Unresolved RawSnapshotLocation)) Source # | |
Defined in Pantry.Types | |
| FromJSON (WithJSONWarnings (Unresolved SnapshotLocation)) Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved SnapshotLocation)) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved SnapshotLocation)] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved SnapshotLocation)) Source # | |
Arguments
| :: MonadIO m | |
| => Maybe (Path Abs Dir) | directory to use for relative paths |
| -> Unresolved a | |
| -> m a |
Resolve all of the file paths in an Unresolved relative to the given
directory.
Since: 0.1.0.0
Parsed tree with more information on the Haskell package it contains.
Since: 0.1.0.0
Constructors
| Package | |
Fields
| |
Instances
| Show Package Source # | |
| Eq Package Source # | |
| Ord Package Source # | |
data PackageCabal Source #
Constructors
| PCCabalFile !TreeEntry | TreeEntry of Cabal file |
| PCHpack !PHpack |
Instances
| Show PackageCabal Source # | |
Defined in Pantry.Types | |
| Eq PackageCabal Source # | |
Defined in Pantry.Types Methods (==) :: PackageCabal -> PackageCabal -> Bool Source # (/=) :: PackageCabal -> PackageCabal -> Bool Source # | |
| Ord PackageCabal Source # | |
Defined in Pantry.Types Methods compare :: PackageCabal -> PackageCabal -> Ordering Source # (<) :: PackageCabal -> PackageCabal -> Bool Source # (<=) :: PackageCabal -> PackageCabal -> Bool Source # (>) :: PackageCabal -> PackageCabal -> Bool Source # (>=) :: PackageCabal -> PackageCabal -> Bool Source # max :: PackageCabal -> PackageCabal -> PackageCabal Source # min :: PackageCabal -> PackageCabal -> PackageCabal Source # | |
Constructors
| PHpack | |
Fields
| |
Instances
| Show PHpack Source # | |
| Eq PHpack Source # | |
| Ord PHpack Source # | |
data RawPackageLocation Source #
Location to load a package from. Can either be immutable (see
PackageLocationImmutable) or a local directory which is expected to change
over time. Raw version doesn't include exact package version (e.g. could
refer to the latest revision on Hackage)
Since: 0.1.0.0
Constructors
| RPLImmutable !RawPackageLocationImmutable | |
| RPLMutable !(ResolvedPath Dir) |
Instances
| ToJSON RawPackageLocation Source # | |||||
Defined in Pantry.Types Methods toJSON :: RawPackageLocation -> Value Source # toEncoding :: RawPackageLocation -> Encoding Source # toJSONList :: [RawPackageLocation] -> Value Source # toEncodingList :: [RawPackageLocation] -> Encoding Source # omitField :: RawPackageLocation -> Bool Source # | |||||
| NFData RawPackageLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: RawPackageLocation -> () Source # | |||||
| Generic RawPackageLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: RawPackageLocation -> Rep RawPackageLocation x Source # to :: Rep RawPackageLocation x -> RawPackageLocation Source # | |||||
| Show RawPackageLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawPackageLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: RawPackageLocation -> RawPackageLocation -> Bool Source # (/=) :: RawPackageLocation -> RawPackageLocation -> Bool Source # | |||||
| FromJSON (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocation))) Source # | |||||
| type Rep RawPackageLocation Source # | |||||
Defined in Pantry.Types type Rep RawPackageLocation = D1 ('MetaData "RawPackageLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "RPLImmutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawPackageLocationImmutable)) :+: C1 ('MetaCons "RPLMutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath Dir)))) | |||||
data PackageLocation Source #
Location to load a package from. Can either be immutable (see
PackageLocationImmutable) or a local directory which is expected to change
over time.
Since: 0.1.0.0
Constructors
| PLImmutable !PackageLocationImmutable | |
| PLMutable !(ResolvedPath Dir) |
Instances
| NFData PackageLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: PackageLocation -> () Source # | |||||
| Generic PackageLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: PackageLocation -> Rep PackageLocation x Source # to :: Rep PackageLocation x -> PackageLocation Source # | |||||
| Show PackageLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq PackageLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: PackageLocation -> PackageLocation -> Bool Source # (/=) :: PackageLocation -> PackageLocation -> Bool Source # | |||||
| Display PackageLocation Source # | |||||
Defined in Pantry.Types Methods display :: PackageLocation -> Utf8Builder Source # textDisplay :: PackageLocation -> Text Source # | |||||
| type Rep PackageLocation Source # | |||||
Defined in Pantry.Types type Rep PackageLocation = D1 ('MetaData "PackageLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "PLImmutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageLocationImmutable)) :+: C1 ('MetaCons "PLMutable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath Dir)))) | |||||
toRawPL :: PackageLocation -> RawPackageLocation Source #
Convert PackageLocation to its "raw" equivalent
Since: 0.1.0.0
data RawPackageLocationImmutable Source #
Location for remote packages or archives assumed to be immutable. as user specifies it i.e. not an exact location
Since: 0.1.0.0
Constructors
| RPLIHackage !PackageIdentifierRevision !(Maybe TreeKey) | |
| RPLIArchive !RawArchive !RawPackageMetadata | |
| RPLIRepo !Repo !RawPackageMetadata |
Instances
| ToJSON RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods toJSON :: RawPackageLocationImmutable -> Value Source # toEncoding :: RawPackageLocationImmutable -> Encoding Source # toJSONList :: [RawPackageLocationImmutable] -> Value Source # toEncodingList :: [RawPackageLocationImmutable] -> Encoding Source # | |||||
| NFData RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods rnf :: RawPackageLocationImmutable -> () Source # | |||||
| Generic RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods (==) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # (/=) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # | |||||
| Ord RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods compare :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Ordering Source # (<) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # (<=) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # (>) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # (>=) :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> Bool Source # max :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> RawPackageLocationImmutable Source # min :: RawPackageLocationImmutable -> RawPackageLocationImmutable -> RawPackageLocationImmutable Source # | |||||
| Display RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods display :: RawPackageLocationImmutable -> Utf8Builder Source # | |||||
| Pretty RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods | |||||
| FromJSON (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved (NonEmpty RawPackageLocationImmutable))) Source # | |||||
| type Rep RawPackageLocationImmutable Source # | |||||
Defined in Pantry.Types type Rep RawPackageLocationImmutable = D1 ('MetaData "RawPackageLocationImmutable" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "RPLIHackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageIdentifierRevision) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TreeKey))) :+: (C1 ('MetaCons "RPLIArchive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawArchive) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawPackageMetadata)) :+: C1 ('MetaCons "RPLIRepo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Repo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawPackageMetadata)))) | |||||
data PackageLocationImmutable Source #
Location for remote packages or archives assumed to be immutable.
Since: 0.1.0.0
Constructors
| PLIHackage !PackageIdentifier !BlobKey !TreeKey | |
| PLIArchive !Archive !PackageMetadata | |
| PLIRepo !Repo !PackageMetadata |
Instances
| ToJSON PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods toJSON :: PackageLocationImmutable -> Value Source # toEncoding :: PackageLocationImmutable -> Encoding Source # toJSONList :: [PackageLocationImmutable] -> Value Source # toEncodingList :: [PackageLocationImmutable] -> Encoding Source # | |||||
| NFData PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods rnf :: PackageLocationImmutable -> () Source # | |||||
| Generic PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: PackageLocationImmutable -> Rep PackageLocationImmutable x Source # to :: Rep PackageLocationImmutable x -> PackageLocationImmutable Source # | |||||
| Show PackageLocationImmutable Source # | |||||
Defined in Pantry.Types | |||||
| Eq PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods (==) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # (/=) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # | |||||
| Ord PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods compare :: PackageLocationImmutable -> PackageLocationImmutable -> Ordering Source # (<) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # (<=) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # (>) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # (>=) :: PackageLocationImmutable -> PackageLocationImmutable -> Bool Source # max :: PackageLocationImmutable -> PackageLocationImmutable -> PackageLocationImmutable Source # min :: PackageLocationImmutable -> PackageLocationImmutable -> PackageLocationImmutable Source # | |||||
| Display PackageLocationImmutable Source # | |||||
Defined in Pantry.Types Methods | |||||
| FromJSON (WithJSONWarnings (Unresolved PackageLocationImmutable)) Source # | |||||
Defined in Pantry.Types | |||||
| type Rep PackageLocationImmutable Source # | |||||
Defined in Pantry.Types type Rep PackageLocationImmutable = D1 ('MetaData "PackageLocationImmutable" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "PLIHackage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageIdentifier) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlobKey) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TreeKey))) :+: (C1 ('MetaCons "PLIArchive" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Archive) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageMetadata)) :+: C1 ('MetaCons "PLIRepo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Repo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageMetadata)))) | |||||
toRawPLI :: PackageLocationImmutable -> RawPackageLocationImmutable Source #
Convert PackageLocationImmutable to its "raw" equivalent
Since: 0.1.0.0
data RawArchive Source #
A raw package archive, specified by a user, could have no hash and file size information.
Since: 0.1.0.0
Constructors
| RawArchive | |
Fields
| |
Instances
| NFData RawArchive Source # | |||||
Defined in Pantry.Types Methods rnf :: RawArchive -> () Source # | |||||
| Generic RawArchive Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show RawArchive Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawArchive Source # | |||||
Defined in Pantry.Types Methods (==) :: RawArchive -> RawArchive -> Bool Source # (/=) :: RawArchive -> RawArchive -> Bool Source # | |||||
| Ord RawArchive Source # | |||||
Defined in Pantry.Types Methods compare :: RawArchive -> RawArchive -> Ordering Source # (<) :: RawArchive -> RawArchive -> Bool Source # (<=) :: RawArchive -> RawArchive -> Bool Source # (>) :: RawArchive -> RawArchive -> Bool Source # (>=) :: RawArchive -> RawArchive -> Bool Source # max :: RawArchive -> RawArchive -> RawArchive Source # min :: RawArchive -> RawArchive -> RawArchive Source # | |||||
| type Rep RawArchive Source # | |||||
Defined in Pantry.Types type Rep RawArchive = D1 ('MetaData "RawArchive" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "RawArchive" 'PrefixI 'True) ((S1 ('MetaSel ('Just "raLocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ArchiveLocation) :*: S1 ('MetaSel ('Just "raHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe SHA256))) :*: (S1 ('MetaSel ('Just "raSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FileSize)) :*: S1 ('MetaSel ('Just "raSubdir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) | |||||
A package archive, could be from a URL or a local file path. Local file path archives are assumed to be unchanging over time, and so are allowed in custom snapshots.
Since: 0.1.0.0
Constructors
| Archive | |
Fields
| |
Instances
| NFData Archive Source # | |||||
Defined in Pantry.Types | |||||
| Generic Archive Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show Archive Source # | |||||
| Eq Archive Source # | |||||
| Ord Archive Source # | |||||
| type Rep Archive Source # | |||||
Defined in Pantry.Types type Rep Archive = D1 ('MetaData "Archive" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "Archive" 'PrefixI 'True) ((S1 ('MetaSel ('Just "archiveLocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ArchiveLocation) :*: S1 ('MetaSel ('Just "archiveHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SHA256)) :*: (S1 ('MetaSel ('Just "archiveSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FileSize) :*: S1 ('MetaSel ('Just "archiveSubdir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) | |||||
toRawArchive :: Archive -> RawArchive Source #
Convert archive to its "raw" equivalent.
Since: 0.1.0.0
Information on packages stored in a source control repository.
Since: 0.1.0.0
Constructors
| Repo | |
Fields
| |
Instances
| NFData Repo Source # | |||||
Defined in Pantry.Types | |||||
| Generic Repo Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show Repo Source # | |||||
| Eq Repo Source # | |||||
| Ord Repo Source # | |||||
| Display Repo Source # | |||||
Defined in Pantry.Types | |||||
| type Rep Repo Source # | |||||
Defined in Pantry.Types type Rep Repo = D1 ('MetaData "Repo" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "Repo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repoUrl") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "repoCommit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "repoType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RepoType) :*: S1 ('MetaSel ('Just "repoSubdir") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) | |||||
data AggregateRepo Source #
Constructors
| AggregateRepo | |
Fields
| |
Instances
| Generic AggregateRepo Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: AggregateRepo -> Rep AggregateRepo x Source # to :: Rep AggregateRepo x -> AggregateRepo Source # | |||||
| Show AggregateRepo Source # | |||||
Defined in Pantry.Types | |||||
| Eq AggregateRepo Source # | |||||
Defined in Pantry.Types Methods (==) :: AggregateRepo -> AggregateRepo -> Bool Source # (/=) :: AggregateRepo -> AggregateRepo -> Bool Source # | |||||
| Ord AggregateRepo Source # | |||||
Defined in Pantry.Types Methods compare :: AggregateRepo -> AggregateRepo -> Ordering Source # (<) :: AggregateRepo -> AggregateRepo -> Bool Source # (<=) :: AggregateRepo -> AggregateRepo -> Bool Source # (>) :: AggregateRepo -> AggregateRepo -> Bool Source # (>=) :: AggregateRepo -> AggregateRepo -> Bool Source # max :: AggregateRepo -> AggregateRepo -> AggregateRepo Source # min :: AggregateRepo -> AggregateRepo -> AggregateRepo Source # | |||||
| type Rep AggregateRepo Source # | |||||
Defined in Pantry.Types type Rep AggregateRepo = D1 ('MetaData "AggregateRepo" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "AggregateRepo" 'PrefixI 'True) (S1 ('MetaSel ('Just "aRepo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SimpleRepo) :*: S1 ('MetaSel ('Just "aRepoSubdirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Text, RawPackageMetadata)]))) | |||||
data SimpleRepo Source #
Repository without subdirectory information.
Since: 0.5.3
Constructors
| SimpleRepo | |
Instances
| Generic SimpleRepo Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show SimpleRepo Source # | |||||
Defined in Pantry.Types | |||||
| Eq SimpleRepo Source # | |||||
Defined in Pantry.Types Methods (==) :: SimpleRepo -> SimpleRepo -> Bool Source # (/=) :: SimpleRepo -> SimpleRepo -> Bool Source # | |||||
| Ord SimpleRepo Source # | |||||
Defined in Pantry.Types Methods compare :: SimpleRepo -> SimpleRepo -> Ordering Source # (<) :: SimpleRepo -> SimpleRepo -> Bool Source # (<=) :: SimpleRepo -> SimpleRepo -> Bool Source # (>) :: SimpleRepo -> SimpleRepo -> Bool Source # (>=) :: SimpleRepo -> SimpleRepo -> Bool Source # max :: SimpleRepo -> SimpleRepo -> SimpleRepo Source # min :: SimpleRepo -> SimpleRepo -> SimpleRepo Source # | |||||
| Display SimpleRepo Source # | |||||
Defined in Pantry.Types | |||||
| type Rep SimpleRepo Source # | |||||
Defined in Pantry.Types type Rep SimpleRepo = D1 ('MetaData "SimpleRepo" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "SimpleRepo" 'PrefixI 'True) (S1 ('MetaSel ('Just "sRepoUrl") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "sRepoCommit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "sRepoType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RepoType)))) | |||||
toAggregateRepos :: [(Repo, RawPackageMetadata)] -> [AggregateRepo] Source #
Group input repositories by non-subdir values.
rToSimpleRepo :: Repo -> SimpleRepo Source #
The type of a source control repository.
Since: 0.1.0.0
Instances
| NFData RepoType Source # | |
Defined in Pantry.Types | |
| Generic RepoType Source # | |
Defined in Pantry.Types | |
| Show RepoType Source # | |
| Eq RepoType Source # | |
| Ord RepoType Source # | |
Defined in Pantry.Types | |
| PersistField RepoType Source # | |
Defined in Pantry.Types Methods toPersistValue :: RepoType -> PersistValue Source # fromPersistValue :: PersistValue -> Either Text RepoType Source # | |
| PersistFieldSql RepoType Source # | |
| type Rep RepoType Source # | |
parsePackageIdentifier :: String -> Maybe PackageIdentifier Source #
This is almost a copy of Cabal's parser for package identifiers, the main difference is in the fact that Stack requires version to be present while Cabal uses "null version" as a default value
Since: 0.1.0.0
parsePackageName :: String -> Maybe PackageName Source #
Parse a package name from a String.
Since: 0.1.0.0
parsePackageNameThrowing :: MonadThrow m => String -> m PackageName Source #
Parse a package name from a String throwing on failure
Since: 0.1.0.0
parseVersionThrowing :: MonadThrow m => String -> m Version Source #
Parse a package version from a String throwing on failure
Since: 0.1.0.0
packageIdentifierString :: PackageIdentifier -> String Source #
Render a package identifier as a String.
Since: 0.1.0.0
packageNameString :: PackageName -> String Source #
Render a package name as a String.
Since: 0.1.0.0
moduleNameString :: ModuleName -> String Source #
Render a module name as a String.
Since: 0.1.0.0
data OptionalSubdirs Source #
Constructors
| OSSubdirs !(NonEmpty Text) | |
| OSPackageMetadata !Text !RawPackageMetadata | subdirectory and package metadata |
Instances
| NFData OptionalSubdirs Source # | |||||
Defined in Pantry.Types Methods rnf :: OptionalSubdirs -> () Source # | |||||
| Generic OptionalSubdirs Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: OptionalSubdirs -> Rep OptionalSubdirs x Source # to :: Rep OptionalSubdirs x -> OptionalSubdirs Source # | |||||
| Show OptionalSubdirs Source # | |||||
Defined in Pantry.Types | |||||
| Eq OptionalSubdirs Source # | |||||
Defined in Pantry.Types Methods (==) :: OptionalSubdirs -> OptionalSubdirs -> Bool Source # (/=) :: OptionalSubdirs -> OptionalSubdirs -> Bool Source # | |||||
| type Rep OptionalSubdirs Source # | |||||
Defined in Pantry.Types type Rep OptionalSubdirs = D1 ('MetaData "OptionalSubdirs" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "OSSubdirs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NonEmpty Text))) :+: C1 ('MetaCons "OSPackageMetadata" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawPackageMetadata))) | |||||
data ArchiveLocation Source #
Location that an archive is stored at
Since: 0.1.0.0
Constructors
| ALUrl !Text | Archive stored at an HTTP(S) URL Since: 0.1.0.0 |
| ALFilePath !(ResolvedPath File) | Archive stored at a local file path Since: 0.1.0.0 |
Instances
| NFData ArchiveLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: ArchiveLocation -> () Source # | |||||
| Generic ArchiveLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: ArchiveLocation -> Rep ArchiveLocation x Source # to :: Rep ArchiveLocation x -> ArchiveLocation Source # | |||||
| Show ArchiveLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq ArchiveLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: ArchiveLocation -> ArchiveLocation -> Bool Source # (/=) :: ArchiveLocation -> ArchiveLocation -> Bool Source # | |||||
| Ord ArchiveLocation Source # | |||||
Defined in Pantry.Types Methods compare :: ArchiveLocation -> ArchiveLocation -> Ordering Source # (<) :: ArchiveLocation -> ArchiveLocation -> Bool Source # (<=) :: ArchiveLocation -> ArchiveLocation -> Bool Source # (>) :: ArchiveLocation -> ArchiveLocation -> Bool Source # (>=) :: ArchiveLocation -> ArchiveLocation -> Bool Source # max :: ArchiveLocation -> ArchiveLocation -> ArchiveLocation Source # min :: ArchiveLocation -> ArchiveLocation -> ArchiveLocation Source # | |||||
| Display ArchiveLocation Source # | |||||
Defined in Pantry.Types Methods display :: ArchiveLocation -> Utf8Builder Source # textDisplay :: ArchiveLocation -> Text Source # | |||||
| Pretty ArchiveLocation Source # | |||||
Defined in Pantry.Types Methods pretty :: ArchiveLocation -> StyleDoc Source # | |||||
| type Rep ArchiveLocation Source # | |||||
Defined in Pantry.Types type Rep ArchiveLocation = D1 ('MetaData "ArchiveLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "ALUrl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "ALFilePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath File)))) | |||||
newtype RelFilePath Source #
File path relative to the configuration file it was parsed from
Since: 0.1.0.0
Constructors
| RelFilePath Text |
Instances
| FromJSON RelFilePath Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser RelFilePath Source # parseJSONList :: Value -> Parser [RelFilePath] Source # | |||||
| ToJSON RelFilePath Source # | |||||
Defined in Pantry.Types Methods toJSON :: RelFilePath -> Value Source # toEncoding :: RelFilePath -> Encoding Source # toJSONList :: [RelFilePath] -> Value Source # toEncodingList :: [RelFilePath] -> Encoding Source # omitField :: RelFilePath -> Bool Source # | |||||
| NFData RelFilePath Source # | |||||
Defined in Pantry.Types Methods rnf :: RelFilePath -> () Source # | |||||
| Generic RelFilePath Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: RelFilePath -> Rep RelFilePath x Source # to :: Rep RelFilePath x -> RelFilePath Source # | |||||
| Show RelFilePath Source # | |||||
Defined in Pantry.Types | |||||
| Eq RelFilePath Source # | |||||
Defined in Pantry.Types Methods (==) :: RelFilePath -> RelFilePath -> Bool Source # (/=) :: RelFilePath -> RelFilePath -> Bool Source # | |||||
| Ord RelFilePath Source # | |||||
Defined in Pantry.Types Methods compare :: RelFilePath -> RelFilePath -> Ordering Source # (<) :: RelFilePath -> RelFilePath -> Bool Source # (<=) :: RelFilePath -> RelFilePath -> Bool Source # (>) :: RelFilePath -> RelFilePath -> Bool Source # (>=) :: RelFilePath -> RelFilePath -> Bool Source # max :: RelFilePath -> RelFilePath -> RelFilePath Source # min :: RelFilePath -> RelFilePath -> RelFilePath Source # | |||||
| Display RelFilePath Source # | |||||
Defined in Pantry.Types | |||||
| type Rep RelFilePath Source # | |||||
Defined in Pantry.Types type Rep RelFilePath = D1 ('MetaData "RelFilePath" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'True) (C1 ('MetaCons "RelFilePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) | |||||
newtype CabalString a Source #
Newtype wrapper for easier JSON integration with Cabal types.
Since: 0.1.0.0
Constructors
| CabalString | |
Fields
| |
Instances
| IsCabalString a => FromJSON (CabalString a) Source # | |
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (CabalString a) Source # parseJSONList :: Value -> Parser [CabalString a] Source # omittedField :: Maybe (CabalString a) Source # | |
| IsCabalString a => FromJSONKey (CabalString a) Source # | |
Defined in Pantry.Types Methods fromJSONKey :: FromJSONKeyFunction (CabalString a) Source # fromJSONKeyList :: FromJSONKeyFunction [CabalString a] Source # | |
| Pretty a => ToJSON (CabalString a) Source # | |
Defined in Pantry.Types Methods toJSON :: CabalString a -> Value Source # toEncoding :: CabalString a -> Encoding Source # toJSONList :: [CabalString a] -> Value Source # toEncodingList :: [CabalString a] -> Encoding Source # omitField :: CabalString a -> Bool Source # | |
| Pretty a => ToJSONKey (CabalString a) Source # | |
Defined in Pantry.Types Methods toJSONKey :: ToJSONKeyFunction (CabalString a) Source # | |
| Show a => Show (CabalString a) Source # | |
Defined in Pantry.Types | |
| Eq a => Eq (CabalString a) Source # | |
Defined in Pantry.Types Methods (==) :: CabalString a -> CabalString a -> Bool Source # (/=) :: CabalString a -> CabalString a -> Bool Source # | |
| Ord a => Ord (CabalString a) Source # | |
Defined in Pantry.Types Methods compare :: CabalString a -> CabalString a -> Ordering Source # (<) :: CabalString a -> CabalString a -> Bool Source # (<=) :: CabalString a -> CabalString a -> Bool Source # (>) :: CabalString a -> CabalString a -> Bool Source # (>=) :: CabalString a -> CabalString a -> Bool Source # max :: CabalString a -> CabalString a -> CabalString a Source # min :: CabalString a -> CabalString a -> CabalString a Source # | |
toCabalStringMap :: Map a v -> Map (CabalString a) v Source #
Wrap the keys in a Map with a CabalString to get a ToJSON
instance.
Since: 0.1.0.0
unCabalStringMap :: Map (CabalString a) v -> Map a v Source #
Unwrap the CabalString from the keys in a Map to use a
FromJSON instance.
Since: 0.1.0.0
parsePackageIdentifierRevision :: Text -> Either PantryException PackageIdentifierRevision Source #
Parse a PackageIdentifierRevision
Since: 0.1.0.0
parseRawPackageLocationImmutables Source #
Arguments
| :: Text | A YAML value. |
| -> Either PantryException (Unresolved (NonEmpty RawPackageLocationImmutable)) |
Parse, Unresolved, one or more RawPackageLocationImmutable from a valid
YAML value. Alternatively, yields an exception if the given text cannot be
decoded as a YAML value or it is decoded but with warnings.
Since: 0.10.1
Constructors
| Mismatch | |
Fields
| |
data PantryException Source #
Things that can go wrong in pantry. Note two things:
- Many other exception types may be thrown from underlying libraries. Pantry does not attempt to wrap these underlying exceptions.
- We may add more constructors to this data type in minor version bumps of pantry. This technically breaks the PVP. You should not be writing pattern matches against this type that expect total matching.
Since: 0.1.0.0
Constructors
| PackageIdentifierRevisionParseFail !Text | |
| RawPackageLocationImmutableParseFail !Text !SomeException | |
| RawPackageLocationImmutableParseWarnings !Text ![JSONWarning] | |
| InvalidCabalFile !(Either RawPackageLocationImmutable (Path Abs File)) !(Maybe Version) ![PError] ![PWarning] | |
| TreeWithoutCabalFile !RawPackageLocationImmutable | |
| TreeWithMultipleCabalFiles !RawPackageLocationImmutable ![SafeFilePath] | |
| MismatchedCabalName !(Path Abs File) !PackageName | |
| NoLocalPackageDirFound !(Path Abs Dir) | |
| NoCabalFileFound !(Path Abs Dir) | |
| MultipleCabalFilesFound !(Path Abs Dir) ![Path Abs File] | |
| InvalidWantedCompiler !Text | |
| InvalidSnapshotLocation !(Path Abs Dir) !Text | |
| InvalidOverrideCompiler !WantedCompiler !WantedCompiler | |
| InvalidFilePathSnapshot !Text | |
| InvalidSnapshot !RawSnapshotLocation !SomeException | |
| InvalidGlobalHintsLocation !(Path Abs Dir) !Text | |
| InvalidFilePathGlobalHints !Text | |
| MismatchedPackageMetadata !RawPackageLocationImmutable !RawPackageMetadata !(Maybe TreeKey) !PackageIdentifier | |
| Non200ResponseStatus !Status | |
| InvalidBlobKey !(Mismatch BlobKey) | |
| Couldn'tParseSnapshot !RawSnapshotLocation !String | |
| WrongCabalFileName !RawPackageLocationImmutable !SafeFilePath !PackageName | |
| DownloadInvalidSHA256 !Text !(Mismatch SHA256) | |
| DownloadInvalidSize !Text !(Mismatch FileSize) | |
| DownloadTooLarge !Text !(Mismatch FileSize) | Different from |
| LocalNoArchiveFileFound !(Path Abs File) | |
| LocalInvalidSHA256 !(Path Abs File) !(Mismatch SHA256) | |
| LocalInvalidSize !(Path Abs File) !(Mismatch FileSize) | |
| UnknownArchiveType !ArchiveLocation | |
| InvalidTarFileType !ArchiveLocation !FilePath !FileType | |
| UnsupportedTarball !ArchiveLocation !Text | |
| NoHackageCryptographicHash !PackageIdentifier | |
| FailedToCloneRepo !SimpleRepo | |
| TreeReferencesMissingBlob !RawPackageLocationImmutable !SafeFilePath !BlobKey | |
| CompletePackageMetadataMismatch !RawPackageLocationImmutable !PackageMetadata | |
| CRC32Mismatch !ArchiveLocation !FilePath !(Mismatch Word32) | |
| UnknownHackagePackage !PackageIdentifierRevision !FuzzyResults | |
| CannotCompleteRepoNonSHA1 !Repo | |
| MutablePackageLocationFromUrl !Text | |
| MismatchedCabalFileForHackage !PackageIdentifierRevision !(Mismatch PackageIdentifier) | |
| PackageNameParseFail !Text | |
| PackageVersionParseFail !Text | |
| InvalidCabalFilePath !(Path Abs File) | |
| DuplicatePackageNames !Utf8Builder ![(PackageName, [RawPackageLocationImmutable])] | |
| MigrationFailure !Text !(Path Abs File) !SomeException | |
| NoCasaConfig | |
| InvalidTreeFromCasa !BlobKey !ByteString | |
| ParseSnapNameException !Text | |
| HpackLibraryException !(Path Abs File) !String | |
| HpackExeException !FilePath !(Path Abs Dir) !SomeException |
Instances
| Exception PantryException Source # | |
Defined in Pantry.Types Methods toException :: PantryException -> SomeException Source # fromException :: SomeException -> Maybe PantryException Source # | |
| Show PantryException Source # | |
Defined in Pantry.Types | |
| Display PantryException Source # | |
Defined in Pantry.Types Methods display :: PantryException -> Utf8Builder Source # textDisplay :: PantryException -> Text Source # | |
| Pretty PantryException Source # | |
Defined in Pantry.Types Methods pretty :: PantryException -> StyleDoc Source # | |
data FuzzyResults Source #
data ResolvedPath t Source #
A combination of the relative path provided in a config file, together with the resolved absolute path.
Since: 0.1.0.0
Constructors
| ResolvedPath | |
Fields
| |
Instances
| NFData (ResolvedPath t) Source # | |||||
Defined in Pantry.Types Methods rnf :: ResolvedPath t -> () Source # | |||||
| Generic (ResolvedPath t) Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: ResolvedPath t -> Rep (ResolvedPath t) x Source # to :: Rep (ResolvedPath t) x -> ResolvedPath t Source # | |||||
| Show (ResolvedPath t) Source # | |||||
Defined in Pantry.Types | |||||
| Eq (ResolvedPath t) Source # | |||||
Defined in Pantry.Types Methods (==) :: ResolvedPath t -> ResolvedPath t -> Bool Source # (/=) :: ResolvedPath t -> ResolvedPath t -> Bool Source # | |||||
| Ord (ResolvedPath t) Source # | |||||
Defined in Pantry.Types Methods compare :: ResolvedPath t -> ResolvedPath t -> Ordering Source # (<) :: ResolvedPath t -> ResolvedPath t -> Bool Source # (<=) :: ResolvedPath t -> ResolvedPath t -> Bool Source # (>) :: ResolvedPath t -> ResolvedPath t -> Bool Source # (>=) :: ResolvedPath t -> ResolvedPath t -> Bool Source # max :: ResolvedPath t -> ResolvedPath t -> ResolvedPath t Source # min :: ResolvedPath t -> ResolvedPath t -> ResolvedPath t Source # | |||||
| type Rep (ResolvedPath t) Source # | |||||
Defined in Pantry.Types type Rep (ResolvedPath t) = D1 ('MetaData "ResolvedPath" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "ResolvedPath" 'PrefixI 'True) (S1 ('MetaSel ('Just "resolvedRelative") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelFilePath) :*: S1 ('MetaSel ('Just "resolvedAbsolute") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Path Abs t)))) | |||||
data HpackExecutable Source #
What to use for running hpack
Since: 0.1.0.0
Constructors
| HpackBundled | Compiled in library |
| HpackCommand !FilePath | Executable at the provided path |
Instances
| Read HpackExecutable Source # | |
Defined in Pantry.Types | |
| Show HpackExecutable Source # | |
Defined in Pantry.Types | |
| Eq HpackExecutable Source # | |
Defined in Pantry.Types Methods (==) :: HpackExecutable -> HpackExecutable -> Bool Source # (/=) :: HpackExecutable -> HpackExecutable -> Bool Source # | |
| Ord HpackExecutable Source # | |
Defined in Pantry.Types Methods compare :: HpackExecutable -> HpackExecutable -> Ordering Source # (<) :: HpackExecutable -> HpackExecutable -> Bool Source # (<=) :: HpackExecutable -> HpackExecutable -> Bool Source # (>) :: HpackExecutable -> HpackExecutable -> Bool Source # (>=) :: HpackExecutable -> HpackExecutable -> Bool Source # max :: HpackExecutable -> HpackExecutable -> HpackExecutable Source # min :: HpackExecutable -> HpackExecutable -> HpackExecutable Source # | |
data WantedCompiler Source #
Which compiler a snapshot wants to use. The build tool may elect to do some fuzzy matching of versions (e.g., allowing different patch versions).
Since: 0.1.0.0
Constructors
| WCGhc !Version | |
| WCGhcGit !Text !Text | |
| WCGhcjs !Version !Version | GHCJS version followed by GHC version |
Instances
| FromJSON WantedCompiler Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser WantedCompiler Source # parseJSONList :: Value -> Parser [WantedCompiler] Source # | |||||
| FromJSONKey WantedCompiler Source # | |||||
Defined in Pantry.Types | |||||
| ToJSON WantedCompiler Source # | |||||
Defined in Pantry.Types Methods toJSON :: WantedCompiler -> Value Source # toEncoding :: WantedCompiler -> Encoding Source # toJSONList :: [WantedCompiler] -> Value Source # toEncodingList :: [WantedCompiler] -> Encoding Source # omitField :: WantedCompiler -> Bool Source # | |||||
| NFData WantedCompiler Source # | |||||
Defined in Pantry.Types Methods rnf :: WantedCompiler -> () Source # | |||||
| Generic WantedCompiler Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: WantedCompiler -> Rep WantedCompiler x Source # to :: Rep WantedCompiler x -> WantedCompiler Source # | |||||
| Show WantedCompiler Source # | |||||
Defined in Pantry.Types | |||||
| Eq WantedCompiler Source # | |||||
Defined in Pantry.Types Methods (==) :: WantedCompiler -> WantedCompiler -> Bool Source # (/=) :: WantedCompiler -> WantedCompiler -> Bool Source # | |||||
| Ord WantedCompiler Source # | |||||
Defined in Pantry.Types Methods compare :: WantedCompiler -> WantedCompiler -> Ordering Source # (<) :: WantedCompiler -> WantedCompiler -> Bool Source # (<=) :: WantedCompiler -> WantedCompiler -> Bool Source # (>) :: WantedCompiler -> WantedCompiler -> Bool Source # (>=) :: WantedCompiler -> WantedCompiler -> Bool Source # max :: WantedCompiler -> WantedCompiler -> WantedCompiler Source # min :: WantedCompiler -> WantedCompiler -> WantedCompiler Source # | |||||
| Display WantedCompiler Source # | |||||
Defined in Pantry.Types Methods display :: WantedCompiler -> Utf8Builder Source # textDisplay :: WantedCompiler -> Text Source # | |||||
| type Rep WantedCompiler Source # | |||||
Defined in Pantry.Types type Rep WantedCompiler = D1 ('MetaData "WantedCompiler" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "WCGhc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Version)) :+: (C1 ('MetaCons "WCGhcGit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "WCGhcjs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Version) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Version)))) | |||||
snapshotLocation :: HasPantryConfig env => SnapName -> RIO env RawSnapshotLocation Source #
Get the location of a snapshot synonym from the PantryConfig.
Since: 0.5.0.0
defaultSnapshotLocation :: SnapName -> RawSnapshotLocation Source #
Default location of snapshot synonyms, i.e. commercialhaskell's GitHub repository.
Since: 0.5.0.0
globalHintsLocation :: HasPantryConfig env => WantedCompiler -> RIO env GlobalHintsLocation Source #
Get the location of global hints from the PantryConfig.
Since: 0.9.4
defaultGlobalHintsLocation :: WantedCompiler -> GlobalHintsLocation Source #
Default location of global hints, i.e. commercialhaskell's GitHub repository.
Since: 0.9.4
A snapshot synonym. It is expanded according to the field
snapshotLocation of a PantryConfig.
@ since 0.5.0.0
Constructors
| LTS | |
| Nightly !Day | Stackage Nightly snapshot, displayed as Since: 0.5.0.0 |
Instances
| ToJSON SnapName Source # | |||||
| NFData SnapName Source # | |||||
Defined in Pantry.Types | |||||
| Generic SnapName Source # | |||||
Defined in Pantry.Types Associated Types
| |||||
| Show SnapName Source # | |||||
| Eq SnapName Source # | |||||
| Ord SnapName Source # | |||||
Defined in Pantry.Types | |||||
| Display SnapName Source # | |||||
Defined in Pantry.Types | |||||
| type Rep SnapName Source # | |||||
Defined in Pantry.Types type Rep SnapName = D1 ('MetaData "SnapName" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "LTS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "Nightly" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Day))) | |||||
parseSnapName :: MonadThrow m => Text -> m SnapName Source #
Parse the short representation of a SnapName.
Since: 0.5.0.0
data RawSnapshotLocation Source #
Where to load a snapshot from in raw form (RSUrl could have a missing BlobKey)
Since: 0.1.0.0
Constructors
| RSLCompiler !WantedCompiler | Don't use an actual snapshot, just a version of the compiler with its shipped packages. Since: 0.1.0.0 |
| RSLUrl !Text !(Maybe BlobKey) | Download the snapshot from the given URL. The optional Since: 0.1.0.0 |
| RSLFilePath !(ResolvedPath File) | Snapshot at a local file path. Since: 0.1.0.0 |
| RSLSynonym !SnapName | Snapshot synonym (LTS/Nightly). Since: 0.5.0.0 |
Instances
| ToJSON RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods toJSON :: RawSnapshotLocation -> Value Source # toEncoding :: RawSnapshotLocation -> Encoding Source # toJSONList :: [RawSnapshotLocation] -> Value Source # toEncodingList :: [RawSnapshotLocation] -> Encoding Source # omitField :: RawSnapshotLocation -> Bool Source # | |||||
| NFData RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: RawSnapshotLocation -> () Source # | |||||
| Generic RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: RawSnapshotLocation -> Rep RawSnapshotLocation x Source # to :: Rep RawSnapshotLocation x -> RawSnapshotLocation Source # | |||||
| Show RawSnapshotLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # (/=) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # | |||||
| Ord RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods compare :: RawSnapshotLocation -> RawSnapshotLocation -> Ordering Source # (<) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # (<=) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # (>) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # (>=) :: RawSnapshotLocation -> RawSnapshotLocation -> Bool Source # max :: RawSnapshotLocation -> RawSnapshotLocation -> RawSnapshotLocation Source # min :: RawSnapshotLocation -> RawSnapshotLocation -> RawSnapshotLocation Source # | |||||
| Display RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods | |||||
| Pretty RawSnapshotLocation Source # | |||||
Defined in Pantry.Types Methods pretty :: RawSnapshotLocation -> StyleDoc Source # | |||||
| FromJSON (WithJSONWarnings (Unresolved RawSnapshotLocation)) Source # | |||||
Defined in Pantry.Types | |||||
| type Rep RawSnapshotLocation Source # | |||||
Defined in Pantry.Types type Rep RawSnapshotLocation = D1 ('MetaData "RawSnapshotLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) ((C1 ('MetaCons "RSLCompiler" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 WantedCompiler)) :+: C1 ('MetaCons "RSLUrl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe BlobKey)))) :+: (C1 ('MetaCons "RSLFilePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath File))) :+: C1 ('MetaCons "RSLSynonym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SnapName)))) | |||||
data SnapshotLocation Source #
Where to load a snapshot from.
Since: 0.1.0.0
Constructors
| SLCompiler !WantedCompiler | Don't use an actual snapshot, just a version of the compiler with its shipped packages. Since: 0.1.0.0 |
| SLUrl !Text !BlobKey | Download the snapshot from the given URL. The optional
Since: 0.1.0.0 |
| SLFilePath !(ResolvedPath File) | Snapshot at a local file path. Since: 0.1.0.0 |
Instances
| ToJSON SnapshotLocation Source # | |||||
Defined in Pantry.Types Methods toJSON :: SnapshotLocation -> Value Source # toEncoding :: SnapshotLocation -> Encoding Source # toJSONList :: [SnapshotLocation] -> Value Source # toEncodingList :: [SnapshotLocation] -> Encoding Source # omitField :: SnapshotLocation -> Bool Source # | |||||
| NFData SnapshotLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: SnapshotLocation -> () Source # | |||||
| Generic SnapshotLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: SnapshotLocation -> Rep SnapshotLocation x Source # to :: Rep SnapshotLocation x -> SnapshotLocation Source # | |||||
| Show SnapshotLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq SnapshotLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: SnapshotLocation -> SnapshotLocation -> Bool Source # (/=) :: SnapshotLocation -> SnapshotLocation -> Bool Source # | |||||
| Ord SnapshotLocation Source # | |||||
Defined in Pantry.Types Methods compare :: SnapshotLocation -> SnapshotLocation -> Ordering Source # (<) :: SnapshotLocation -> SnapshotLocation -> Bool Source # (<=) :: SnapshotLocation -> SnapshotLocation -> Bool Source # (>) :: SnapshotLocation -> SnapshotLocation -> Bool Source # (>=) :: SnapshotLocation -> SnapshotLocation -> Bool Source # max :: SnapshotLocation -> SnapshotLocation -> SnapshotLocation Source # min :: SnapshotLocation -> SnapshotLocation -> SnapshotLocation Source # | |||||
| Display SnapshotLocation Source # | |||||
Defined in Pantry.Types Methods display :: SnapshotLocation -> Utf8Builder Source # textDisplay :: SnapshotLocation -> Text Source # | |||||
| FromJSON (WithJSONWarnings (Unresolved SnapshotLocation)) Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved SnapshotLocation)) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved SnapshotLocation)] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved SnapshotLocation)) Source # | |||||
| type Rep SnapshotLocation Source # | |||||
Defined in Pantry.Types type Rep SnapshotLocation = D1 ('MetaData "SnapshotLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "SLCompiler" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 WantedCompiler)) :+: (C1 ('MetaCons "SLUrl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 BlobKey)) :+: C1 ('MetaCons "SLFilePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath File))))) | |||||
toRawSL :: SnapshotLocation -> RawSnapshotLocation Source #
Convert snapshot location to its "raw" equivalent.
Since: 0.1.0.0
parseHackageText :: Text -> Either PantryException (PackageIdentifier, BlobKey) Source #
Parse a hackage text.
Since: 0.1.0.0
parseRawSnapshotLocation :: Text -> Unresolved RawSnapshotLocation Source #
Parse a Text into an Unresolved RawSnapshotLocation.
Since: 0.1.0.0
data RawSnapshotLayer Source #
A single layer of a snapshot, i.e. a specific YAML configuration file.
Since: 0.1.0.0
Constructors
| RawSnapshotLayer | |
Fields
| |
Instances
| ToJSON RawSnapshotLayer Source # | |||||
Defined in Pantry.Types Methods toJSON :: RawSnapshotLayer -> Value Source # toEncoding :: RawSnapshotLayer -> Encoding Source # toJSONList :: [RawSnapshotLayer] -> Value Source # toEncodingList :: [RawSnapshotLayer] -> Encoding Source # omitField :: RawSnapshotLayer -> Bool Source # | |||||
| NFData RawSnapshotLayer Source # | |||||
Defined in Pantry.Types Methods rnf :: RawSnapshotLayer -> () Source # | |||||
| Generic RawSnapshotLayer Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: RawSnapshotLayer -> Rep RawSnapshotLayer x Source # to :: Rep RawSnapshotLayer x -> RawSnapshotLayer Source # | |||||
| Show RawSnapshotLayer Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawSnapshotLayer Source # | |||||
Defined in Pantry.Types Methods (==) :: RawSnapshotLayer -> RawSnapshotLayer -> Bool Source # (/=) :: RawSnapshotLayer -> RawSnapshotLayer -> Bool Source # | |||||
| FromJSON (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # | |||||
Defined in Pantry.Types Methods parseJSON :: Value -> Parser (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # parseJSONList :: Value -> Parser [WithJSONWarnings (Unresolved RawSnapshotLayer)] Source # omittedField :: Maybe (WithJSONWarnings (Unresolved RawSnapshotLayer)) Source # | |||||
| type Rep RawSnapshotLayer Source # | |||||
Defined in Pantry.Types type Rep RawSnapshotLayer = D1 ('MetaData "RawSnapshotLayer" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "RawSnapshotLayer" 'PrefixI 'True) (((S1 ('MetaSel ('Just "rslParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RawSnapshotLocation) :*: S1 ('MetaSel ('Just "rslCompiler") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe WantedCompiler))) :*: (S1 ('MetaSel ('Just "rslLocations") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [RawPackageLocationImmutable]) :*: S1 ('MetaSel ('Just "rslDropPackages") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set PackageName)))) :*: ((S1 ('MetaSel ('Just "rslFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName (Map FlagName Bool))) :*: S1 ('MetaSel ('Just "rslHidden") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName Bool))) :*: (S1 ('MetaSel ('Just "rslGhcOptions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName [Text])) :*: S1 ('MetaSel ('Just "rslPublishTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe UTCTime)))))) | |||||
data SnapshotLayer Source #
A single layer of a snapshot, i.e. a specific YAML configuration file.
Since: 0.1.0.0
Constructors
| SnapshotLayer | |
Fields
| |
Instances
| ToJSON SnapshotLayer Source # | |||||
Defined in Pantry.Types Methods toJSON :: SnapshotLayer -> Value Source # toEncoding :: SnapshotLayer -> Encoding Source # toJSONList :: [SnapshotLayer] -> Value Source # toEncodingList :: [SnapshotLayer] -> Encoding Source # omitField :: SnapshotLayer -> Bool Source # | |||||
| Generic SnapshotLayer Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: SnapshotLayer -> Rep SnapshotLayer x Source # to :: Rep SnapshotLayer x -> SnapshotLayer Source # | |||||
| Show SnapshotLayer Source # | |||||
Defined in Pantry.Types | |||||
| Eq SnapshotLayer Source # | |||||
Defined in Pantry.Types Methods (==) :: SnapshotLayer -> SnapshotLayer -> Bool Source # (/=) :: SnapshotLayer -> SnapshotLayer -> Bool Source # | |||||
| type Rep SnapshotLayer Source # | |||||
Defined in Pantry.Types type Rep SnapshotLayer = D1 ('MetaData "SnapshotLayer" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "SnapshotLayer" 'PrefixI 'True) (((S1 ('MetaSel ('Just "slParent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SnapshotLocation) :*: S1 ('MetaSel ('Just "slCompiler") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe WantedCompiler))) :*: (S1 ('MetaSel ('Just "slLocations") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [PackageLocationImmutable]) :*: S1 ('MetaSel ('Just "slDropPackages") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set PackageName)))) :*: ((S1 ('MetaSel ('Just "slFlags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName (Map FlagName Bool))) :*: S1 ('MetaSel ('Just "slHidden") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName Bool))) :*: (S1 ('MetaSel ('Just "slGhcOptions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map PackageName [Text])) :*: S1 ('MetaSel ('Just "slPublishTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe UTCTime)))))) | |||||
toRawSnapshotLayer :: SnapshotLayer -> RawSnapshotLayer Source #
Convert snapshot layer into its "raw" equivalent.
Since: 0.1.0.0
data RawSnapshot Source #
A flattened representation of all the layers in a snapshot.
Since: 0.1.0.0
Constructors
| RawSnapshot | |
Fields
| |
A flattened representation of all the layers in a snapshot.
Since: 0.1.0.0
Constructors
| Snapshot | |
Fields
| |
data RawSnapshotPackage Source #
Settings for a package found in a snapshot.
Since: 0.1.0.0
Constructors
| RawSnapshotPackage | |
Fields
| |
data SnapshotPackage Source #
Settings for a package found in a snapshot.
Since: 0.1.0.0
Constructors
| SnapshotPackage | |
Fields
| |
Instances
| Show SnapshotPackage Source # | |
Defined in Pantry.Types | |
data GlobalHintsLocation Source #
Where to load global hints from.
Since: 0.9.4
Constructors
| GHLUrl !Text | Download the global hints from the given URL. |
| GHLFilePath !(ResolvedPath File) | Global hints at a local file path. |
Instances
| ToJSON GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods toJSON :: GlobalHintsLocation -> Value Source # toEncoding :: GlobalHintsLocation -> Encoding Source # toJSONList :: [GlobalHintsLocation] -> Value Source # toEncodingList :: [GlobalHintsLocation] -> Encoding Source # omitField :: GlobalHintsLocation -> Bool Source # | |||||
| NFData GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods rnf :: GlobalHintsLocation -> () Source # | |||||
| Generic GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: GlobalHintsLocation -> Rep GlobalHintsLocation x Source # to :: Rep GlobalHintsLocation x -> GlobalHintsLocation Source # | |||||
| Show GlobalHintsLocation Source # | |||||
Defined in Pantry.Types | |||||
| Eq GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods (==) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # (/=) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # | |||||
| Ord GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods compare :: GlobalHintsLocation -> GlobalHintsLocation -> Ordering Source # (<) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # (<=) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # (>) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # (>=) :: GlobalHintsLocation -> GlobalHintsLocation -> Bool Source # max :: GlobalHintsLocation -> GlobalHintsLocation -> GlobalHintsLocation Source # min :: GlobalHintsLocation -> GlobalHintsLocation -> GlobalHintsLocation Source # | |||||
| Display GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods | |||||
| Pretty GlobalHintsLocation Source # | |||||
Defined in Pantry.Types Methods pretty :: GlobalHintsLocation -> StyleDoc Source # | |||||
| FromJSON (WithJSONWarnings (Unresolved GlobalHintsLocation)) Source # | |||||
Defined in Pantry.Types | |||||
| type Rep GlobalHintsLocation Source # | |||||
Defined in Pantry.Types type Rep GlobalHintsLocation = D1 ('MetaData "GlobalHintsLocation" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "GHLUrl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "GHLFilePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ResolvedPath File)))) | |||||
parseGlobalHintsLocation :: Text -> Unresolved GlobalHintsLocation Source #
Parse a Text into an Unresolved GlobalHintsLocation.
Since: 0.9.4
parseWantedCompiler :: Text -> Either PantryException WantedCompiler Source #
Parse a Text into a WantedCompiler value.
Since: 0.1.0.0
data RawPackageMetadata Source #
Metadata provided by a config file for archives and repos. This information can be used for optimized lookups of information like package identifiers, or for validating that the user configuration has the expected information.
Since: 0.1.0.0
Constructors
| RawPackageMetadata | |
Fields
| |
Instances
| NFData RawPackageMetadata Source # | |||||
Defined in Pantry.Types Methods rnf :: RawPackageMetadata -> () Source # | |||||
| Generic RawPackageMetadata Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: RawPackageMetadata -> Rep RawPackageMetadata x Source # to :: Rep RawPackageMetadata x -> RawPackageMetadata Source # | |||||
| Show RawPackageMetadata Source # | |||||
Defined in Pantry.Types | |||||
| Eq RawPackageMetadata Source # | |||||
Defined in Pantry.Types Methods (==) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # (/=) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # | |||||
| Ord RawPackageMetadata Source # | |||||
Defined in Pantry.Types Methods compare :: RawPackageMetadata -> RawPackageMetadata -> Ordering Source # (<) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # (<=) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # (>) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # (>=) :: RawPackageMetadata -> RawPackageMetadata -> Bool Source # max :: RawPackageMetadata -> RawPackageMetadata -> RawPackageMetadata Source # min :: RawPackageMetadata -> RawPackageMetadata -> RawPackageMetadata Source # | |||||
| Display RawPackageMetadata Source # | |||||
Defined in Pantry.Types Methods display :: RawPackageMetadata -> Utf8Builder Source # textDisplay :: RawPackageMetadata -> Text Source # | |||||
| type Rep RawPackageMetadata Source # | |||||
Defined in Pantry.Types type Rep RawPackageMetadata = D1 ('MetaData "RawPackageMetadata" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "RawPackageMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "rpmName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe PackageName)) :*: (S1 ('MetaSel ('Just "rpmVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Version)) :*: S1 ('MetaSel ('Just "rpmTreeKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TreeKey))))) | |||||
data PackageMetadata Source #
Exact metadata specifying concrete package
Since: 0.1.0.0
Constructors
| PackageMetadata | |
Fields
| |
Instances
| NFData PackageMetadata Source # | |||||
Defined in Pantry.Types Methods rnf :: PackageMetadata -> () Source # | |||||
| Generic PackageMetadata Source # | |||||
Defined in Pantry.Types Associated Types
Methods from :: PackageMetadata -> Rep PackageMetadata x Source # to :: Rep PackageMetadata x -> PackageMetadata Source # | |||||
| Show PackageMetadata Source # | |||||
Defined in Pantry.Types | |||||
| Eq PackageMetadata Source # | |||||
Defined in Pantry.Types Methods (==) :: PackageMetadata -> PackageMetadata -> Bool Source # (/=) :: PackageMetadata -> PackageMetadata -> Bool Source # | |||||
| Ord PackageMetadata Source # | |||||
Defined in Pantry.Types Methods compare :: PackageMetadata -> PackageMetadata -> Ordering Source # (<) :: PackageMetadata -> PackageMetadata -> Bool Source # (<=) :: PackageMetadata -> PackageMetadata -> Bool Source # (>) :: PackageMetadata -> PackageMetadata -> Bool Source # (>=) :: PackageMetadata -> PackageMetadata -> Bool Source # max :: PackageMetadata -> PackageMetadata -> PackageMetadata Source # min :: PackageMetadata -> PackageMetadata -> PackageMetadata Source # | |||||
| Display PackageMetadata Source # | |||||
Defined in Pantry.Types Methods display :: PackageMetadata -> Utf8Builder Source # textDisplay :: PackageMetadata -> Text Source # | |||||
| type Rep PackageMetadata Source # | |||||
Defined in Pantry.Types type Rep PackageMetadata = D1 ('MetaData "PackageMetadata" "Pantry.Types" "pantry-0.10.1-2ik2JKkudjPJlArEHhlOvR-internal" 'False) (C1 ('MetaCons "PackageMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "pmIdent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PackageIdentifier) :*: S1 ('MetaSel ('Just "pmTreeKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TreeKey))) | |||||
toRawPM :: PackageMetadata -> RawPackageMetadata Source #
Convert package metadata to its "raw" equivalent.
Since: 0.1.0.0
newtype SnapshotCacheHash Source #
An arbitrary hash for a snapshot, used for finding module names in a snapshot. Mostly intended for Stack's usage.
Since: 0.1.0.0
Constructors
| SnapshotCacheHash | |
Fields | |
Instances
| Show SnapshotCacheHash Source # | |
Defined in Pantry.Types | |
getGlobalHintsFile :: HasPantryConfig env => RIO env (Path Abs File) Source #
Get the path to the global hints cache file
bsToBlobKey :: ByteString -> BlobKey Source #
Creates BlobKey for an input ByteString
Since: 0.1.0.0
warnMissingCabalFile :: HasLogFunc env => RawPackageLocationImmutable -> RIO env () Source #
Warn if the package uses PCHpack.
Since: 0.4.0.0
connRDBMS :: SqlBackend -> Text Source #
A tag displaying what database the SqlBackend is for. Can be
used to differentiate features in downstream libraries for different
database backends.