cabal-cache-1.0.0.2: src/HaskellWorks/CabalCache/GhcPkg.hs
module HaskellWorks.CabalCache.GhcPkg where
import Data.Text (Text)
import System.Exit (ExitCode (..), exitWith)
import System.Process (spawnProcess, waitForProcess)
import qualified Data.Text as Text
import qualified System.IO as IO
runGhcPkg :: [String] -> IO ()
runGhcPkg params = do
hGhcPkg2 <- spawnProcess "ghc-pkg" params
exitCodeGhcPkg2 <- waitForProcess hGhcPkg2
case exitCodeGhcPkg2 of
ExitFailure _ -> do
IO.hPutStrLn IO.stderr "ERROR: Unable to recache package db"
exitWith (ExitFailure 1)
_ -> return ()
testAvailability :: IO ()
testAvailability = runGhcPkg ["--version"]
recache :: FilePath -> IO ()
recache packageDb = runGhcPkg ["recache", "--package-db", packageDb]
init :: FilePath -> IO ()
init packageDb = runGhcPkg ["init", packageDb]