packages feed

debian-build 0.7.1.1 → 0.7.2.0

raw patch · 3 files changed

+27/−16 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Debian.Package.Build.Command: instance Read BuildMode

Files

debian-build.cabal view
@@ -1,5 +1,5 @@ name:                debian-build-version:             0.7.1.1+version:             0.7.2.0 synopsis:            Debian package build sequence tools description:         This package provides build sequence functions                      for debian package, and includes on-the-fly
mains/odebuild.hs view
@@ -1,9 +1,9 @@-import Control.Arrow ((>>>))-import Control.Monad (void, when)+import Control.Monad (void, when, (>=>)) import System.Environment (getProgName, getArgs) import System.Console.GetOpt   (OptDescr (Option), ArgDescr (ReqArg, NoArg), ArgOrder (RequireOrder),    usageInfo, getOpt)+import Text.Read (readMaybe)  import Debian.Package.Data (Source, Hackage, isBinaryPackage) import qualified Debian.Package.Build.Command as Command@@ -29,28 +29,36 @@   ODebuildOptions   { revision    :: Maybe String   , installDeps :: Bool-  } deriving Show+  , buildModes  :: [BuildMode] -> [BuildMode]+  }  defaultOptions :: ODebuildOptions defaultOptions =   ODebuildOptions   { revision     =  Nothing   , installDeps  =  False+  , buildModes   =  id   } -descs :: [OptDescr (ODebuildOptions -> ODebuildOptions)]+descs :: [OptDescr (ODebuildOptions -> Either String ODebuildOptions)] descs =   [ Option [] ["revision"]-    (ReqArg (\s opts -> opts { revision = Just s }) "DEBIAN_REVISION")+    (ReqArg (\s opts -> return $ opts { revision = Just s }) "DEBIAN_REVISION")     "debian package revision to pass to cabal-debian"   , Option [] ["install-deps"]-    (NoArg $ \opts -> opts { installDeps = True })-    "install build depends when to run build"+    (NoArg $ \opts   -> return $ opts { installDeps = True })+    "install build depends before running build"+  , Option [] ["mode"]+    (ReqArg (\s opts -> maybe (Left $ "Unknown build mode: " ++ s) Right $ do+                m <- readMaybe s+                return $ opts { buildModes = buildModes opts . (m : ) } )+     "BUILD_MODE")+    "add build-mode to build-mode list to specify"   ]  parseOption :: [String]-            -> (ODebuildOptions -> ODebuildOptions, ([String], [String]))-parseOption args = (foldr (>>>) id ufs, (ss1, ss2))  where+            -> (ODebuildOptions -> Either String ODebuildOptions, ([String], [String]))+parseOption args = (foldr (>=>) return ufs, (ss1, ss2))  where   (ufs, ss1, ss2) = getOpt RequireOrder descs args  help :: IO ()@@ -88,7 +96,7 @@ source = build' [Src]  build :: ODebuildOptions -> [String] -> Build (Source, Maybe Hackage)-build =  build' []+build opts = build' (buildModes opts []) opts  install :: ODebuildOptions -> [String] -> Build () install opts args = do@@ -110,10 +118,13 @@ parseArgs args0   | not $ null errs  = fail $ concat errs   | not $ null args1 = fail $ "Unknown arguments: " ++ unwords args1-  | otherwise        = return-                       (f defaultOptions, drop 1 rest )  where-  (opt, rest) = break (== "--") args0-  (f, (args1, errs)) = parseOption opt+  | otherwise        =+      either (fail . ("Option parse error: " ++)) return $ do+        opts <- f defaultOptions+        return (opts, drop 1 rest)+      where+        (opt, rest) = break (== "--") args0+        (f, (args1, errs)) = parseOption opt  runArgs :: (ODebuildOptions -> [String] -> Build a) -> [String] -> IO a runArgs act as = do
src/Debian/Package/Build/Command.hs view
@@ -218,7 +218,7 @@  -- | Build mode, all or binary only data BuildMode = All | Bin | Src | Dep | Indep-               deriving (Eq, Show)+               deriving (Eq, Show, Read)  -- | Infer all build mode list from debian control file data modeListFromControl :: Control -> [BuildMode]