ghc-pkg-autofix 0.1.3 → 0.1.4
raw patch · 2 files changed
+27/−2 lines, 2 files
Files
- PkgCheckParser.hs +25/−0
- ghc-pkg-autofix.cabal +2/−2
+ PkgCheckParser.hs view
@@ -0,0 +1,25 @@+module PkgCheckParser (parseCheck, BrokenPackage (..)) where+import Text.Parsec+import Text.Parsec.String+import Control.Applicative hiding ((<|>), many)+data BrokenPackage = P { packageID :: String+ , brokenDeps :: [String]+ } deriving (Show, Eq, Ord)+++parseCheck :: String -> Either ParseError [BrokenPackage]+parseCheck = parse (many1 check) ""++check :: Parser BrokenPackage+check = string "There are problems in package "+ >> P <$> packName <* string ":\n" <*> many1 errDep++ident :: Parser String+ident = many (alphaNum <|> oneOf "-.")++packID, packName :: Parser String+packID = ident+packName = ident++errDep :: Parser String+errDep = string " dependency \"" *> packID <* string "\" doesn't exist\n"
ghc-pkg-autofix.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.1.3+Version: 0.1.4 -- A short (one-line) description of the package. Synopsis: Simple utility to fix BROKEN package dependencies.@@ -54,7 +54,7 @@ Cabal >= 1.8 && <2 -- Modules not exported by this package.- -- Other-modules: + Other-modules: PkgCheckParser -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source. -- Build-tools: