diff options
-rw-r--r-- | CabalHelper/Licenses.hs | 14 | ||||
-rw-r--r-- | CabalHelper/Main.hs | 15 | ||||
-rw-r--r-- | cabal-helper.cabal | 6 |
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 |