X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=utils%2Fghc-pkg%2FMain.hs;h=2157d071a118ffae2ecbdde84e526db501cadf2e;hp=1d2620894f79199682765187e211c12714f75211;hb=37557940c005d34fc755203139cfaa555fdb3cb8;hpb=07e3238de5aff7456a5e8e4b5ba39040dae6806a diff --git a/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs index 1d26208..2157d07 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