Skip to content
Snippets Groups Projects
Commit 3f3410bd authored by Duncan Coutts's avatar Duncan Coutts Committed by Mikhail Glushenkov
Browse files

Remove a couple uses of the InstalledPackage wrapper type

Removed from the InstallPlan and solver interface.
The InstalledPackage is really just there for the benefit of the old
TopDown solver which needs to know source deps.
parent 5b90298d
No related branches found
No related tags found
No related merge requests found
...@@ -12,16 +12,14 @@ import Distribution.Client.Dependency.Modular.Configured ...@@ -12,16 +12,14 @@ import Distribution.Client.Dependency.Modular.Configured
import Distribution.Client.Dependency.Modular.Package import Distribution.Client.Dependency.Modular.Package
import Distribution.Client.ComponentDeps (ComponentDeps) import Distribution.Client.ComponentDeps (ComponentDeps)
import qualified Distribution.Client.ComponentDeps as CD
convCP :: SI.InstalledPackageIndex -> CI.PackageIndex SourcePackage -> convCP :: SI.InstalledPackageIndex -> CI.PackageIndex SourcePackage ->
CP QPN -> ResolverPackage CP QPN -> ResolverPackage
convCP iidx sidx (CP qpi fa es ds) = convCP iidx sidx (CP qpi fa es ds) =
case convPI qpi of case convPI qpi of
Left pi -> PreExisting $ InstalledPackage Left pi -> PreExisting
(fromJust $ SI.lookupInstalledPackageId iidx pi) (fromJust $ SI.lookupInstalledPackageId iidx pi)
(map confSrcId $ CD.nonSetupDeps ds')
Right pi -> Configured $ ConfiguredPackage Right pi -> Configured $ ConfiguredPackage
(fromJust $ CI.lookupPackageId sidx pi) (fromJust $ CI.lookupPackageId sidx pi)
fa fa
......
...@@ -292,7 +292,8 @@ topDownResolver' platform cinfo installedPkgIndex sourcePkgIndex ...@@ -292,7 +292,8 @@ topDownResolver' platform cinfo installedPkgIndex sourcePkgIndex
$ finaliseSelectedPackages preferences selected' constraints' $ finaliseSelectedPackages preferences selected' constraints'
toResolverPackage :: FinalSelectedPackage -> ResolverPackage toResolverPackage :: FinalSelectedPackage -> ResolverPackage
toResolverPackage (SelectedInstalled pkg) = PreExisting pkg toResolverPackage (SelectedInstalled (InstalledPackage pkg _))
= PreExisting pkg
toResolverPackage (SelectedSource pkg) = Configured pkg toResolverPackage (SelectedSource pkg) = Configured pkg
addTopLevelTargets :: [PackageName] addTopLevelTargets :: [PackageName]
......
...@@ -46,8 +46,7 @@ import Data.Monoid ...@@ -46,8 +46,7 @@ import Data.Monoid
#endif #endif
import Distribution.Client.Types import Distribution.Client.Types
( OptionalStanza(..), SourcePackage(..), ConfiguredPackage ( OptionalStanza(..), SourcePackage(..), ConfiguredPackage )
, InstalledPackage )
import Distribution.Compat.ReadP import Distribution.Compat.ReadP
( (<++) ) ( (<++) )
...@@ -56,6 +55,8 @@ import qualified Distribution.Compat.ReadP as Parse ...@@ -56,6 +55,8 @@ import qualified Distribution.Compat.ReadP as Parse
( pfail, munch1 ) ( pfail, munch1 )
import Distribution.PackageDescription import Distribution.PackageDescription
( FlagAssignment, FlagName(..) ) ( FlagAssignment, FlagName(..) )
import Distribution.InstalledPackageInfo
( InstalledPackageInfo )
import qualified Distribution.Client.PackageIndex as PackageIndex import qualified Distribution.Client.PackageIndex as PackageIndex
( PackageIndex ) ( PackageIndex )
import Distribution.Simple.PackageIndex ( InstalledPackageIndex ) import Distribution.Simple.PackageIndex ( InstalledPackageIndex )
...@@ -128,7 +129,7 @@ type DependencyResolver = Platform ...@@ -128,7 +129,7 @@ type DependencyResolver = Platform
-- --
-- This is like the 'InstallPlan.PlanPackage' but with fewer cases. -- This is like the 'InstallPlan.PlanPackage' but with fewer cases.
-- --
data ResolverPackage = PreExisting InstalledPackage data ResolverPackage = PreExisting InstalledPackageInfo
| Configured ConfiguredPackage | Configured ConfiguredPackage
-- | Per-package constraints. Package constraints must be respected by the -- | Per-package constraints. Package constraints must be respected by the
......
...@@ -49,9 +49,9 @@ module Distribution.Client.InstallPlan ( ...@@ -49,9 +49,9 @@ module Distribution.Client.InstallPlan (
import Distribution.Client.Types import Distribution.Client.Types
( ConfiguredPackage(..) ( ConfiguredPackage(..)
, ReadyPackage(..), readyPackageToConfiguredPackage , ReadyPackage(..), readyPackageToConfiguredPackage
, InstalledPackage, BuildFailure, BuildSuccess(..) , BuildFailure, BuildSuccess(..)
, InstalledPackage(..), fakeInstalledPackageId
, PackageFixedDeps(..) , PackageFixedDeps(..)
, fakeInstalledPackageId
) )
import Distribution.Package import Distribution.Package
( PackageIdentifier(..), PackageName(..), Package(..) ( PackageIdentifier(..), PackageName(..), Package(..)
...@@ -74,6 +74,8 @@ import Distribution.Compiler ...@@ -74,6 +74,8 @@ import Distribution.Compiler
( CompilerInfo(..) ) ( CompilerInfo(..) )
import Distribution.Simple.Utils import Distribution.Simple.Utils
( intercalate ) ( intercalate )
import Distribution.InstalledPackageInfo
( InstalledPackageInfo )
import qualified Distribution.InstalledPackageInfo as Installed import qualified Distribution.InstalledPackageInfo as Installed
import Data.Maybe import Data.Maybe
...@@ -141,7 +143,7 @@ type PlanIndex = PackageIndex PlanPackage ...@@ -141,7 +143,7 @@ type PlanIndex = PackageIndex PlanPackage
-- 'PackageInstalled' instance it would be too easy to get this wrong (and, -- 'PackageInstalled' instance it would be too easy to get this wrong (and,
-- for instance, call graph traversal functions from Cabal rather than from -- for instance, call graph traversal functions from Cabal rather than from
-- cabal-install). Instead, see 'PackageFixedDeps'. -- cabal-install). Instead, see 'PackageFixedDeps'.
data PlanPackage = PreExisting InstalledPackage data PlanPackage = PreExisting InstalledPackageInfo
| Configured ConfiguredPackage | Configured ConfiguredPackage
| Processing ReadyPackage | Processing ReadyPackage
| Installed ReadyPackage BuildSuccess | Installed ReadyPackage BuildSuccess
...@@ -294,7 +296,7 @@ ready plan = assert check readyPackages ...@@ -294,7 +296,7 @@ ready plan = assert check readyPackages
Just (Configured _) -> Nothing Just (Configured _) -> Nothing
Just (Processing _) -> Nothing Just (Processing _) -> Nothing
Just (Failed _ _) -> internalError depOnFailed 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 _ _ (Just instPkg))) -> Just instPkg
Just (Installed _ (BuildOk _ _ Nothing)) -> internalError depOnNonLib Just (Installed _ (BuildOk _ _ Nothing)) -> internalError depOnNonLib
Nothing -> internalError incomplete Nothing -> internalError incomplete
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment