packages feed

debian-build 0.10.0.0 → 0.10.1.0

raw patch · 3 files changed

+24/−11 lines, 3 filesdep −CabalPVP ok

version bump matches the API change (PVP)

Dependencies removed: Cabal

API changes (from Hackage documentation)

+ Debian.Package.Build.Cabal: fillSetupHs :: FilePath -> IO ()

Files

debian-build.cabal view
@@ -1,5 +1,5 @@ name:                debian-build-version:             0.10.0.0+version:             0.10.1.0 synopsis:            Debian package build sequence tools description:         This package provides build sequence functions                      for debian package, and includes on-the-fly@@ -38,7 +38,6 @@                      , directory                      , transformers                      , split-                     , Cabal    hs-source-dirs:      src   ghc-options:       -Wall
src/Debian/Package/Build/Cabal.hs view
@@ -10,23 +10,22 @@ -- This module wraps cabal library interfaces to keep sparse dependency to it. module Debian.Package.Build.Cabal        ( findDescriptionFile+       , fillSetupHs         , setupCmd, clean, sdist        , configure, build, install, register        )  where  import Control.Applicative ((<$>))-import Control.Monad (filterM)+import Control.Monad (filterM, when) import Control.Monad.Trans.Class (lift)-import Data.Maybe (listToMaybe)+import Data.Maybe (listToMaybe, isJust) import Data.List (isSuffixOf) import System.FilePath ((</>)) import System.Directory (getDirectoryContents, doesFileExist)-import System.Environment (withArgs) -import Distribution.Simple (defaultMain)--import Debian.Package.Build.Monad (Trace, traceCommand)+import Debian.Package.Build.Monad (Trace)+import Debian.Package.Build.Command (rawSystem')   -- | Find .cabal file@@ -40,10 +39,21 @@         where suf = ".cabal"   fmap (dir </>) . listToMaybe <$> filterM find fs +findSetupHs :: FilePath -> IO (Maybe FilePath)+findSetupHs dir =+  listToMaybe <$>+  filterM (doesFileExist . (dir </>)) ["Setup.hs", "Setup.lhs"]++fillSetupHs :: FilePath -> IO ()+fillSetupHs dir = do+  found <- isJust <$> findSetupHs dir+  when (not found) . writeFile (dir </> "Setup.hs") $+    unlines ["import Distribution.Simple", "main = defaultMain"]+ setup :: [String] -> Trace ()-setup args =  do-  traceCommand (unwords $ "<cabal>" : args)-  lift $ args `withArgs` defaultMain+setup args = do+  setupHs  <-  maybe (fail "Setup.hs or Setup.lhs is not found.") id <$> lift (findSetupHs ".")+  rawSystem' "runghc" $ setupHs : args  -- | Call cabal library defaultMain like Setup.hs setupCmd :: String -> [String] -> Trace ()
src/Debian/Package/Build/Sequence.hs view
@@ -220,6 +220,10 @@                     -> [String]                                     -- ^ Optional arguments of cabal-debian command                     -> Build ((FilePath, FilePath), HaskellPackage) -- ^ Result package informations of generated source cabalAutogenSources hname mayRev cdArgs = do+  {- Fill Setup.hs to make cabal-debian can detect.+     Newer cabal-debian generates `DEB_SETUP_BIN_NAME = cabal' line,+     which causes home directory access errors at build time. -}+  liftIO . Cabal.fillSetupHs =<< askBaseDir   debDir   <-  cabalAutogenDebianDir mayRev cdArgs   pkg      <-  liftTrace . dpkgParseChangeLog $ debDir </> "changelog"   let hpkg =   haskellPackageFromPackage hname pkg