diff --git a/cabal-install/Distribution/Client/Dependency/Modular/ConfiguredConversion.hs b/cabal-install/Distribution/Client/Dependency/Modular/ConfiguredConversion.hs index b57e0377498cbf7f299bc7e84f7ac08464360a88..714eb845391afb2ec2d5ea3f77aa096ef4cdd13f 100644 --- a/cabal-install/Distribution/Client/Dependency/Modular/ConfiguredConversion.hs +++ b/cabal-install/Distribution/Client/Dependency/Modular/ConfiguredConversion.hs @@ -12,16 +12,14 @@ import Distribution.Client.Dependency.Modular.Configured import Distribution.Client.Dependency.Modular.Package import Distribution.Client.ComponentDeps (ComponentDeps) -import qualified Distribution.Client.ComponentDeps as CD convCP :: SI.InstalledPackageIndex -> CI.PackageIndex SourcePackage -> CP QPN -> ResolverPackage convCP iidx sidx (CP qpi fa es ds) = case convPI qpi of - Left pi -> PreExisting $ InstalledPackage + Left pi -> PreExisting (fromJust $ SI.lookupInstalledPackageId iidx pi) - (map confSrcId $ CD.nonSetupDeps ds') Right pi -> Configured $ ConfiguredPackage (fromJust $ CI.lookupPackageId sidx pi) fa diff --git a/cabal-install/Distribution/Client/Dependency/TopDown.hs b/cabal-install/Distribution/Client/Dependency/TopDown.hs index 0e00aab7480f12d451c567c38b87bd8bf24642b9..c91905552714d34103e2bbb5e8f8d4f43d3dddd7 100644 --- a/cabal-install/Distribution/Client/Dependency/TopDown.hs +++ b/cabal-install/Distribution/Client/Dependency/TopDown.hs @@ -292,7 +292,8 @@ topDownResolver' platform cinfo installedPkgIndex sourcePkgIndex $ finaliseSelectedPackages preferences selected' constraints' toResolverPackage :: FinalSelectedPackage -> ResolverPackage - toResolverPackage (SelectedInstalled pkg) = PreExisting pkg + toResolverPackage (SelectedInstalled (InstalledPackage pkg _)) + = PreExisting pkg toResolverPackage (SelectedSource pkg) = Configured pkg addTopLevelTargets :: [PackageName] diff --git a/cabal-install/Distribution/Client/Dependency/Types.hs b/cabal-install/Distribution/Client/Dependency/Types.hs index 8c0c833dfee41e5dab7c11fe373958d422dd18fc..184028a473ac7f368ad2f08b3d1226b485608209 100644 --- a/cabal-install/Distribution/Client/Dependency/Types.hs +++ b/cabal-install/Distribution/Client/Dependency/Types.hs @@ -46,8 +46,7 @@ import Data.Monoid #endif import Distribution.Client.Types - ( OptionalStanza(..), SourcePackage(..), ConfiguredPackage - , InstalledPackage ) + ( OptionalStanza(..), SourcePackage(..), ConfiguredPackage ) import Distribution.Compat.ReadP ( (<++) ) @@ -56,6 +55,8 @@ import qualified Distribution.Compat.ReadP as Parse ( pfail, munch1 ) import Distribution.PackageDescription ( FlagAssignment, FlagName(..) ) +import Distribution.InstalledPackageInfo + ( InstalledPackageInfo ) import qualified Distribution.Client.PackageIndex as PackageIndex ( PackageIndex ) import Distribution.Simple.PackageIndex ( InstalledPackageIndex ) @@ -128,7 +129,7 @@ type DependencyResolver = Platform -- -- This is like the 'InstallPlan.PlanPackage' but with fewer cases. -- -data ResolverPackage = PreExisting InstalledPackage +data ResolverPackage = PreExisting InstalledPackageInfo | Configured ConfiguredPackage -- | Per-package constraints. Package constraints must be respected by the diff --git a/cabal-install/Distribution/Client/InstallPlan.hs b/cabal-install/Distribution/Client/InstallPlan.hs index 0661f135173f4974d80c8ce9400ae344545c18ad..0822ee5a39c47f30d5f21de4c30959c403b74fd4 100644 --- a/cabal-install/Distribution/Client/InstallPlan.hs +++ b/cabal-install/Distribution/Client/InstallPlan.hs @@ -49,9 +49,9 @@ module Distribution.Client.InstallPlan ( import Distribution.Client.Types ( ConfiguredPackage(..) , ReadyPackage(..), readyPackageToConfiguredPackage - , InstalledPackage, BuildFailure, BuildSuccess(..) - , InstalledPackage(..), fakeInstalledPackageId + , BuildFailure, BuildSuccess(..) , PackageFixedDeps(..) + , fakeInstalledPackageId ) import Distribution.Package ( PackageIdentifier(..), PackageName(..), Package(..) @@ -74,6 +74,8 @@ import Distribution.Compiler ( CompilerInfo(..) ) import Distribution.Simple.Utils ( intercalate ) +import Distribution.InstalledPackageInfo + ( InstalledPackageInfo ) import qualified Distribution.InstalledPackageInfo as Installed import Data.Maybe @@ -141,7 +143,7 @@ type PlanIndex = PackageIndex PlanPackage -- 'PackageInstalled' instance it would be too easy to get this wrong (and, -- for instance, call graph traversal functions from Cabal rather than from -- cabal-install). Instead, see 'PackageFixedDeps'. -data PlanPackage = PreExisting InstalledPackage +data PlanPackage = PreExisting InstalledPackageInfo | Configured ConfiguredPackage | Processing ReadyPackage | Installed ReadyPackage BuildSuccess @@ -294,7 +296,7 @@ ready plan = assert check readyPackages Just (Configured _) -> Nothing Just (Processing _) -> Nothing Just (Failed _ _) -> internalError depOnFailed - Just (PreExisting (InstalledPackage instPkg _)) -> Just instPkg + Just (PreExisting instPkg) -> Just instPkg Just (Installed _ (BuildOk _ _ (Just instPkg))) -> Just instPkg Just (Installed _ (BuildOk _ _ Nothing)) -> internalError depOnNonLib Nothing -> internalError incomplete