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
