hix-0.7.0: lib/Hix/Managed/Cabal/Config.hs
module Hix.Managed.Cabal.Config where
import qualified Data.Set as Set
import qualified Hix.Data.PackageId
import Hix.Data.PackageId (PackageId)
import Hix.Data.PackageName (PackageName)
import Hix.Managed.Data.Mutable (MutableDep, depName)
nonReinstallableNames :: Set PackageName
nonReinstallableNames =
[
"base",
"ghc-bignum",
"ghc-prim",
"ghc",
"integer-gmp",
"integer-simple",
"template-haskell"
]
isNonReinstallable :: PackageName -> Bool
isNonReinstallable = flip Set.member nonReinstallableNames
isReinstallable :: PackageName -> Bool
isReinstallable = not . isNonReinstallable
isNonReinstallableId :: PackageId -> Bool
isNonReinstallableId package = isNonReinstallable package.name
isReinstallableId :: PackageId -> Bool
isReinstallableId package = isReinstallable package.name
isNonReinstallableDep :: MutableDep -> Bool
isNonReinstallableDep = isNonReinstallable . depName