From 3b612807ecbd1e5458671d0f4209dc0412b5593c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 13 Feb 2013 15:52:39 +0200 Subject: [PATCH] disabledFlags --- Stackage/LoadDatabase.hs | 4 +++- Stackage/Select.hs | 1 + Stackage/Types.hs | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Stackage/LoadDatabase.hs b/Stackage/LoadDatabase.hs index 46026a70..a91b55b1 100644 --- a/Stackage/LoadDatabase.hs +++ b/Stackage/LoadDatabase.hs @@ -128,7 +128,9 @@ loadPackageDB settings core deps = do where checkCond' (Var (OS os)) = os == buildOS checkCond' (Var (Arch arch)) = arch == buildArch - checkCond' (Var (Flag flag)) = flag `elem` flags' + checkCond' (Var (Flag flag@(FlagName flag'))) = + flag' `Set.notMember` disabledFlags settings && + flag `elem` flags' checkCond' (Var (Impl compiler range)) = compiler == GHC && withinRange targetCompilerVersion range checkCond' (Lit b) = b diff --git a/Stackage/Select.hs b/Stackage/Select.hs index 5858d71a..ddad8496 100644 --- a/Stackage/Select.hs +++ b/Stackage/Select.hs @@ -23,6 +23,7 @@ defaultSelectSettings = SelectSettings , requireHaskellPlatform = True , excludedPackages = empty , flags = Set.fromList $ words "blaze_html_0_5" + , disabledFlags = Set.fromList $ words "bytestring-in-base" , allowedPackage = const $ Right () , useGlobalDatabase = False } diff --git a/Stackage/Types.hs b/Stackage/Types.hs index 554b1b32..8837d51a 100644 --- a/Stackage/Types.hs +++ b/Stackage/Types.hs @@ -93,6 +93,8 @@ data SelectSettings = SelectSettings { haskellPlatformCabal :: FilePath , flags :: Set String -- ^ Compile flags which should be turned on. + , disabledFlags :: Set String + -- ^ Compile flags which should always be disabled. , extraCore :: Set PackageName , requireHaskellPlatform :: Bool , allowedPackage :: GenericPackageDescription -> Either String ()