Skip to content
Snippets Groups Projects
Verified Commit 66a62c17 authored by Julian Ospald's avatar Julian Ospald :tea:
Browse files

Fix 'ghcup run' for legacy HLS

parent 5186d959
No related branches found
No related tags found
1 merge request!238Implement 'ghcup run'
Pipeline #47436 failed
...@@ -15,6 +15,7 @@ import GHCup.Utils.File ...@@ -15,6 +15,7 @@ import GHCup.Utils.File
import GHCup.OptParse.Common import GHCup.OptParse.Common
import GHCup.Errors import GHCup.Errors
import GHCup.Types import GHCup.Types
import GHCup.Types.Optics ( getDirs )
import GHCup.Utils.Logger import GHCup.Utils.Logger
import GHCup.Utils.String.QQ import GHCup.Utils.String.QQ
...@@ -309,8 +310,22 @@ run RunOptions{..} runAppState leanAppstate runLogger = do ...@@ -309,8 +310,22 @@ run RunOptions{..} runAppState leanAppstate runLogger = do
cbin <- liftIO $ canonicalizePath bin cbin <- liftIO $ canonicalizePath bin
lift $ createLink (relativeSymlink tmp cbin) (tmp </> "stack") lift $ createLink (relativeSymlink tmp cbin) (tmp </> "stack")
HLS -> do HLS -> do
liftE $ setHLS (_tvVersion v) SetHLS_XYZ (Just tmp) Dirs {..} <- getDirs
liftE $ setHLS (_tvVersion v) SetHLSOnly (Just tmp) let v' = _tvVersion v
legacy <- isLegacyHLS v'
if legacy
then do
-- TODO: factor this out
(Just hlsWrapper) <- hlsWrapperBinary v'
cw <- liftIO $ canonicalizePath (binDir </> hlsWrapper)
lift $ createLink (relativeSymlink tmp cw) (tmp </> takeFileName cw)
hlsBins <- hlsServerBinaries v' Nothing >>= liftIO . traverse (canonicalizePath . (binDir </>))
forM_ hlsBins $ \bin ->
lift $ createLink (relativeSymlink tmp bin) (tmp </> takeFileName bin)
liftE $ setHLS (_tvVersion v) SetHLSOnly (Just tmp)
else do
liftE $ setHLS (_tvVersion v) SetHLS_XYZ (Just tmp)
liftE $ setHLS (_tvVersion v) SetHLSOnly (Just tmp)
GHCup -> pure () GHCup -> pure ()
addToPath path = do addToPath path = do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment