cabal-cache-1.0.5.2: app/App/Static.hs
{-# LANGUAGE ScopedTypeVariables #-}
module App.Static
( cabalStoreDirectory
, buildPath
, path
) where
import Control.Monad.Catch
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 = "."