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
86871970
Commit
86871970
authored
Oct 07, 2007
by
bjorn@bringert.net
Browse files
Some refactoring of the Dependency module.
parent
0f959a1f
Changes
1
Hide whitespace changes
Inline
Side-by-side
cabal-install/src/Network/Hackage/CabalInstall/Dependency.hs
View file @
86871970
...
...
@@ -14,7 +14,6 @@ module Network.Hackage.CabalInstall.Dependency
(
-- * Dependency resolution
resolveDependencies
,
resolveDependenciesAux
-- * Utilities
,
depToUnresolvedDep
,
getPackages
-- :: [ResolvedPackage] -> [(PackageIdentifier,[String],String)]
...
...
@@ -164,23 +163,26 @@ finalizePackage comp installed available flags desc
(
showCompilerId
comp
,
compilerVersion
comp
)
(
pkgDesc
desc
)
resolveDependency
::
Compiler
->
[
PackageIdentifier
]
-- ^ Installed packages.
->
[
PkgInfo
]
-- ^ Installable packages
->
UnresolvedDependency
->
ResolvedPackage
resolveDependency
comp
installed
available
dep
=
let
rDep
=
getDependency
comp
installed
available
dep
in
case
resolvedData
rDep
of
Nothing
->
resolvedDepToResolvedPkg
(
dependency
dep
,
Nothing
)
_
->
rDep
-- |Resolve some dependencies from the known packages while filtering out installed packages.
-- The result hasn't been modified to put the dependencies in front of the packages.
resolveDependenciesAux
::
ConfigFlags
->
Compiler
->
ProgramConfiguration
resolveDependenciesAux
::
Compiler
->
[
PackageIdentifier
]
-- ^Installed packages.
->
[
PkgInfo
]
-- ^ Installable packages
->
[
UnresolvedDependency
]
-- ^Dependencies in need of resolution.
->
[
ResolvedPackage
]
resolveDependenciesAux
cfg
comp
conf
installed
available
deps
=
map
resolve
(
filter
(
not
.
isInstalled
installed
.
dependency
)
deps
)
where
resolve
dep
=
let
rDep
=
getDependency
comp
installed
available
dep
in
case
resolvedData
rDep
of
Nothing
->
resolvedDepToResolvedPkg
(
dependency
dep
,
Nothing
)
_
->
rDep
resolveDependenciesAux
comp
installed
available
=
map
(
resolveDependency
comp
installed
available
)
-- |Resolve some dependencies from the known packages while filtering out installed packages.
-- The result has been modified to put the dependencies in front of the packages.
...
...
@@ -192,4 +194,4 @@ resolveDependencies :: ConfigFlags
resolveDependencies
cfg
comp
conf
deps
=
do
installed
<-
listInstalledPackages
cfg
comp
conf
available
<-
getKnownPackages
cfg
return
$
flattenDepList
installed
$
resolveDependenciesAux
c
fg
comp
conf
installed
available
deps
return
$
flattenDepList
installed
$
resolveDependenciesAux
c
omp
installed
available
deps
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment