Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
Packages
Cabal
Commits
1d101e65
Commit
1d101e65
authored
Apr 25, 2016
by
bardur.arantsson
Browse files
Move most solver code to new module namespace
parent
e2159225
Changes
72
Hide whitespace changes
Inline
Side-by-side
cabal-install/Distribution/Client/BuildReports/Storage.hs
View file @
1d101e65
...
...
@@ -28,10 +28,12 @@ import Distribution.Client.BuildReports.Anonymous (BuildReport)
import
Distribution.Client.Types
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
Distribution.Client.InstallPlan
(
InstallPlan
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Package
(
PackageId
,
packageId
)
import
Distribution.PackageDescription
...
...
cabal-install/Distribution/Client/Configure.hs
View file @
1d101e65
...
...
@@ -26,8 +26,6 @@ import qualified Distribution.Client.InstallPlan as InstallPlan
import
Distribution.Client.InstallPlan
(
SolverInstallPlan
)
import
Distribution.Client.IndexUtils
as
IndexUtils
(
getSourcePackages
,
getInstalledPackages
)
import
Distribution.Client.PackageIndex
(
PackageIndex
,
elemByPackageName
)
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Client.Setup
(
ConfigExFlags
(
..
),
configureCommand
,
filterConfigureFlags
,
RepoContext
(
..
)
)
...
...
@@ -36,10 +34,17 @@ import Distribution.Client.SetupWrapper
(
setupWrapper
,
SetupScriptOptions
(
..
),
defaultSetupScriptOptions
)
import
Distribution.Client.Targets
(
userToPackageConstraint
,
userConstraintPackageName
)
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
Distribution.Package
(
PackageId
)
import
Distribution.Client.JobControl
(
Lock
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.OptionalStanza
import
Distribution.Solver.Types.PackageIndex
(
PackageIndex
,
elemByPackageName
)
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Simple.Compiler
(
Compiler
,
CompilerInfo
,
compilerInfo
,
PackageDB
(
..
),
PackageDBStack
)
import
Distribution.Simple.Program
(
ProgramConfiguration
)
...
...
@@ -292,7 +297,7 @@ planLocalPackage verbosity comp platform configFlags configExFlags
let
-- We create a local package and ask to resolve a dependency on it
localPkg
=
SourcePackage
{
packageInfoId
=
packageId
pkg
,
Source
.
packageDescription
=
pkg
,
packageDescription
=
pkg
,
packageSource
=
LocalUnpackedPackage
"."
,
packageDescrOverride
=
Nothing
}
...
...
cabal-install/Distribution/Client/Dependency.hs
View file @
1d101e65
...
...
@@ -63,34 +63,26 @@ module Distribution.Client.Dependency (
import
Distribution.Client.Dependency.TopDown
(
topDownResolver
)
import
Distribution.
Client.Dependency
.Modular
import
Distribution.
Solver
.Modular
(
modularResolver
,
SolverConfig
(
..
)
)
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
import
Distribution.Simple.PackageIndex
(
InstalledPackageIndex
)
import
qualified
Distribution.Simple.PackageIndex
as
InstalledPackageIndex
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
Distribution.Client.InstallPlan
(
SolverInstallPlan
)
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
)
import
Distribution.Client.Types
(
SourcePackageDb
(
SourcePackageDb
),
SourcePackage
(
..
)
,
SolverPackage
(
..
),
SolverId
(
..
)
(
SourcePackageDb
(
SourcePackageDb
)
,
UnresolvedPkgLoc
,
UnresolvedSourcePackage
,
OptionalStanza
(
..
),
enableStanzas
)
,
enableStanzas
)
import
Distribution.Client.Dependency.Types
(
PreSolver
(
..
),
Solver
(
..
),
DependencyResolver
,
ResolverPackage
(
..
)
,
ReorderGoals
(
..
),
IndependentGoals
(
..
),
AvoidReinstalls
(
..
)
,
ShadowPkgs
(
..
),
StrongFlags
(
..
),
EnableBackjumping
(
..
)
,
PackageConstraint
(
..
),
showPackageConstraint
,
LabeledPackageConstraint
(
..
),
unlabelPackageConstraint
,
ConstraintSource
(
..
),
showConstraintSource
,
PackagePreferences
(
..
),
InstalledPreference
(
..
)
,
PackagesPreferenceDefault
(
..
)
,
Progress
(
..
),
foldProgress
)
,
PackagesPreferenceDefault
(
..
)
)
import
Distribution.Client.Sandbox.Types
(
SandboxPackageInfo
(
..
)
)
import
Distribution.Client.Targets
import
Distribution.Client.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
qualified
Distribution.InstalledPackageInfo
as
Installed
import
Distribution.Package
(
PackageName
(
..
),
PackageIdentifier
(
PackageIdentifier
),
PackageId
...
...
@@ -122,6 +114,17 @@ import Distribution.Text
import
Distribution.Verbosity
(
Verbosity
)
import
Distribution.Solver.Types.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.OptionalStanza
import
qualified
Distribution.Solver.Types.PackageIndex
as
PackageIndex
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
)
import
Distribution.Solver.Types.Progress
import
Distribution.Solver.Types.Settings
import
Distribution.Solver.Types.SolverId
import
Distribution.Solver.Types.SolverPackage
import
Distribution.Solver.Types.SourcePackage
import
Data.List
(
foldl'
,
sort
,
sortBy
,
nubBy
,
maximumBy
,
intercalate
,
nub
)
import
Data.Function
(
on
)
...
...
cabal-install/Distribution/Client/Dependency/TopDown.hs
View file @
1d101e65
...
...
@@ -20,24 +20,16 @@ import qualified Distribution.Client.Dependency.TopDown.Constraints as Constrain
import
Distribution.Client.Dependency.TopDown.Constraints
(
Satisfiable
(
..
)
)
import
Distribution.Client.Types
(
SourcePackage
(
..
),
SolverPackage
(
..
)
,
UnresolvedPkgLoc
,
UnresolvedSourcePackage
,
enableStanzas
,
SolverId
(
..
)
)
(
UnresolvedPkgLoc
,
UnresolvedSourcePackage
,
enableStanzas
)
import
Distribution.Client.Dependency.Types
(
DependencyResolver
,
ResolverPackage
(
..
)
,
PackageConstraint
(
..
),
unlabelPackageConstraint
,
PackagePreferences
(
..
),
InstalledPreference
(
..
)
,
Progress
(
..
),
foldProgress
)
,
PackagePreferences
(
..
),
InstalledPreference
(
..
)
)
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
import
qualified
Distribution.Simple.PackageIndex
as
InstalledPackageIndex
import
Distribution.Simple.PackageIndex
(
InstalledPackageIndex
)
import
qualified
Distribution.InstalledPackageInfo
as
InstalledPackageInfo
import
Distribution.Client.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
Distribution.Client.PackageIndex
(
PackageIndex
)
import
Distribution.Package
(
PackageName
(
..
),
PackageId
,
PackageIdentifier
(
..
)
,
UnitId
(
..
),
ComponentId
(
..
)
...
...
@@ -61,6 +53,15 @@ import Distribution.Simple.Utils
import
Distribution.Text
(
display
)
import
Distribution.Solver.Types.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
qualified
Distribution.Solver.Types.PackageIndex
as
PackageIndex
import
Distribution.Solver.Types.PackageIndex
(
PackageIndex
)
import
Distribution.Solver.Types.Progress
import
Distribution.Solver.Types.SolverId
import
Distribution.Solver.Types.SolverPackage
import
Distribution.Solver.Types.SourcePackage
import
Data.List
(
foldl'
,
maximumBy
,
minimumBy
,
nub
,
sort
,
sortBy
,
groupBy
)
import
Data.Maybe
...
...
cabal-install/Distribution/Client/Dependency/TopDown/Constraints.hs
View file @
1d101e65
...
...
@@ -25,9 +25,6 @@ module Distribution.Client.Dependency.TopDown.Constraints (
)
where
import
Distribution.Client.Dependency.TopDown.Types
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
import
Distribution.Client.PackageIndex
(
PackageIndex
)
import
Distribution.Package
(
PackageName
,
PackageId
,
PackageIdentifier
(
..
)
,
Package
(
packageId
),
packageName
,
packageVersion
...
...
@@ -37,6 +34,9 @@ import Distribution.Version
import
Distribution.Client.Utils
(
mergeBy
,
MergeResult
(
..
)
)
import
qualified
Distribution.Solver.Types.PackageIndex
as
PackageIndex
import
Distribution.Solver.Types.PackageIndex
(
PackageIndex
)
#
if
!
MIN_VERSION_base
(
4
,
8
,
0
)
import
Data.Monoid
(
Monoid
(
mempty
)
)
...
...
cabal-install/Distribution/Client/Dependency/TopDown/Types.hs
View file @
1d101e65
...
...
@@ -14,11 +14,14 @@
module
Distribution.Client.Dependency.TopDown.Types
where
import
Distribution.Client.Types
(
UnresolvedPkgLoc
,
UnresolvedSourcePackage
,
OptionalStanza
,
SolverPackage
(
..
),
SolverId
(
..
)
)
(
UnresolvedPkgLoc
,
UnresolvedSourcePackage
)
import
Distribution.InstalledPackageInfo
(
InstalledPackageInfo
)
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.OptionalStanza
import
Distribution.Solver.Types.SolverPackage
import
Distribution.Solver.Types.SolverId
import
Distribution.Package
(
PackageId
,
PackageIdentifier
,
Dependency
...
...
cabal-install/Distribution/Client/Dependency/Types.hs
View file @
1d101e65
{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
...
...
@@ -18,13 +17,6 @@ module Distribution.Client.Dependency.Types (
PreSolver
(
..
),
Solver
(
..
),
ReorderGoals
(
..
),
IndependentGoals
(
..
),
AvoidReinstalls
(
..
),
ShadowPkgs
(
..
),
StrongFlags
(
..
),
EnableBackjumping
(
..
),
DependencyResolver
,
ResolverPackage
(
..
),
...
...
@@ -34,9 +26,6 @@ module Distribution.Client.Dependency.Types (
InstalledPreference
(
..
),
PackagesPreferenceDefault
(
..
),
Progress
(
..
),
foldProgress
,
LabeledPackageConstraint
(
..
),
ConstraintSource
(
..
),
unlabelPackageConstraint
,
...
...
@@ -44,24 +33,15 @@ module Distribution.Client.Dependency.Types (
)
where
#
if
!
MIN_VERSION_base
(
4
,
8
,
0
)
import
Control.Applicative
(
Applicative
(
..
)
)
#
endif
import
Control.Applicative
(
Alternative
(
..
)
)
import
Data.Char
(
isAlpha
,
toLower
)
#
if
!
MIN_VERSION_base
(
4
,
8
,
0
)
import
Data.Monoid
(
Monoid
(
..
)
)
#
endif
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
)
import
Distribution.Client.Types
(
OptionalStanza
(
..
),
SourcePackage
(
..
),
SolverPackage
)
import
Distribution.Solver.Types.OptionalStanza
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
)
import
Distribution.Solver.Types.PackageIndex
(
PackageIndex
)
import
Distribution.Solver.Types.Progress
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Solver.Types.SolverPackage
import
qualified
Distribution.Compat.ReadP
as
Parse
(
pfail
,
munch1
)
...
...
@@ -69,10 +49,7 @@ import Distribution.PackageDescription
(
FlagAssignment
,
FlagName
(
..
)
)
import
Distribution.InstalledPackageInfo
(
InstalledPackageInfo
)
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
(
PackageIndex
)
import
Distribution.Simple.PackageIndex
(
InstalledPackageIndex
)
import
Distribution.Simple.Setup
(
BooleanFlag
(
..
)
)
import
Distribution.Package
(
PackageName
)
import
Distribution.Version
...
...
@@ -115,30 +92,6 @@ instance Text PreSolver where
"choose"
->
return
Choose
_
->
Parse
.
pfail
newtype
ReorderGoals
=
ReorderGoals
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
newtype
IndependentGoals
=
IndependentGoals
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
newtype
AvoidReinstalls
=
AvoidReinstalls
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
newtype
ShadowPkgs
=
ShadowPkgs
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
newtype
StrongFlags
=
StrongFlags
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
newtype
EnableBackjumping
=
EnableBackjumping
Bool
deriving
(
BooleanFlag
,
Eq
,
Generic
,
Show
)
instance
Binary
ReorderGoals
instance
Binary
IndependentGoals
instance
Binary
AvoidReinstalls
instance
Binary
ShadowPkgs
instance
Binary
StrongFlags
-- | A dependency resolver is a function that works out an installation plan
-- given the set of installed and available packages and a set of deps to
-- solve for.
...
...
@@ -150,7 +103,7 @@ instance Binary StrongFlags
type
DependencyResolver
loc
=
Platform
->
CompilerInfo
->
InstalledPackageIndex
->
PackageIndex
.
PackageIndex
(
SourcePackage
loc
)
->
PackageIndex
(
SourcePackage
loc
)
->
PkgConfigDb
->
(
PackageName
->
PackagePreferences
)
->
[
LabeledPackageConstraint
]
...
...
@@ -247,41 +200,6 @@ data PackagesPreferenceDefault =
|
PreferLatestForSelected
deriving
Show
-- | A type to represent the unfolding of an expensive long running
-- calculation that may fail. We may get intermediate steps before the final
-- result which may be used to indicate progress and\/or logging messages.
--
data
Progress
step
fail
done
=
Step
step
(
Progress
step
fail
done
)
|
Fail
fail
|
Done
done
deriving
(
Functor
)
-- | Consume a 'Progress' calculation. Much like 'foldr' for lists but with two
-- base cases, one for a final result and one for failure.
--
-- Eg to convert into a simple 'Either' result use:
--
-- > foldProgress (flip const) Left Right
--
foldProgress
::
(
step
->
a
->
a
)
->
(
fail
->
a
)
->
(
done
->
a
)
->
Progress
step
fail
done
->
a
foldProgress
step
fail
done
=
fold
where
fold
(
Step
s
p
)
=
step
s
(
fold
p
)
fold
(
Fail
f
)
=
fail
f
fold
(
Done
r
)
=
done
r
instance
Monad
(
Progress
step
fail
)
where
return
=
pure
p
>>=
f
=
foldProgress
Step
Fail
f
p
instance
Applicative
(
Progress
step
fail
)
where
pure
a
=
Done
a
p
<*>
x
=
foldProgress
Step
Fail
(
flip
fmap
x
)
p
instance
Monoid
fail
=>
Alternative
(
Progress
step
fail
)
where
empty
=
Fail
mempty
p
<|>
q
=
foldProgress
Step
(
const
q
)
Done
p
-- | 'PackageConstraint' labeled with its source.
data
LabeledPackageConstraint
=
LabeledPackageConstraint
PackageConstraint
ConstraintSource
...
...
cabal-install/Distribution/Client/Fetch.hs
View file @
1d101e65
...
...
@@ -22,11 +22,13 @@ import Distribution.Client.Dependency
import
Distribution.Client.IndexUtils
as
IndexUtils
(
getSourcePackages
,
getInstalledPackages
)
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Client.Setup
(
GlobalFlags
(
..
),
FetchFlags
(
..
),
RepoContext
(
..
)
)
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Solver.Types.SolverPackage
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Package
(
packageId
)
import
Distribution.Simple.Compiler
...
...
cabal-install/Distribution/Client/Freeze.hs
View file @
1d101e65
...
...
@@ -27,8 +27,6 @@ import Distribution.Client.IndexUtils as IndexUtils
import
Distribution.Client.InstallPlan
(
SolverInstallPlan
,
SolverPlanPackage
)
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Client.Setup
(
GlobalFlags
(
..
),
FreezeFlags
(
..
),
ConfigExFlags
(
..
)
,
RepoContext
(
..
)
)
...
...
@@ -38,6 +36,11 @@ import Distribution.Client.Sandbox.PackageEnvironment
import
Distribution.Client.Sandbox.Types
(
SandboxPackageInfo
(
..
)
)
import
Distribution.Solver.Types.OptionalStanza
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Solver.Types.SolverId
import
Distribution.Package
(
Package
,
packageId
,
packageName
,
packageVersion
,
installedUnitId
)
import
Distribution.Simple.Compiler
...
...
cabal-install/Distribution/Client/Get.hs
View file @
1d101e65
...
...
@@ -43,6 +43,8 @@ import Distribution.Client.Compat.Process
import
Distribution.Compat.Exception
(
catchIO
)
import
Distribution.Solver.Types.SourcePackage
import
Control.Exception
(
finally
)
import
Control.Monad
...
...
cabal-install/Distribution/Client/IndexUtils.hs
View file @
1d101e65
...
...
@@ -41,8 +41,6 @@ import Distribution.Package
(
PackageId
,
PackageIdentifier
(
..
),
PackageName
(
..
)
,
Package
(
..
),
packageVersion
,
packageName
,
Dependency
(
Dependency
)
)
import
Distribution.Client.PackageIndex
(
PackageIndex
)
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
import
Distribution.Simple.PackageIndex
(
InstalledPackageIndex
)
import
qualified
Distribution.PackageDescription.Parse
as
PackageDesc.Parse
import
Distribution.PackageDescription
...
...
@@ -68,6 +66,10 @@ import Distribution.Simple.Utils
import
Distribution.Client.Setup
(
RepoContext
(
..
)
)
import
Distribution.Solver.Types.PackageIndex
(
PackageIndex
)
import
qualified
Distribution.Solver.Types.PackageIndex
as
PackageIndex
import
Distribution.Solver.Types.SourcePackage
import
Data.Char
(
isAlphaNum
)
import
Data.Maybe
(
mapMaybe
,
catMaybes
,
maybeToList
)
import
Data.List
(
isPrefixOf
)
...
...
cabal-install/Distribution/Client/Init.hs
View file @
1d101e65
...
...
@@ -95,8 +95,9 @@ import Distribution.Simple.PackageIndex
import
Distribution.Text
(
display
,
Text
(
..
)
)
import
Distribution.
Client
.PackageIndex
import
Distribution.
Solver.Types
.PackageIndex
(
elemByPackageName
)
import
Distribution.Client.IndexUtils
(
getSourcePackages
)
import
Distribution.Client.Types
...
...
cabal-install/Distribution/Client/Init/Heuristics.hs
View file @
1d101e65
...
...
@@ -24,8 +24,6 @@ import Distribution.Text (simpleParse)
import
Distribution.Simple.Setup
(
Flag
(
..
),
flagToMaybe
)
import
Distribution.ModuleName
(
ModuleName
,
toFilePath
)
import
Distribution.Client.PackageIndex
(
allPackagesByName
)
import
qualified
Distribution.Package
as
P
import
qualified
Distribution.PackageDescription
as
PD
(
category
,
packageDescription
)
...
...
@@ -35,7 +33,12 @@ import Distribution.Client.Utils
(
tryCanonicalizePath
)
import
Language.Haskell.Extension
(
Extension
)
import
Distribution.Client.Types
(
packageDescription
,
SourcePackageDb
(
..
)
)
import
Distribution.Solver.Types.PackageIndex
(
allPackagesByName
)
import
Distribution.Solver.Types.SourcePackage
(
packageDescription
)
import
Distribution.Client.Types
(
SourcePackageDb
(
..
)
)
#
if
!
MIN_VERSION_base
(
4
,
8
,
0
)
import
Control.Applicative
(
pure
,
(
<$>
),
(
<*>
)
)
import
Data.Monoid
(
mempty
,
mappend
,
mconcat
)
...
...
cabal-install/Distribution/Client/Install.hs
View file @
1d101e65
...
...
@@ -103,13 +103,19 @@ import qualified Distribution.Client.BuildReports.Storage as BuildReports
(
storeAnonymous
,
storeLocal
,
fromInstallPlan
,
fromPlanningFailure
)
import
qualified
Distribution.Client.InstallSymlink
as
InstallSymlink
(
symlinkBinaries
)
import
qualified
Distribution.Client.PackageIndex
as
SourcePackageIndex
import
qualified
Distribution.Client.Win32SelfUpgrade
as
Win32SelfUpgrade
import
qualified
Distribution.Client.World
as
World
import
qualified
Distribution.InstalledPackageInfo
as
Installed
import
Distribution.Client.Compat.ExecutablePath
import
Distribution.Client.JobControl
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.OptionalStanza
import
qualified
Distribution.Solver.Types.PackageIndex
as
SourcePackageIndex
import
Distribution.Solver.Types.PackageFixedDeps
import
Distribution.Solver.Types.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.Solver.Types.SourcePackage
as
SourcePackage
import
Distribution.Utils.NubList
import
Distribution.Simple.Compiler
...
...
@@ -148,8 +154,6 @@ import Distribution.PackageDescription
,
FlagName
(
..
),
FlagAssignment
)
import
Distribution.PackageDescription.Configuration
(
finalizePackageDescription
)
import
Distribution.Client.PkgConfigDb
(
PkgConfigDb
,
readPkgConfigDb
)
import
Distribution.ParseUtils
(
showPWarning
)
import
Distribution.Version
...
...
@@ -692,7 +696,7 @@ printPlan dryRun verbosity plan sourcePkgDb = case plan of
nonDefaultFlags
cpkg
=
let
defaultAssignment
=
toFlagAssignment
(
genPackageFlags
(
Source
.
packageDescription
(
confPkgSource
cpkg
))
)
(
genPackageFlags
(
Source
Package
.
packageDescription
$
confPkgSource
cpkg
))
in
confPkgFlags
cpkg
\\
defaultAssignment
showStanzas
::
[
OptionalStanza
]
->
String
...
...
cabal-install/Distribution/Client/InstallPlan.hs
View file @
1d101e65
...
...
@@ -61,18 +61,13 @@ import Distribution.InstalledPackageInfo
import
Distribution.Package
(
PackageIdentifier
(
..
),
PackageName
(
..
),
Package
(
..
)
,
HasUnitId
(
..
),
UnitId
(
..
)
)
import
Distribution.Client.Dependency.Types
(
IndependentGoals
(
..
)
)
import
Distribution.Client.Types
(
BuildSuccess
,
BuildFailure
,
PackageFixedDeps
(
..
)
,
ConfiguredPackage
(
..
),
ConfiguredId
(
..
)
,
UnresolvedPkgLoc
,
SolverPackage
(
..
)
,
UnresolvedPkgLoc
,
GenericReadyPackage
(
..
)
)
import
Distribution.Version
(
Version
)
import
Distribution.Client.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
Distribution.Simple.PackageIndex
(
PackageIndex
)
import
qualified
Distribution.Simple.Configure
as
Configure
...
...
@@ -82,6 +77,13 @@ import qualified Distribution.Simple.PackageIndex as PackageIndex
import
qualified
Distribution.Client.PlanIndex
as
PlanIndex
import
Distribution.Text
(
display
)
import
Distribution.Solver.Types.ComponentDeps
(
ComponentDeps
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.PackageFixedDeps
import
Distribution.Solver.Types.Settings
import
Distribution.Solver.Types.SolverPackage
-- TODO: Need this when we compute final UnitIds
-- import qualified Distribution.Simple.Configure as Configure
...
...
cabal-install/Distribution/Client/InstallSymlink.hs
View file @
1d101e65
...
...
@@ -38,14 +38,15 @@ symlinkBinary _ _ _ _ = fail "Symlinking feature not available on Windows"
#
else
import
Distribution.Client.Types
(
SourcePackage
(
..
)
,
GenericReadyPackage
(
..
),
ReadyPackage
,
enableStanzas
(
GenericReadyPackage
(
..
),
ReadyPackage
,
enableStanzas
,
ConfiguredPackage
(
..
))
import
Distribution.Client.Setup
(
InstallFlags
(
installSymlinkBinDir
)
)
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
Distribution.Client.InstallPlan
(
InstallPlan
)
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Package
(
PackageIdentifier
,
Package
(
packageId
),
UnitId
(
..
),
installedUnitId
)
import
Distribution.Compiler
...
...
cabal-install/Distribution/Client/List.hs
View file @
1d101e65
...
...
@@ -34,7 +34,6 @@ import Distribution.Simple.Utils
import
Distribution.Simple.Setup
(
fromFlag
)
import
Distribution.Simple.PackageIndex
(
InstalledPackageIndex
)
import
qualified
Distribution.Simple.PackageIndex
as
InstalledPackageIndex
import
qualified
Distribution.Client.PackageIndex
as
PackageIndex
import
Distribution.Version
(
Version
(
..
),
VersionRange
,
withinRange
,
anyVersion
,
intersectVersionRanges
,
simplifyVersionRange
)
...
...
@@ -42,8 +41,11 @@ import Distribution.Verbosity (Verbosity)
import
Distribution.Text
(
Text
(
disp
),
display
)
import
qualified
Distribution.Solver.Types.PackageIndex
as
PackageIndex
import
Distribution.Solver.Types.SourcePackage
import
Distribution.Client.Types
(
SourcePackage
(
..
),
SourcePackageDb
(
..
)
(
SourcePackageDb
(
..
)
,
UnresolvedSourcePackage
)
import
Distribution.Client.Dependency.Types
(
PackageConstraint
(
..
)
)
...
...
cabal-install/Distribution/Client/PlanIndex.hs
View file @
1d101e65
...
...
@@ -31,10 +31,10 @@ import Distribution.Package
import
Distribution.Version
(
Version
)
import
qualified
Distribution.
Client
.ComponentDeps
as
CD
import
Distribution.
Client.Dependency.Type
s
import
Distribution.
Client.Type
s
(
PackageFixedDeps
(
..
)
)
import
qualified
Distribution.
Solver.Types
.ComponentDeps
as
CD
import
Distribution.
Solver.Types.PackageFixedDep
s
import
Distribution.
Solver.Types.Setting
s
import
Distribution.Simple.PackageIndex
(
PackageIndex
,
allPackages
,
insert
,
lookupUnitId
)
import
Distribution.Package
...
...
cabal-install/Distribution/Client/ProjectBuilding.hs
View file @
1d101e65
...
...
@@ -21,13 +21,10 @@ import Distribution.Client.ProjectPlanning
import
Distribution.Client.Types
(
PackageLocation
(
..
),
GenericReadyPackage
(
..
)
,
PackageFixedDeps
(
..
)
,
InstalledPackageId
,
installedPackageId
)
import
Distribution.Client.InstallPlan
(
GenericInstallPlan
,
GenericPlanPackage
)
import
qualified
Distribution.Client.InstallPlan
as
InstallPlan
import
qualified
Distribution.Client.ComponentDeps
as
CD
import
Distribution.Client.ComponentDeps
(
ComponentDeps
)
import
Distribution.Client.DistDirLayout
import
Distribution.Client.FileMonitor
import
Distribution.Client.SetupWrapper
...
...
@@ -39,6 +36,10 @@ import Distribution.Client.Setup (filterConfigureFlags)
import
Distribution.Client.SrcDist
(
allPackageSourceFiles
)
import
Distribution.Client.Utils
(
removeExistingFile
)
import
qualified
Distribution.Solver.Types.ComponentDeps
as
CD
import
Distribution.Solver.Types.ComponentDeps
(
ComponentDeps
)
import
Distribution.Solver.Types.PackageFixedDeps
import
Distribution.Package
hiding
(
InstalledPackageId
,
installedPackageId
)