aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CabalHelper/Licenses.hs14
-rw-r--r--CabalHelper/Main.hs15
-rw-r--r--cabal-helper.cabal6
3 files changed, 20 insertions, 15 deletions
diff --git a/CabalHelper/Licenses.hs b/CabalHelper/Licenses.hs
index eeebae7..4660c15 100644
--- a/CabalHelper/Licenses.hs
+++ b/CabalHelper/Licenses.hs
@@ -33,11 +33,15 @@ type CPackageIndex a = PackageIndex (InstalledPackageInfo_ a)
type CPackageIndex a = PackageIndex
#endif
-#if CABAL_MAJOR == 1 && CABAL_MINOR > 22
+#if CABAL_MAJOR == 1 && CABAL_MINOR >= 23
+type CInstalledPackageId = UnitId
+lookupInstalledPackageId' = lookupUnitId
+#elif CABAL_MAJOR == 1 && CABAL_MINOR > 22
type CInstalledPackageId = ComponentId
-lookupInstalledPackageId = lookupComponentId
+lookupInstalledPackageId' = lookupComponentId
#else
type CInstalledPackageId = InstalledPackageId
+lookupInstalledPackageId' = lookupInstalledPackageId
#endif
findTransitiveDependencies
@@ -50,7 +54,7 @@ findTransitiveDependencies pkgIdx set0 = go Set.empty (Set.toList set0)
go set (q : queue)
| q `Set.member` set = go set queue
| otherwise =
- case lookupInstalledPackageId pkgIdx q of
+ case lookupInstalledPackageId' pkgIdx q of
Nothing ->
-- Not found can mean that the package still needs to be
-- installed (e.g. a component of the target cabal package).
@@ -62,7 +66,7 @@ findTransitiveDependencies pkgIdx set0 = go Set.empty (Set.toList set0)
--------------------------------------------------------------------------------
getDependencyInstalledPackageIds
- :: LocalBuildInfo -> Set InstalledPackageId
+ :: LocalBuildInfo -> Set CInstalledPackageId
getDependencyInstalledPackageIds lbi =
findTransitiveDependencies (installedPkgs lbi) $
Set.fromList $ map fst $ externalPackageDeps lbi
@@ -71,7 +75,7 @@ getDependencyInstalledPackageIds lbi =
getDependencyInstalledPackageInfos
:: LocalBuildInfo -> [InstalledPackageInfo]
getDependencyInstalledPackageInfos lbi = catMaybes $
- map (lookupInstalledPackageId pkgIdx) $
+ map (lookupInstalledPackageId' pkgIdx) $
Set.toList (getDependencyInstalledPackageIds lbi)
where
pkgIdx = installedPkgs lbi
diff --git a/CabalHelper/Main.hs b/CabalHelper/Main.hs
index 2244859..2170d30 100644
--- a/CabalHelper/Main.hs
+++ b/CabalHelper/Main.hs
@@ -48,10 +48,10 @@ import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..),
externalPackageDeps,
withComponentsLBI,
withLibLBI)
-#if CABAL_MAJOR == 1 && CABAL_MINOR <= 22
+#if CABAL_MAJOR == 1 && CABAL_MINOR >= 23
+import Distribution.Simple.LocalBuildInfo (localUnitId)
+#elif CABAL_MAJOR == 1 && CABAL_MINOR <= 22
import Distribution.Simple.LocalBuildInfo (inplacePackageId)
-#else
-import Distribution.Simple.LocalBuildInfo (localComponentId)
#endif
import Distribution.Simple.GHC (componentGhcOptions)
@@ -413,7 +413,7 @@ removeInplaceDeps v lbi pd clbi = let
liboutdir = componentOutDir lbi (CLib lib)
libopts = (componentGhcOptions normal lbi libbi libclbi liboutdir) {
ghcOptPackageDBs = []
-#if CABAL_MAJOR == 1 && CABAL_MINOR > 22
+#if CABAL_MAJOR == 1 && CABAL_MINOR > 22 && CABAL_MINOR < 23
, ghcOptComponentId = NoFlag
#endif
}
@@ -426,10 +426,11 @@ removeInplaceDeps v lbi pd clbi = let
where
isInplaceDep :: (InstalledPackageId, PackageId) -> Bool
-#if CABAL_MAJOR == 1 && CABAL_MINOR <= 22
+#if CABAL_MAJOR == 1 && CABAL_MINOR >= 23
+ isInplaceDep (ipid, pid) = localUnitId lbi == ipid
+#elif CABAL_MAJOR == 1 && CABAL_MINOR <= 22
isInplaceDep (ipid, pid) = inplacePackageId pid == ipid
-#else
- isInplaceDep (ipid, pid) = localComponentId lbi == ipid
+
#endif
diff --git a/cabal-helper.cabal b/cabal-helper.cabal
index 1a11add..032405a 100644
--- a/cabal-helper.cabal
+++ b/cabal-helper.cabal
@@ -49,7 +49,7 @@ library
default-language: Haskell2010
GHC-Options: -Wall
Build-Depends: base >= 4.5 && < 5
- , Cabal >= 1.14 && < 1.23
+ , Cabal >= 1.14 && < 1.24
, directory
, filepath
, transformers
@@ -73,7 +73,7 @@ Executable cabal-helper-wrapper
X-Install-Target: $libexecdir
Build-Depends: base >= 4.5 && < 5
, bytestring
- , Cabal >= 1.14 && < 1.23
+ , Cabal >= 1.14 && < 1.24
, directory
, filepath
, process
@@ -102,7 +102,7 @@ Test-Suite spec
, cabal-helper
, extra
, unix
- , Cabal >= 1.14 && < 1.23
+ , Cabal >= 1.14 && < 1.24
, directory
, filepath
, transformers