debian-build 0.9.0.0 → 0.9.1.0
raw patch · 3 files changed
+23/−4 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Debian.Package.Build.Command: instance Eq BuildMode
- Debian.Package.Build.Command: instance Read BuildMode
- Debian.Package.Build.Command: instance Show BuildMode
- Debian.Package.Build.Monad: instance Show BuildDir
- Debian.Package.Build.Monad: instance Show Config
- Debian.Package.Data.Hackage: instance Eq NameRule
- Debian.Package.Data.Hackage: instance Read HackageVersion
- Debian.Package.Data.Hackage: instance Show Hackage
- Debian.Package.Data.Hackage: instance Show HackageVersion
- Debian.Package.Data.Hackage: instance Show NameRule
- Debian.Package.Data.Packages: controlAll :: Control -> [String]
- Debian.Package.Data.Packages: controlArch :: Control -> [String]
- Debian.Package.Data.Packages: controlSource :: Control -> String
- Debian.Package.Data.Packages: instance Eq Control
- Debian.Package.Data.Packages: instance Eq PackageType
- Debian.Package.Data.Packages: instance Read DebianVersion
- Debian.Package.Data.Packages: instance Show Control
- Debian.Package.Data.Packages: instance Show DebianVersion
- Debian.Package.Data.Packages: instance Show HaskellPackage
- Debian.Package.Data.Packages: instance Show PackageType
- Debian.Package.Data.Packages: instance Show Source
+ Debian.Package.Build.Command: instance GHC.Classes.Eq Debian.Package.Build.Command.BuildMode
+ Debian.Package.Build.Command: instance GHC.Read.Read Debian.Package.Build.Command.BuildMode
+ Debian.Package.Build.Command: instance GHC.Show.Show Debian.Package.Build.Command.BuildMode
+ Debian.Package.Build.Monad: instance GHC.Show.Show Debian.Package.Build.Monad.BuildDir
+ Debian.Package.Build.Monad: instance GHC.Show.Show Debian.Package.Build.Monad.Config
+ Debian.Package.Build.Monad: unBuild :: Build a -> BaseDir -> Config -> Trace a
+ Debian.Package.Build.Sequence: findGeneratedSourceDir :: MaybeT Build FilePath
+ Debian.Package.Data.Hackage: instance GHC.Classes.Eq Debian.Package.Data.Hackage.NameRule
+ Debian.Package.Data.Hackage: instance GHC.Read.Read Debian.Package.Data.Hackage.HackageVersion
+ Debian.Package.Data.Hackage: instance GHC.Show.Show Debian.Package.Data.Hackage.Hackage
+ Debian.Package.Data.Hackage: instance GHC.Show.Show Debian.Package.Data.Hackage.HackageVersion
+ Debian.Package.Data.Hackage: instance GHC.Show.Show Debian.Package.Data.Hackage.NameRule
+ Debian.Package.Data.Packages: [controlAll] :: Control -> [String]
+ Debian.Package.Data.Packages: [controlArch] :: Control -> [String]
+ Debian.Package.Data.Packages: [controlSource] :: Control -> String
+ Debian.Package.Data.Packages: instance GHC.Classes.Eq Debian.Package.Data.Packages.Control
+ Debian.Package.Data.Packages: instance GHC.Classes.Eq Debian.Package.Data.Packages.PackageType
+ Debian.Package.Data.Packages: instance GHC.Read.Read Debian.Package.Data.Packages.DebianVersion
+ Debian.Package.Data.Packages: instance GHC.Show.Show Debian.Package.Data.Packages.Control
+ Debian.Package.Data.Packages: instance GHC.Show.Show Debian.Package.Data.Packages.DebianVersion
+ Debian.Package.Data.Packages: instance GHC.Show.Show Debian.Package.Data.Packages.HaskellPackage
+ Debian.Package.Data.Packages: instance GHC.Show.Show Debian.Package.Data.Packages.PackageType
+ Debian.Package.Data.Packages: instance GHC.Show.Show Debian.Package.Data.Packages.Source
Files
- debian-build.cabal +1/−1
- src/Debian/Package/Build/Monad.hs +6/−2
- src/Debian/Package/Build/Sequence.hs +16/−1
debian-build.cabal view
@@ -1,5 +1,5 @@ name: debian-build-version: 0.9.0.0+version: 0.9.1.0 synopsis: Debian package build sequence tools description: This package provides build sequence functions for debian package, and includes on-the-fly
src/Debian/Package/Build/Monad.hs view
@@ -20,7 +20,7 @@ , Config, defaultConfig, buildDir, debianDirName, sourceExcludes - , Build, liftTrace, runBuild, askConfig+ , Build, liftTrace, unBuild, runBuild, askConfig , bracketBuild, bracketBuild_ ) where @@ -144,9 +144,13 @@ liftTrace :: Trace a -> Build a liftTrace = lift . lift +-- | Unpack 'Build' configuration monad into 'Trace'.+unBuild :: Build a -> BaseDir -> Config -> Trace a+unBuild b bd = runReaderT $ runReaderT b bd+ -- | Run 'Build' configuration monad runBuild :: Build a -> BaseDir -> Config -> Bool -> IO a-runBuild b bd = runTrace . (runReaderT $ runReaderT b bd)+runBuild b bd = runTrace . unBuild b bd -- | bracket for 'Build' monad bracketBuild :: Build a -> (a -> Build b) -> (a -> Build c) -> Build c
src/Debian/Package/Build/Sequence.hs view
@@ -23,13 +23,15 @@ , cabalGenOrigSources, cabalGenSources, cabalAutogenSources , genSources++ , findGeneratedSourceDir ) where import System.FilePath ((</>), takeFileName, takeDirectory, takeBaseName) import System.Directory (getDirectoryContents, doesDirectoryExist, doesFileExist) import Control.Applicative (pure, (<$>), (<*>), (<|>))-import Control.Monad (when)+import Control.Monad (when, guard, msum) import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Maybe (MaybeT(MaybeT), runMaybeT)@@ -271,3 +273,16 @@ return (p, package hpkg, Just $ hackage hpkg) <|> do fail "No source generate rule found."++-- | Probe generated source directory path.+findGeneratedSourceDir :: MaybeT Build FilePath+findGeneratedSourceDir = do+ bd <- lift getBuildDir+ fs <- liftIO $ getDirectoryContents bd+ msum+ [ do MaybeT . liftIO $ guard <$> doesFileExist (path </> "debian" </> "control")+ pure path+ | f <- fs+ , f `notElem` [".", ".."]+ , let path = bd </> f+ ]