stack-1.2.0: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Fetch

Description

Functionality for downloading packages securely for cabal's usage.

Synopsis

Documentation

unpackPackages #

Arguments

:: (MonadIO m, MonadBaseControl IO m, MonadReader env m, HasHttpManager env, HasConfig env, MonadMask m, MonadLogger m) 
=> EnvOverride 
-> FilePath

destination

-> [String]

names or identifiers

-> m () 

Intended to work for the command line command.

unpackPackageIdents #

Ensure that all of the given package idents are unpacked into the build unpack directory, and return the paths to all of the subdirectories.

fetchPackages :: (MonadIO m, MonadBaseControl IO m, MonadReader env m, HasHttpManager env, HasConfig env, MonadMask m, MonadLogger m) => EnvOverride -> Set PackageIdentifier -> m () #

Fetch packages into the cache without unpacking

untar :: forall b1 b2. Path b1 File -> Path Rel Dir -> Path b2 Dir -> IO [(FilePath, Text)] #

Internal function used to unpack tarball.

Takes a path to a .tar.gz file, the name of the directory it should contain, and a destination folder to extract the tarball into. Returns unexpected entries, as pairs of paths and descriptions.

resolvePackages :: (MonadIO m, MonadReader env m, HasHttpManager env, HasConfig env, MonadLogger m, MonadBaseControl IO m, MonadCatch m) => EnvOverride -> Map PackageIdentifier (Maybe GitSHA1) -> Set PackageName -> m (Map PackageIdentifier ResolvedPackage) #

Resolve a set of package names and identifiers into FetchPackage values.

withCabalFiles :: (MonadMask m, MonadIO m, MonadLogger m, MonadReader env m, HasConfig env) => IndexName -> [(PackageIdentifier, PackageCache, Maybe GitSHA1, a)] -> (PackageIdentifier -> a -> ByteString -> IO b) -> m [b] #

Add the cabal files to a list of idents with their caches.

withCabalLoader :: (MonadIO m, MonadReader env m, HasConfig env, MonadLogger m, HasHttpManager env, MonadBaseUnlift IO m, MonadMask m) => EnvOverride -> ((PackageIdentifier -> IO ByteString) -> m a) -> m a #

Provide a function which will load up a cabal ByteString from the package indices.