cabal-cache-1.0.6.0: app/App/Static.hs
{-# LANGUAGE ScopedTypeVariables #-}
module App.Static
( cabalStoreDirectory,
buildPath,
path,
) where
import Control.Monad.Catch (handle)
import Control.Exception (IOException)
import Control.Monad.Identity (Identity(..))
import qualified App.Static.Base as S
import qualified App.Static.Posix as P
import qualified App.Static.Windows as W
import qualified Cabal.Config as CC
import qualified System.IO.Unsafe as IO
{-# NOINLINE cabalStoreDirectory #-}
cabalStoreDirectory :: FilePath
cabalStoreDirectory = IO.unsafePerformIO $ handle' $
runIdentity . CC.cfgStoreDir <$> CC.readConfig
where
handle' = handle (\(_ :: IOException) -> return $ if S.isPosix then P.cabalDirectory else W.cabalDirectory)
buildPath :: FilePath
buildPath = "dist-newstyle"
path :: FilePath
path = "."