From 1f0f098762072ebb6d0f4632b6cee9f7ba51167d Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Wed, 14 Nov 2007 15:30:10 +0000 Subject: [PATCH] FIX #1837: emit deprecated message for unversioned dependencies --- utils/ghc-pkg/Main.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs index 16c7b89..996cd62 100644 --- a/utils/ghc-pkg/Main.hs +++ b/utils/ghc-pkg/Main.hs @@ -407,7 +407,7 @@ registerPackage input defines flags auto_ghci_libs update force = do pkg0 <- parsePackageInfo expanded defines putStrLn "done." - let pkg = resolveDeps db_stack pkg0 + 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 @@ -715,9 +715,17 @@ checkPackageId ipi = [] -> die ("invalid package identifier: " ++ str) _ -> die ("ambiguous package identifier: " ++ str) -resolveDeps :: PackageDBStack -> InstalledPackageInfo -> InstalledPackageInfo -resolveDeps db_stack p = updateDeps p +-- 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 -- 1.7.10.4