Safe Haskell | None |
---|---|
Language | Haskell2010 |
- setupEnv :: (StackM env m, HasBuildConfig env, HasGHCVariant env) => Maybe Text -> m EnvConfig
- ensureCompiler :: (StackM env m, HasConfig env, HasGHCVariant env) => SetupOpts -> m (Maybe ExtraDirs, CompilerBuild, Bool)
- ensureDockerStackExe :: (StackM env m, HasConfig env) => Platform -> m (Path Abs File)
- getSystemCompiler :: (MonadIO m, MonadLogger m, MonadBaseControl IO m, MonadCatch m) => EnvOverride -> WhichCompiler -> m (Maybe (CompilerVersion, Arch))
- data SetupOpts = SetupOpts {
- soptsInstallIfMissing :: !Bool
- soptsUseSystem :: !Bool
- soptsWantedCompiler :: !CompilerVersion
- soptsCompilerCheck :: !VersionCheck
- soptsStackYaml :: !(Maybe (Path Abs File))
- soptsForceReinstall :: !Bool
- soptsSanityCheck :: !Bool
- soptsSkipGhcCheck :: !Bool
- soptsSkipMsys :: !Bool
- soptsUpgradeCabal :: !Bool
- soptsResolveMissingGHC :: !(Maybe Text)
- soptsSetupInfoYaml :: !FilePath
- soptsGHCBindistURL :: !(Maybe String)
- defaultSetupInfoYaml :: String
- removeHaskellEnvVars :: Map Text Text -> Map Text Text
- data StackReleaseInfo
- getDownloadVersion :: StackReleaseInfo -> Maybe Version
- stackVersion :: Version
- preferredPlatforms :: (MonadReader env m, HasPlatform env) => m [(Bool, String)]
- downloadStackReleaseInfo :: MonadIO m => Maybe String -> Maybe String -> Maybe String -> m StackReleaseInfo
- downloadStackExe :: (MonadIO m, MonadLogger m, MonadReader env m, HasConfig env) => [(Bool, String)] -> StackReleaseInfo -> Path Abs Dir -> (Path Abs File -> IO ()) -> m ()
Documentation
:: (StackM env m, HasBuildConfig env, HasGHCVariant env) | |
=> Maybe Text | Message to give user when necessary GHC is not available |
-> m EnvConfig |
Modify the environment variables (like PATH) appropriately, possibly doing installation too
ensureCompiler :: (StackM env m, HasConfig env, HasGHCVariant env) => SetupOpts -> m (Maybe ExtraDirs, CompilerBuild, Bool) Source #
Ensure compiler (ghc or ghcjs) is installed and provide the PATHs to add if necessary
ensureDockerStackExe :: (StackM env m, HasConfig env) => Platform -> m (Path Abs File) Source #
Ensure Docker container-compatible stack
executable is downloaded
getSystemCompiler :: (MonadIO m, MonadLogger m, MonadBaseControl IO m, MonadCatch m) => EnvOverride -> WhichCompiler -> m (Maybe (CompilerVersion, Arch)) Source #
Get the version of the system compiler, if available
SetupOpts | |
|
defaultSetupInfoYaml :: String Source #
Default location of the stack-setup.yaml file
Stack binary download
data StackReleaseInfo Source #
preferredPlatforms :: (MonadReader env m, HasPlatform env) => m [(Bool, String)] Source #
:: (MonadIO m, MonadLogger m, MonadReader env m, HasConfig env) | |
=> [(Bool, String)] | acceptable platforms |
-> StackReleaseInfo | |
-> Path Abs Dir | destination directory |
-> (Path Abs File -> IO ()) | test the temp exe before renaming |
-> m () |