summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-11-14 16:10:44 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-11-14 16:10:44 +0000
commit37557940c005d34fc755203139cfaa555fdb3cb8 (patch)
treeda682cfcd3dcd7e18f6363f7304bbaaf9463c6dc /utils
parent07e3238de5aff7456a5e8e4b5ba39040dae6806a (diff)
downloadhaskell-37557940c005d34fc755203139cfaa555fdb3cb8.tar.gz
FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
Diffstat (limited to 'utils')
-rw-r--r--utils/ghc-pkg/Main.hs37
1 files changed, 1 insertions, 36 deletions
diff --git a/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs
index 1d2620894f..2157d071a1 100644
--- a/utils/ghc-pkg/Main.hs
+++ b/utils/ghc-pkg/Main.hs
@@ -410,10 +410,9 @@ registerPackage input defines flags auto_ghci_libs update force = do
expanded <- expandEnvVars s defines force
- pkg0 <- parsePackageInfo expanded defines
+ pkg <- parsePackageInfo expanded defines
putStrLn "done."
- pkg <- resolveDeps db_stack pkg0
validatePackageConfig pkg db_stack auto_ghci_libs update force
let new_details = filter not_this (snd db_to_operate_on) ++ [pkg]
not_this p = package p /= package pkg
@@ -727,40 +726,6 @@ checkPackageId ipi =
[] -> die ("invalid package identifier: " ++ str)
_ -> die ("ambiguous package identifier: " ++ str)
--- ToDo: remove this (see #1837)
-resolveDeps :: PackageDBStack -> InstalledPackageInfo -> IO InstalledPackageInfo
-resolveDeps db_stack p = do
- when (not (null unversioned_deps)) $
- hPutStr stderr ("WARNING: unversioned dependencies are deprecated, "++
- "and will NOT be accepted by GHC 6.10: " ++
- unwords (map showPackageId unversioned_deps) ++ "\n")
- return (updateDeps p)
- where
- unversioned_deps = filter (not.realVersion) (depends p)
-
- -- The input package spec is allowed to give a package dependency
- -- without a version number; e.g.
- -- depends: base
- -- Here, we update these dependencies without version numbers to
- -- match the actual versions of the relevant packages installed.
- updateDeps p = p{depends = map resolveDep (depends p)}
-
- resolveDep dep_pkgid
- | realVersion dep_pkgid = dep_pkgid
- | otherwise = lookupDep dep_pkgid
-
- lookupDep dep_pkgid
- = let
- name = pkgName dep_pkgid
- in
- case [ pid | p <- concat (map snd db_stack),
- let pid = package p,
- pkgName pid == name ] of
- (pid:_) -> pid -- Found installed package,
- -- replete with its version
- [] -> dep_pkgid -- No installed package; use
- -- the version-less one
-
checkDuplicates :: PackageDBStack -> InstalledPackageInfo -> Bool -> IO ()
checkDuplicates db_stack pkg update = do
let