Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/382ccd315716f5fa9b5afd355569a3ced94db343 >--------------------------------------------------------------- commit 382ccd315716f5fa9b5afd355569a3ced94db343 Author: Duncan Coutts <[email protected]> Date: Fri Jan 18 23:00:04 2008 +0000 Treat package names given on the command line case insenitively Implements feature request #167. >--------------------------------------------------------------- cabal-install/Hackage/Fetch.hs | 4 +++- cabal-install/Hackage/Info.hs | 4 +++- cabal-install/Hackage/Install.hs | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cabal-install/Hackage/Fetch.hs b/cabal-install/Hackage/Fetch.hs index 54dcf71..d1e0dc9 100644 --- a/cabal-install/Hackage/Fetch.hs +++ b/cabal-install/Hackage/Fetch.hs @@ -29,6 +29,7 @@ import Hackage.Types (UnresolvedDependency (..), Repo(..), repoURL, import Hackage.Dependency (resolveDependencies, packagesToInstall) import qualified Hackage.LocalIndex as LocalIndex import qualified Hackage.RepoIndex as RepoIndex +import qualified Hackage.IndexUtils as IndexUtils import Hackage.Utils (showDependencies) import Hackage.HttpUtils (getHTTP) @@ -135,7 +136,8 @@ fetch :: Verbosity fetch verbosity packageDB repos comp conf deps = do installed <- LocalIndex.read verbosity comp conf packageDB available <- fmap mconcat (mapM (RepoIndex.read verbosity) repos) - let depTree = resolveDependencies comp installed available deps + deps' <- IndexUtils.disambiguateDependencies available deps + let depTree = resolveDependencies comp installed available deps' case packagesToInstall depTree of Left missing -> die $ "Unresolved dependencies: " ++ showDependencies missing Right pkgs -> do ps <- filterM (fmap not . isFetched) $ map fst pkgs diff --git a/cabal-install/Hackage/Info.hs b/cabal-install/Hackage/Info.hs index 4e36b12..878bca1 100644 --- a/cabal-install/Hackage/Info.hs +++ b/cabal-install/Hackage/Info.hs @@ -14,6 +14,7 @@ module Hackage.Info where import qualified Hackage.LocalIndex as LocalIndex import qualified Hackage.RepoIndex as RepoIndex +import qualified Hackage.IndexUtils as IndexUtils import Hackage.Dependency import Hackage.Fetch import Hackage.Types @@ -39,7 +40,8 @@ info :: Verbosity info verbosity packageDB repos comp conf deps = do installed <- LocalIndex.read verbosity comp conf packageDB available <- fmap mconcat (mapM (RepoIndex.read verbosity) repos) - let apkgs = resolveDependencies comp installed available deps + deps' <- IndexUtils.disambiguateDependencies available deps + let apkgs = resolveDependencies comp installed available deps' details <- mapM infoPkg (flattenResolvedPackages apkgs) Utils.info verbosity $ unlines (map (" "++) (concat details)) case packagesToInstall apkgs of diff --git a/cabal-install/Hackage/Install.hs b/cabal-install/Hackage/Install.hs index 81513fb..065ddf5 100644 --- a/cabal-install/Hackage/Install.hs +++ b/cabal-install/Hackage/Install.hs @@ -26,6 +26,7 @@ import Hackage.Fetch (fetchPackage) import qualified Hackage.RepoIndex as RepoIndex import Hackage.RepoIndex (RepoIndex) import qualified Hackage.LocalIndex as LocalIndex +import qualified Hackage.IndexUtils as IndexUtils import Hackage.Tar (extractTarGzFile) import Hackage.Types (UnresolvedDependency(..), PkgInfo(..), FlagAssignment, Repo) @@ -87,7 +88,8 @@ installRepoPackages :: Verbosity installRepoPackages verbosity packageDB repos comp conf configFlags deps = do installed <- LocalIndex.read verbosity comp conf packageDB available <- fmap mconcat (mapM (RepoIndex.read verbosity) repos) - let resolvedDeps = resolveDependencies comp installed available deps + deps' <- IndexUtils.disambiguateDependencies available deps + let resolvedDeps = resolveDependencies comp installed available deps' case packagesToInstall resolvedDeps of Left missing -> die $ "Unresolved dependencies: " ++ showDependencies missing Right [] -> notice verbosity "All requested packages already installed. Nothing to do." _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
