Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : 

http://hackage.haskell.org/trac/ghc/changeset/f88c61e5695a0024a751a37fa0052e606580b2be

>---------------------------------------------------------------

commit f88c61e5695a0024a751a37fa0052e606580b2be
Author: Duncan Coutts <[email protected]>
Date:   Fri Oct 10 07:01:05 2008 +0000

    Tidy up the preferred-versions file parser

>---------------------------------------------------------------

 cabal-install/Distribution/Client/IndexUtils.hs |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/cabal-install/Distribution/Client/IndexUtils.hs 
b/cabal-install/Distribution/Client/IndexUtils.hs
index 4d7a75c..ce75820 100644
--- a/cabal-install/Distribution/Client/IndexUtils.hs
+++ b/cabal-install/Distribution/Client/IndexUtils.hs
@@ -45,6 +45,7 @@ import Distribution.Verbosity (Verbosity)
 import Distribution.Simple.Utils (die, warn, info, intercalate, fromUTF8)
 
 import Data.Maybe  (catMaybes, fromMaybe)
+import Data.List   (isPrefixOf)
 import Data.Monoid (Monoid(..))
 import qualified Data.Map as Map
 import Control.Monad (MonadPlus(mplus))
@@ -113,7 +114,7 @@ readRepoIndex verbosity repo = handleNotFound $ do
     extractPrefs :: Tar.Entry -> Maybe [Dependency]
     extractPrefs entry
       | takeFileName (Tar.fileName entry) == "preferred-versions"
-      = Just . catMaybes . map simpleParse . lines
+      = Just . parsePreferredVersions
       . BS.Char8.unpack . Tar.fileContent $ entry
       | otherwise = Nothing
 
@@ -129,6 +130,12 @@ readRepoIndex verbosity repo = handleNotFound $ do
         return mempty
       else ioError e
 
+parsePreferredVersions :: String -> [Dependency]
+parsePreferredVersions = catMaybes
+                       . map simpleParse
+                       . filter (not . isPrefixOf "--")
+                       . lines
+
 -- | Read a compressed \"00-index.tar.gz\" file into a 'PackageIndex'.
 --
 -- This is supposed to be an \"all in one\" way to easily get at the info in



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to