[commit: Cabal] master: Fix handling of unadorned package names (68d3da7)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:48:12 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/68d3da7bf722a29c15fa07b7bee69bd5fe7864ea
>---------------------------------------------------------------
commit 68d3da7bf722a29c15fa07b7bee69bd5fe7864ea
Author: Duncan Coutts <duncan at haskell.org>
Date: Wed Oct 17 23:06:53 2007 +0000
Fix handling of unadorned package names
ie make "cabal install xmonad" work ;-)
We were parsing unqalified package names as a dependency upon a specific but
empty version. That is treating "foo" as a dependency like "foo==".
We now treat unadroned package names as deps on any version.
>---------------------------------------------------------------
cabal-install/Hackage/Utils.hs | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/cabal-install/Hackage/Utils.hs b/cabal-install/Hackage/Utils.hs
index 0c2c3e3..4d7d5e3 100644
--- a/cabal-install/Hackage/Utils.hs
+++ b/cabal-install/Hackage/Utils.hs
@@ -7,7 +7,7 @@ import Distribution.ParseUtils
, field, liftField, readFields
, showDependency, parseDependency
, warning, lineNo, locatedErrorMsg)
-import Distribution.Version (Dependency(..), VersionRange(..))
+import Distribution.Version (Version(..), Dependency(..), VersionRange(..))
import Control.Exception
import Control.Monad (foldM, liftM, guard)
@@ -93,4 +93,6 @@ showDependencies = concat . intersperse ", " . map (show . showDependency)
parseDependencyOrPackageId :: ReadP r Dependency
parseDependencyOrPackageId = parseDependency +++ liftM pkgToDep parsePackageId
- where pkgToDep p = Dependency (pkgName p) (ThisVersion (pkgVersion p))
\ No newline at end of file
+ where pkgToDep p = case pkgVersion p of
+ Version [] _ -> Dependency (pkgName p) AnyVersion
+ version -> Dependency (pkgName p) (ThisVersion version)
More information about the Cvs-libraries
mailing list