Skip to content

Commit

Permalink
Change the type of the release to Int.
Browse files Browse the repository at this point in the history
Signed-off-by: Magnus Therning <magnus@therning.org>
  • Loading branch information
magthe committed Apr 25, 2015
1 parent c8f2414 commit 173211c
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/Add.hs
Expand Up @@ -38,7 +38,7 @@ import System.Unix.Directory
-- {{{1 types
data PkgType
= GhcType String Version
| DistroType String Version String
| DistroType String Version Int
| RepoType GenericPackageDescription
deriving (Eq, Show)

Expand Down
2 changes: 1 addition & 1 deletion src/ConvertDB.hs
Expand Up @@ -46,4 +46,4 @@ doConvertDB = map doConvert
x = 0
d = ODB.pkgDeps o
f = ODB.pkgFlags o
r = ODB.pkgRelease o
r = read $ ODB.pkgRelease o
2 changes: 1 addition & 1 deletion src/ListPkgs.hs
Expand Up @@ -46,7 +46,7 @@ pkgFilter g d r p = (g && isGhcPkg p) || (d && isDistroPkg p) || (not r && isRep

printCblPkgShort :: CblPkg -> IO ()
printCblPkgShort p =
putStrLn $ pkgName p ++ " " ++ display (pkgVersion p) ++ "-" ++ pkgRelease p ++ showFlagsIfPresent p
putStrLn $ pkgName p ++ " " ++ display (pkgVersion p) ++ "-" ++ pkgReleaseAsStr p ++ showFlagsIfPresent p
where
showFlagsIfPresent _p
| [] <- pkgFlags _p = ""
Expand Down
26 changes: 15 additions & 11 deletions src/PkgDB.hs
Expand Up @@ -25,6 +25,7 @@ module PkgDB
, pkgDeps
, pkgFlags
, pkgRelease
, pkgReleaseAsStr
--
, isGhcPkg
, isDistroPkg
Expand Down Expand Up @@ -69,8 +70,8 @@ import qualified Util.Dist
-- {{{1 types
data Pkg
= GhcPkg { version :: V.Version }
| DistroPkg { version :: V.Version, release :: String }
| RepoPkg { version :: V.Version, xrev :: Int, deps :: [P.Dependency], flags :: FlagAssignment, release :: String }
| DistroPkg { version :: V.Version, release :: Int }
| RepoPkg { version :: V.Version, xrev :: Int, deps :: [P.Dependency], flags :: FlagAssignment, release :: Int }
deriving (Eq, Show)

data CblPkg = CP String Pkg
Expand Down Expand Up @@ -120,22 +121,27 @@ pkgFlags :: CblPkg -> FlagAssignment
pkgFlags (CP _ RepoPkg { flags = fa}) = fa
pkgFlags _ = []

pkgRelease :: CblPkg -> String
pkgRelease (CP _ GhcPkg {}) = "xx"
pkgRelease :: CblPkg -> Int
pkgRelease (CP _ GhcPkg {}) = (-1)
pkgRelease (CP _ DistroPkg { release = r }) = r
pkgRelease (CP _ RepoPkg { release = r }) = r

pkgReleaseAsStr :: CblPkg -> String
pkgReleaseAsStr (CP _ GhcPkg {}) = "xx"
pkgReleaseAsStr (CP _ DistroPkg { release = r }) = show r
pkgReleaseAsStr (CP _ RepoPkg { release = r }) = show r

createGhcPkg :: String -> V.Version -> CblPkg
createGhcPkg n v = CP n (GhcPkg v)

createDistroPkg :: String -> V.Version -> String -> CblPkg
createDistroPkg :: String -> V.Version -> Int -> CblPkg
createDistroPkg n v r = CP n (DistroPkg v r)

createRepoPkg :: String -> V.Version -> Int -> [P.Dependency] -> FlagAssignment -> String -> CblPkg
createRepoPkg :: String -> V.Version -> Int -> [P.Dependency] -> FlagAssignment -> Int -> CblPkg
createRepoPkg n v x d fa r = CP n (RepoPkg v x d fa r)

createCblPkg :: PackageDescription -> FlagAssignment -> CblPkg
createCblPkg pd fa = createRepoPkg name version xrev deps fa "1"
createCblPkg pd fa = createRepoPkg name version xrev deps fa 1
where
name = Util.Dist.pkgNameStr pd
version = P.pkgVersion $ package pd
Expand Down Expand Up @@ -176,7 +182,7 @@ addPkg2 db (CP n p) = addPkg db n p
addGhcPkg :: CblDB -> String -> V.Version -> CblDB
addGhcPkg db n v = addPkg2 db (createGhcPkg n v)

addDistroPkg :: CblDB -> String -> V.Version -> String -> CblDB
addDistroPkg :: CblDB -> String -> V.Version -> Int -> CblDB
addDistroPkg db n v r = addPkg2 db (createDistroPkg n v r)

delPkg :: CblDB -> String -> CblDB
Expand All @@ -185,9 +191,7 @@ delPkg db n = filter (\ p -> n /= pkgName p) db
bumpRelease :: CblDB -> String -> CblDB
bumpRelease db n = maybe db (addPkg2 db . doBump) (lookupPkg db n)
where
doBump (CP n' p@RepoPkg { release = r }) = CP n' (p { release = nr })
where
nr = show $ read r + (1 :: Int)
doBump (CP n' p@RepoPkg { release = r }) = CP n' (p { release = r + 1 })
doBump p = p

lookupPkg :: CblDB -> String -> Maybe CblPkg
Expand Down
6 changes: 3 additions & 3 deletions src/Util/Misc.hs
Expand Up @@ -100,13 +100,13 @@ pkgNVersionArgReader = do
ghcPkgArgReader :: ReadM (String, Version)
ghcPkgArgReader = pkgNVersionArgReader

distroPkgArgReader :: ReadM (String, Version, String)
distroPkgArgReader :: ReadM (String, Version, Int)
distroPkgArgReader = let
readDistroPkg = do
(n, v) <- readPkgNVersion
char ','
r <- many (satisfy (/= ','))
return (n, v, r)
return (n, v, read r)

in do
s <- readerAsk
Expand Down Expand Up @@ -154,7 +154,7 @@ strCblPkgArgReader = let
data Cmds
= CmdAdd
{ patchDir :: FilePath, ghcVer :: Version, cmdAddGhcPkgs :: [(String, Version)]
, cmdAddDistroPkgs :: [(String, Version, String)], cmdAddFileCbls :: [(FilePath, FlagAssignment)]
, cmdAddDistroPkgs :: [(String, Version, Int)], cmdAddFileCbls :: [(FilePath, FlagAssignment)]
, cmdAddCbls :: [(String, Version, FlagAssignment)] }
| CmdBuildPkgs { pkgs :: [String] }
| CmdBumpPkgs { inclusive :: Bool, pkgs :: [String] }
Expand Down
4 changes: 2 additions & 2 deletions src/Util/Translation.hs
Expand Up @@ -295,7 +295,7 @@ translate ghcVer ghcRel db fa pd = let
ap = baseArchPkg
(PackageName hkgName) = packageName pd
pkgVer = packageVersion pd
pkgRel = maybe "1" pkgRelease (lookupPkg db hkgName)
pkgRel = show $ maybe 1 pkgRelease (lookupPkg db hkgName)
hasLib = isJust (library pd)
licFn = let l = licenseFiles pd in if null l then Nothing else Just (head l)
archName = (if hasLib then "haskell-" else "") ++ map toLower hkgName
Expand Down Expand Up @@ -338,7 +338,7 @@ calcExactDeps db pd = let
pkg = fromJust $ lookupPkg db n
name = map toLower $ DB.pkgName pkg
ver = display $ DB.pkgVersion pkg
rel = pkgRelease pkg
rel = show $ pkgRelease pkg
in "haskell-" ++ name ++ "=" ++ ver ++ "-" ++ rel
in map depString deps

Expand Down

0 comments on commit 173211c

Please sign in to comment.