packages feed

haskell-packages 0.2.4.2 → 0.2.4.3

raw patch · 3 files changed

+27/−16 lines, 3 filesdep ~optparse-applicativePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: optparse-applicative

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,6 +1,11 @@ Changes ======= +Version 0.2.4.3+---------------++Update to optparse-applicative 0.11+ Version 0.2.4.2 --------------- 
haskell-packages.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                haskell-packages-version:             0.2.4.2+version:             0.2.4.3 synopsis:            Haskell suite library for package management and integration with Cabal description:         See <http://documentup.com/haskell-suite/haskell-packages> license:             MIT@@ -38,7 +38,7 @@     Paths_haskell_packages   build-depends:       base >=4.5 && < 5-    , optparse-applicative >= 0.10+    , optparse-applicative >= 0.11     , aeson >= 0.6     , bytestring >= 0.9     , Cabal >= 1.14
src/Distribution/HaskellSuite/Cabal.hs view
@@ -116,14 +116,8 @@       (strOption (long "build-dir" <> metavar "PATH")) <*>       (strOption (long "target-dir" <> metavar "PATH")) <*>       (optional $ strOption (long "dynlib-target-dir" <> metavar "PATH")) <*>-      (option (ReadM . parsePackageId) (long "package-id" <> metavar "ID")) <*>-      (many $ argument simpleParse (metavar "MODULE"))-    where-      parsePackageId str =-        maybe-          (Left . ErrorMsg $ "could not parse package-id: " ++ str)-          Right-          (simpleParse str)+      (option (simpleParseM "package-id") (long "package-id" <> metavar "ID")) <*>+      (many $ argument (simpleParseM "module") (metavar "MODULE"))    pkgUpdate =     command "update" $ flip info idm $@@ -157,14 +151,10 @@       (optional $ classifyLanguage <$> strOption (short 'G' <> metavar "language")) <*>       (many $ parseExtension <$> strOption (short 'X' <> metavar "extension")) <*>       cppOptsParser <*>-      (option pkgNameReader (long "package-name" <> metavar "NAME-VERSION")) <*>+      (option (simpleParseM "package name") (long "package-name" <> metavar "NAME-VERSION")) <*>       pkgDbStackParser <*>       (many $ InstalledPackageId <$> strOption (long "package-id")) <*>       (many $ argument str (metavar "MODULE"))-    where-      pkgNameReader = ReadM .-        maybe (Left $ ErrorMsg "invalid package name") Right .-        simpleParse  data ModuleNotFound = ModuleNotFound String   deriving Typeable@@ -201,7 +191,7 @@  pkgIdParser :: Parser PackageId pkgIdParser =-  argument simpleParse (metavar "PACKAGE")+  argument (simpleParseM "package-id") (metavar "PACKAGE")  pkgDbStackParser :: Parser PackageDBStack pkgDbStackParser =@@ -227,3 +217,19 @@     includeDir =       flip fmap (strOption (short 'I' <> metavar "PATH")) $       \str -> Endo $ \opts -> opts { includes = str : includes opts }++-- | 'simpleParse' is defined in "Distribution.Text" with type+--+-- >simpleParse :: Text a => String -> Maybe a+--+-- (It is similar to 'read'.)+--+-- 'simpleParseM' wraps it as a 'ReadM' value to be used for parsing+-- command-line options+simpleParseM :: Text a => String -> ReadM a+simpleParseM entityName = do+  str <- readerAsk+  case simpleParse str of+    Just thing -> return thing+    Nothing -> readerError $+      "could not parse " ++ entityName ++ " '" ++ str ++ "'"