[commit: Cabal] master: Treat package names given on the command line case insenitively (a858a72)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:50:03 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/a858a72b2e96ee6e717b14a3dfb39b7c921df3ec
>---------------------------------------------------------------
commit a858a72b2e96ee6e717b14a3dfb39b7c921df3ec
Author: Duncan Coutts <duncan at haskell.org>
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."
More information about the Cvs-libraries
mailing list