aboutsummaryrefslogtreecommitdiff
path: root/src/CabalHelper/Runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/CabalHelper/Runtime')
-rw-r--r--src/CabalHelper/Runtime/Compat.hs16
-rw-r--r--src/CabalHelper/Runtime/HelperMain.hs7
2 files changed, 19 insertions, 4 deletions
diff --git a/src/CabalHelper/Runtime/Compat.hs b/src/CabalHelper/Runtime/Compat.hs
index c845f47..ec62581 100644
--- a/src/CabalHelper/Runtime/Compat.hs
+++ b/src/CabalHelper/Runtime/Compat.hs
@@ -25,6 +25,9 @@ module CabalHelper.Runtime.Compat
, componentNameFromComponent
, componentOutDir
, internalPackageDBPath
+ , PackageFlag
+ , flagDefault
+ , flagName
, unFlagAssignment
) where
@@ -33,7 +36,6 @@ import System.FilePath
import Distribution.PackageDescription
( PackageDescription
, GenericPackageDescription(..)
- , Flag(..)
, FlagName
, FlagAssignment
, Executable(..)
@@ -51,6 +53,13 @@ import Distribution.Simple.LocalBuildInfo
, LocalBuildInfo(..)
)
+#if CH_MIN_VERSION_Cabal(3,4,0)
+-- >= 3.4.0
+import Distribution.PackageDescription (PackageFlag(..))
+#else
+-- < 3.4.0
+import Distribution.PackageDescription (Flag(..))
+#endif
#if CH_MIN_VERSION_Cabal(1,24,0)
import Distribution.Package (UnitId)
@@ -237,3 +246,8 @@ internalPackageDBPath lbi distPref =
#ifdef NOP_UN_FLAG_ASSIGNMENT
unFlagAssignment = id
#endif
+
+#if !CH_MIN_VERSION_Cabal(3,4,0)
+-- < 3.4.0
+type PackageFlag = Flag
+#endif
diff --git a/src/CabalHelper/Runtime/HelperMain.hs b/src/CabalHelper/Runtime/HelperMain.hs
index 12271bb..983223b 100644
--- a/src/CabalHelper/Runtime/HelperMain.hs
+++ b/src/CabalHelper/Runtime/HelperMain.hs
@@ -33,7 +33,6 @@ import Distribution.Package
import Distribution.PackageDescription
( PackageDescription
, GenericPackageDescription(..)
- , Flag(..)
, FlagName
, FlagAssignment
, Executable(..)
@@ -310,7 +309,9 @@ helper_main args = do
$ configFlags lbi
nonDefaultFlags =
[ (flag_name, val)
- | MkFlag {flagName=(unFlagName -> flag_name'), flagDefault=def_val} <- flagDefinitons
+ | flag <- flagDefinitons
+ , let flag_name' = unFlagName $ flagName flag
+ , let def_val = flagDefault flag
, (unFlagName -> flag_name, val) <- flagAssgnments
, flag_name == flag_name'
, val /= def_val
@@ -376,7 +377,7 @@ componentsInfo lvd@(lbi, v, distdir) pt = do
return uiComponents
-flagName' :: Distribution.PackageDescription.Flag -> String
+flagName' :: PackageFlag -> String
flagName' = unFlagName . flagName
componentsMap :: LocalBuildInfo