Adds isolate install functionality to 'Cabal' tool installs

This commit is contained in:
Arjun Kathuria
2021-07-23 15:57:42 +05:30
parent 91d982c7b2
commit 4729364e99
2 changed files with 72 additions and 13 deletions

View File

@@ -1649,19 +1649,27 @@ Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]
let installCabal InstallOptions{..} =
(case instBindist of
Nothing -> runInstTool instPlatform $ do
(v, vi) <- liftE $ fromVersion instVer Cabal
liftE $ installCabalBin (_tvVersion v)
pure vi
Just uri -> do
s' <- appState
runInstTool' s'{ settings = settings { noVerify = True}} instPlatform $ do
(v, vi) <- liftE $ fromVersion instVer Cabal
liftE $ installCabalBindist
(DownloadInfo uri Nothing "")
(_tvVersion v)
pure vi
(case isolateDir of
Just isoDir ->
runInstTool instPlatform $ do
(v, vi) <- liftE $ fromVersion instVer Cabal
let cabalVersion = (_tvVersion v)
liftE $ installCabalBinIsolated isoDir cabalVersion
pure vi
Nothing ->
case instBindist of
Nothing -> runInstTool instPlatform $ do
(v, vi) <- liftE $ fromVersion instVer Cabal
liftE $ installCabalBin (_tvVersion v)
pure vi
Just uri -> do
s' <- appState
runInstTool' s'{ settings = settings { noVerify = True}} instPlatform $ do
(v, vi) <- liftE $ fromVersion instVer Cabal
liftE $ installCabalBindist
(DownloadInfo uri Nothing "")
(_tvVersion v)
pure vi
)
>>= \case
VRight vi -> do