packages feed

debian-build 0.5.0.1 → 0.5.0.2

raw patch · 2 files changed

+32/−19 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

debian-build.cabal view
@@ -1,5 +1,5 @@ name:                debian-build-version:             0.5.0.1+version:             0.5.0.2 synopsis:            Debian package build sequence tools description:         This package provides build sequence functions                      for debian package, and includes on-the-fly
src/Debian/Package/Data/Source.hs view
@@ -23,10 +23,9 @@        , haskellPackageDefault, haskellPackageFromPackage        ) where -import Control.Arrow (second)-import Control.Applicative ((<$>), pure, (<*>), (*>), empty, (<|>), many, some, optional)+import Control.Applicative ((<$>), pure, (<*>), (*>), (<*), empty, (<|>), many, some, optional) import Control.Monad.Trans.State (StateT, runStateT, get, put)-import Data.Maybe (listToMaybe, maybeToList)+import Data.Maybe (listToMaybe, maybeToList, mapMaybe) import Data.Char (isSpace, isDigit) import Data.Version (Version (Version, versionBranch), showVersion) import Data.List.Split (splitOn)@@ -48,14 +47,11 @@             else  empty     []   ->       empty -char :: Char -> Parser Char-char x = satisfy (== x)- _look :: Parser String _look =  get -_eof :: Parser ()-_eof =  do+eof :: Parser ()+eof =  do   s <- get   case s of     []   -> pure ()@@ -64,14 +60,26 @@ runParser :: Parser a -> String -> Maybe (a, String) runParser =  runStateT +anyChar :: Parser Char+anyChar =  satisfy (const True)++char :: Char -> Parser Char+char x = satisfy (== x)++notChar :: Char -> Parser Char+notChar x = satisfy (/= x)++space :: Parser Char+space =  char ' '+ digit :: Parser Char digit =  satisfy isDigit  int :: Parser Int int =  read <$> some digit -string' :: String -> Parser String-string' =  mapM char+string :: String -> Parser String+string =  mapM char   -- | Version type for Debian@@ -110,16 +118,16 @@   <$> ((:) <$> int <*> many (char '.' *> int))   <*> pure [] -parseDebianVersion' :: Parser DebianVersion-parseDebianVersion' = do+parseDebianVersion :: Parser DebianVersion+parseDebianVersion = do   v <- parseVersion'   (DebianNonNative v <$> (char '-' *> some (satisfy (not . isSpace)))    <|>-   DebianNative    v <$> optional (string' "+nmu" *> int))+   DebianNative    v <$> optional (string "+nmu" *> int))  _testParseDebianVersion :: [Maybe (DebianVersion, String)] _testParseDebianVersion =-  [ runParser parseDebianVersion' s | s <- [ "1.23.3-4", "1.23", "12.3+nmu2" ] ]+  [ runParser parseDebianVersion s | s <- [ "1.23.3-4", "1.23", "12.3+nmu2" ] ]  instance Show DebianVersion where   show = d  where@@ -127,7 +135,7 @@     d (DebianNonNative v r)  = showVersion v ++ '-': r  instance Read DebianVersion where-  readsPrec _ = maybeToList . runParser parseDebianVersion'+  readsPrec _ = maybeToList . runParser parseDebianVersion  readMaybe' :: Read a => String -> Maybe a readMaybe' =  fmap fst . listToMaybe . filter ((== "") . snd) . reads@@ -175,6 +183,11 @@ deriveHackageVersion :: Source -> HackageVersion deriveHackageVersion =  mkHackageVersion' . versionBranch . origVersion where +parseLine :: String -> Maybe (String, String)+parseLine =+  (fmap fst .) . runParser $+  (,) <$> some (notChar ':') <*> (char ':' *> many space *> many anyChar <* eof)+ -- | Try to generate 'Source' from debian changelog string parseChangeLog :: String       -- ^ dpkg-parsechangelog result string                -> Maybe Source -- ^ Source structure@@ -183,11 +196,11 @@   dver <- mayDebVer   return $ mkSource deb dver   where-    pairs = map (second tail . break (== ' ')) . lines $ log'+    pairs = mapMaybe parseLine . lines $ log'     lookup' = (`lookup` pairs)-    mayDebSrc = lookup' "Source:"+    mayDebSrc = lookup' "Source"     mayDebVer = do-      dverS <- lookup' "Version:"+      dverS <- lookup' "Version"       readDebianVersion dverS  -- | Debian .changes file types