packages feed

debian-build 0.8.0.0 → 0.9.0.0

raw patch · 5 files changed

+51/−43 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Debian.Package.Build.Command: cabalDebian :: FilePath -> Maybe String -> Trace ()
+ Debian.Package.Build.Command: cabalDebian :: FilePath -> Maybe String -> [String] -> Trace ()
- Debian.Package.Build.Command: cabalDebian' :: Maybe String -> Trace ()
+ Debian.Package.Build.Command: cabalDebian' :: Maybe String -> [String] -> Trace ()
- Debian.Package.Build.Sequence: cabalAutogenSources :: String -> Maybe String -> Build ((FilePath, FilePath), HaskellPackage)
+ Debian.Package.Build.Sequence: cabalAutogenSources :: String -> Maybe String -> [String] -> Build ((FilePath, FilePath), HaskellPackage)
- Debian.Package.Build.Sequence: genSources :: Maybe String -> Build (Maybe ((FilePath, FilePath), Source, Maybe Hackage))
+ Debian.Package.Build.Sequence: genSources :: Maybe String -> [String] -> Build (Maybe ((FilePath, FilePath), Source, Maybe Hackage))

Files

LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2014, Kei Hibino+Copyright (c) 2014-2015, Kei Hibino  All rights reserved. 
debian-build.cabal view
@@ -1,5 +1,5 @@ name:                debian-build-version:             0.8.0.0+version:             0.9.0.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
@@ -58,17 +58,17 @@  parseOption :: [String]             -> (ODebuildOptions -> Either String ODebuildOptions, ([String], [String]))-parseOption args = (foldr (>=>) return ufs, (ss1, ss2))  where-  (ufs, ss1, ss2) = getOpt RequireOrder descs args+parseOption args = (foldr (>=>) return ufs, (as, es))  where+  (ufs, as, es) = getOpt RequireOrder descs args  help :: IO () help =  do   prog <- getProgName   let opts  = "[options]"-      debOpts = "[-- [debuild options]]"+      debOpts = "[-- [cabal-debian-options [-- [debuild-options]]]"       msg = unlines $ map unwords             [ [prog, "clean"]-            , [prog, "prepare", opts]+            , [prog, "prepare", opts, "[-- [cabal-debian-options]]"]             , [prog, "source", opts, debOpts]             , [prog, "build", opts, debOpts]             , [prog, "install", opts, debOpts]@@ -81,31 +81,31 @@ clean :: Build () clean =  removeBuildDir -prepare :: ODebuildOptions -> Build ((FilePath, FilePath), Source, Maybe Hackage)-prepare opts = do+prepare :: ODebuildOptions -> [String] -> Build ((FilePath, FilePath), Source, Maybe Hackage)+prepare opts cdArgs = do   clean-  maybe (fail "Illegal state: genSources") return =<< genSources (revision opts)+  maybe (fail "Illegal state: genSources") return =<< genSources (revision opts) cdArgs -build' :: [BuildMode] -> ODebuildOptions -> [String] -> Build (Source, Maybe Hackage)-build' modes opts args = do-  ((_, dir), src, mayH) <- prepare opts-  liftTrace $ Command.build dir modes (installDeps opts) args+build' :: [BuildMode] -> ODebuildOptions -> [String] -> [String] -> Build (Source, Maybe Hackage)+build' modes opts cdArgs debArgs = do+  ((_, dir), src, mayH) <- prepare opts cdArgs+  liftTrace $ Command.build dir modes (installDeps opts) debArgs   return (src, mayH) -source :: ODebuildOptions -> [String] -> Build (Source, Maybe Hackage)+source :: ODebuildOptions -> [String] -> [String] -> Build (Source, Maybe Hackage) source = build' [Src] -build :: ODebuildOptions -> [String] -> Build (Source, Maybe Hackage)+build :: ODebuildOptions -> [String] -> [String] -> Build (Source, Maybe Hackage) build opts = build' (buildModes opts []) opts -install :: ODebuildOptions -> [String] -> Build ()-install opts args = do-  void $ build opts args+install :: ODebuildOptions -> [String] -> [String] -> Build ()+install opts cdArgs debArgs = do+  void $ build opts cdArgs debArgs   install' -reinstall :: ODebuildOptions -> [String] -> Build ()-reinstall opts args = do-  (_src, mayH) <- build opts args+reinstall :: ODebuildOptions -> [String] -> [String] -> Build ()+reinstall opts cdArgs debArgs = do+  (_src, mayH) <- build opts cdArgs debArgs   maybe (return ()) remove' mayH   install' @@ -114,22 +114,23 @@   cur <- pwd   uncurry (runBuild b cur) defaultConfig -parseArgs :: [String] -> IO (ODebuildOptions, [String])+parseArgs :: [String] -> IO (ODebuildOptions, ([String], [String])) parseArgs args0-  | not $ null errs  = fail $ concat errs+  | not $ null errs  = fail $ '\n' : concat [ "  " ++ e | e <- errs ]   | not $ null args1 = fail $ "Unknown arguments: " ++ unwords args1   | otherwise        =       either (fail . ("Option parse error: " ++)) return $ do         opts <- f defaultOptions-        return (opts, drop 1 rest)+        return (opts, (cdArgs, drop 1 rest1))       where-        (opt, rest) = break (== "--") args0+        (opt, rest0) = break (== "--") args0+        (cdArgs, rest1) = break (== "--") $ drop 1 rest0         (f, (args1, errs)) = parseOption opt -runArgs :: (ODebuildOptions -> [String] -> Build a) -> [String] -> IO a+runArgs :: (ODebuildOptions -> [String] -> [String] -> Build a) -> [String] -> IO a runArgs act as = do-  (opts, args) <- parseArgs as-  run $ act opts args+  (opts, (cdArgs, debArgs)) <- parseArgs as+  run $ act opts cdArgs debArgs  main :: IO () main =  do@@ -148,4 +149,4 @@         "reinstall"     ->    runArgs reinstall as1         _               ->    void $ runArgs build as2 -    []                  -> run . void $ build defaultOptions []+    []                  ->    run . void $ build defaultOptions [] []
src/Debian/Package/Build/Command.hs view
@@ -142,8 +142,8 @@     act  -- | Just call /cabal-debian/ command-cabalDebian' :: Maybe String -> Trace ()-cabalDebian' mayRev = do+cabalDebian' :: Maybe String -> [String] -> Trace ()+cabalDebian' mayRev otherArgs = do   ver <-  origVersion' <$> packageVersion "cabal-debian"   let revision = fromMaybe "1~autogen1" mayRev       oldArgs = ["--quilt", "--revision=" ++ revision]@@ -156,11 +156,11 @@              | otherwise          ->  return oldArgs     _                             ->  return oldArgs -  rawSystem' "cabal-debian" args+  rawSystem' "cabal-debian" $ args ++ otherArgs  -- | Call /cabal-debian/ command under specified directory-cabalDebian :: FilePath -> Maybe String -> Trace ()-cabalDebian dir = withCurrentDir' dir . cabalDebian'+cabalDebian :: FilePath -> Maybe String -> [String] -> Trace ()+cabalDebian dir mayRev = withCurrentDir' dir . cabalDebian' mayRev  -- | Query debian package version packageVersion :: String -> Trace DebianVersion
src/Debian/Package/Build/Sequence.hs view
@@ -195,8 +195,10 @@   copyDebianDir srcDir   return pair -cabalAutogenDebianDir :: Maybe String -> Build FilePath-cabalAutogenDebianDir mayRev =  do+cabalAutogenDebianDir :: Maybe String   -- ^ May specify revision string+                      -> [String]       -- ^ Optional arguments of cabal-debian command+                      -> Build FilePath -- ^ Generated debian-dir path+cabalAutogenDebianDir mayRev cdArgs =  do   baseDir  <-  askBaseDir   let ddName =  "debian"       tmpDD  =  baseDir </> ddName@@ -205,15 +207,18 @@    debDir   <-  (</> ddName) <$> getBuildDir   liftTrace $ do-    cabalDebian baseDir mayRev+    cabalDebian baseDir mayRev cdArgs     createDirectoryIfMissing $ takeDirectory debDir     renameDirectory tmpDD debDir   return debDir  -- | Setup source directory and archive using Cabal and cabal-debian.-cabalAutogenSources :: String -> Maybe String -> Build ((FilePath, FilePath), HaskellPackage)-cabalAutogenSources hname mayRev = do-  debDir   <-  cabalAutogenDebianDir mayRev+cabalAutogenSources :: String                                       -- ^ Hackge name string+                    -> Maybe String                                 -- ^ May specify revision string+                    -> [String]                                     -- ^ Optional arguments of cabal-debian command+                    -> Build ((FilePath, FilePath), HaskellPackage) -- ^ Result package informations of generated source+cabalAutogenSources hname mayRev cdArgs = do+  debDir   <-  cabalAutogenDebianDir mayRev cdArgs   pkg      <-  liftTrace . dpkgParseChangeLog $ debDir </> "changelog"   let hpkg =   haskellPackageFromPackage hname pkg   pair@(_, srcDir)  <-  cabalGenOrigSources hpkg@@ -247,8 +252,10 @@ findCabalDescription =  MaybeT (askBaseDir >>= liftIO . Cabal.findDescriptionFile)  -- | On the fly setup of source directory and archive.-genSources :: Maybe String -> Build (Maybe ((FilePath, FilePath), Source, Maybe Hackage))-genSources mayRev = runMaybeT $+genSources :: Maybe String                                                -- ^ May specify revision string+           -> [String]                                                    -- ^ Optional arguments of cabal-debian command+           -> Build (Maybe ((FilePath, FilePath), Source, Maybe Hackage)) -- ^ Result package informations of generated source+genSources mayRev cdArgs = runMaybeT $   do clog <- findDebianChangeLog      src  <- lift . liftTrace $ dpkgParseChangeLog clog      (do hname <- takeBaseName <$> findCabalDescription@@ -260,7 +267,7 @@   <|>   do hname <- takeBaseName <$> findCabalDescription      lift $ do-       (p, hpkg) <- cabalAutogenSources hname mayRev+       (p, hpkg) <- cabalAutogenSources hname mayRev cdArgs        return (p, package hpkg, Just $ hackage hpkg)   <|>   do fail "No source generate rule found."