packages feed

cblrepo 0.14.0 → 0.15.0

raw patch · 15 files changed

+74/−66 lines, 15 filesdep ~Cabaldep ~basedep ~containers

Dependency ranges changed: Cabal, base, containers, filepath, mtl, safe, utf8-string

Files

cblrepo.cabal view
@@ -1,5 +1,5 @@ name: cblrepo-version: 0.14.0+version: 0.15.0 cabal-version: >= 1.6 license: OtherLicense license-file: LICENSE-2.0@@ -25,12 +25,13 @@     main-is: Main.hs     other-modules: PkgDB Add BumpPkgs BuildPkgs Sync Versions Updates ListPkgs PkgBuild OldPkgDB ConvertDB Remove Extract         Util.Translation Util.Cabal Util.HackageIndex Util.Misc Util.Dist-    build-depends: base ==4.7.*, filepath ==1.3.*,-        directory ==1.2.*, Cabal ==1.18.*,-        bytestring ==0.10.*, tar ==0.4.*, zlib ==0.5.*, mtl >=2.0 && <2.2,+    build-depends: base ==4.8.*, filepath ==1.4.*,+        directory ==1.2.*, Cabal ==1.22.*,+        bytestring ==0.10.*, tar ==0.4.*, zlib ==0.5.*, mtl ==2.2.*,         process ==1.2.*, Unixutils ==1.52.*, unix ==2.7.*,         ansi-wl-pprint ==0.6.*, aeson ==0.8.*,-        optparse-applicative ==0.11.*, safe, containers, utf8-string+        optparse-applicative ==0.11.*, safe ==0.3.*, containers ==0.5.*,+        utf8-string ==1  Source-Repository head     Type:                 git
src/Add.hs view
@@ -46,15 +46,15 @@ -- {{{1 add add :: Command () add = do-    dbFn <- optGet  dbFile+    dbFn <- asks  dbFile     db <- liftIO $ readDb dbFn-    dr <- optGet  dryRun-    ghcVersion <- optGet $ ghcVer . optsCmd-    filePkgs <- optGet $ cmdAddFileCbls . optsCmd-    idxPkgs <- optGet $ cmdAddCbls . optsCmd+    dr <- asks  dryRun+    ghcVersion <- asks $ ghcVer . optsCmd+    filePkgs <- asks $ cmdAddFileCbls . optsCmd+    idxPkgs <- asks $ cmdAddCbls . optsCmd     ---    ghcPkgs <- optGet  $ map (uncurry GhcType) . cmdAddGhcPkgs . optsCmd-    distroPkgs <- optGet $ map (\ (n, v, r) -> DistroType n v r) . cmdAddDistroPkgs . optsCmd+    ghcPkgs <- asks  $ map (uncurry GhcType) . cmdAddGhcPkgs . optsCmd+    distroPkgs <- asks $ map (\ (n, v, r) -> DistroType n v r) . cmdAddDistroPkgs . optsCmd     genFilePkgs <- mapM (runCabalParseWithTempDir . Cbl.readFromFile . fst) filePkgs     genIdxPkgs <- mapM ((runCabalParseWithTempDir . Cbl.readFromIdx) . (\ (a, b, _) -> (a, b))) idxPkgs     genPkgs <- liftM (map RepoType) $ exitOnErrors (genFilePkgs ++ genIdxPkgs)
src/BuildPkgs.hs view
@@ -23,6 +23,6 @@  buildPkgs :: Command () buildPkgs = do-    db <- optGet dbFile >>= liftIO . readDb-    pkgs <- optGet  $ pkgs . optsCmd+    db <- asks dbFile >>= liftIO . readDb+    pkgs <- asks  $ pkgs . optsCmd     liftIO $ mapM_ putStrLn $ transitiveDependants db pkgs
src/BumpPkgs.hs view
@@ -23,11 +23,11 @@  bumpPkgs :: Command () bumpPkgs = do-    dbFn <- optGet dbFile+    dbFn <- asks dbFile     db <- liftIO $ readDb dbFn-    dR <- optGet dryRun-    pkgs <- optGet  $ pkgs . optsCmd-    incl <- optGet  $ inclusive . optsCmd+    dR <- asks dryRun+    pkgs <- asks  $ pkgs . optsCmd+    incl <- asks  $ inclusive . optsCmd     let bpkgs = transDependants db incl pkgs     let newDb = foldl bumpRelease db bpkgs     liftIO $ if dR
src/ConvertDB.hs view
@@ -21,24 +21,29 @@ import qualified PkgDB as NDB  import Control.Monad.Reader+import System.Directory  convertDb :: Command () convertDb = do-    inDbFn <- optGet $ inDbFile . optsCmd-    outDbFn <- optGet $ outDbFile . optsCmd-    newDb <- liftIO $ liftM (map doConvert) (ODB.readDb inDbFn)-    liftIO $ NDB.saveDb newDb outDbFn+    inDbFn <- asks $ inDbFile . optsCmd+    outDbFn <- asks $ outDbFile . optsCmd+    dbExist <- liftIO $ doesFileExist inDbFn+    when dbExist $ do+        newDb <- fmap doConvertDB (liftIO $ ODB.readDb inDbFn)+        liftIO $ NDB.saveDb newDb outDbFn -doConvert :: ODB.CblPkg -> NDB.CblPkg-doConvert o-    | ODB.isGhcPkg o = NDB.createGhcPkg n v-    | ODB.isDistroPkg o = NDB.createDistroPkg n v r-    | ODB.isRepoPkg o = NDB.createRepoPkg n v x d f r-    | otherwise = error ""+doConvertDB :: ODB.CblDB -> NDB.CblDB+doConvertDB = map doConvert     where-        n = ODB.pkgName o-        v = ODB.pkgVersion o-        x = 0-        d = ODB.pkgDeps o-        f = ODB.pkgFlags o-        r = ODB.pkgRelease o+        doConvert o+            | ODB.isGhcPkg o = NDB.createGhcPkg n v+            | ODB.isDistroPkg o = NDB.createDistroPkg n v r+            | ODB.isRepoPkg o = NDB.createRepoPkg n v x d f r+            | otherwise = error ""+            where+                n = ODB.pkgName o+                v = ODB.pkgVersion o+                x = 0+                d = ODB.pkgDeps o+                f = ODB.pkgFlags o+                r = ODB.pkgRelease o
src/ListPkgs.hs view
@@ -26,12 +26,12 @@  listPkgs :: Command () listPkgs = do-    lG <- optGet $ listGhc . optsCmd-    lD <- optGet $ listDistro . optsCmd-    lR <- optGet $ noListRepo . optsCmd-    lH <- optGet $ hackageFmt . optsCmd-    ps <- optGet $ pkgs . optsCmd-    db <- optGet dbFile >>= liftIO . readDb+    lG <- asks $ listGhc . optsCmd+    lD <- asks $ listDistro . optsCmd+    lR <- asks $ noListRepo . optsCmd+    lH <- asks $ hackageFmt . optsCmd+    ps <- asks $ pkgs . optsCmd+    db <- asks dbFile >>= liftIO . readDb     let allPkgs = filter (pkgFilter lG lD lR) db     let pkgsToList = if null ps             then allPkgs
src/Main.hs view
@@ -37,10 +37,13 @@ import Options.Applicative as OA  -- -- {{{1 command line arguments+argAppDir, argDbFile :: Parser String argAppDir = strOption (long "appdir" <> value "" <> help "Path to application data directory") argDbFile = strOption (long "db" <> value "cblrepo.db" <> help "Path to package database")+argDryRun :: Parser Bool argDryRun = switch (short 'n' <> help "Make no changes, (dry run)") +cmdAddPkgOpts :: Parser Cmds cmdAddPkgOpts = CmdAdd     <$> strOption (long "patchdir" <> value "patches" <> help "Location of patches (patches)")     <*> option ghcVersionArgReader (long "ghc-version" <> value ghcDefVersion <> help "GHC version to use")
src/PkgBuild.hs view
@@ -37,10 +37,10 @@  generatePkgBuild :: String -> ErrorT String Command () generatePkgBuild pkg = do-        db <- optGet dbFile >>= liftIO . readDb+        db <- asks dbFile >>= liftIO . readDb         patchDir <- asks  $ patchDir . optsCmd-        ghcVer <- optGet $ ghcVer . optsCmd-        ghcRel <- optGet $ ghcRel . optsCmd+        ghcVer <- asks $ ghcVer . optsCmd+        ghcRel <- asks $ ghcRel . optsCmd         (ver, fa) <- maybe (throwError $ "Unknown package: " ++ pkg) (return . (pkgVersion &&& pkgFlags)) $ lookupPkg db pkg         --         genericPkgDesc <- runCabalParseWithTempDir $ Cbl.readFromIdx (pkg, ver)
src/Remove.hs view
@@ -23,15 +23,16 @@  -- {{{1 system import Control.Monad.Error+import Control.Monad.Reader (asks) import System.Exit  -- {{{1 remove remove :: Command () remove = do-    dbFn <- optGet dbFile+    dbFn <- asks dbFile     db <- liftIO $ readDb dbFn-    pkgs <- optGet $ pkgs . optsCmd-    dR <- optGet dryRun+    pkgs <- asks $ pkgs . optsCmd+    dR <- asks dryRun     liftIO $ either         (\ s -> putStrLn s >> exitFailure)         (\ newDb -> unless dR $ saveDb newDb dbFn)
src/Sync.hs view
@@ -23,5 +23,5 @@  sync :: Command () sync = do-    aD <- optGet appDir+    aD <- asks appDir     liftIO $ getFromURL indexUrl (aD </> indexFileName)
src/Updates.hs view
@@ -31,9 +31,9 @@  updates :: Command () updates = do-    db <- optGet dbFile >>= liftIO . readDb-    aD <- optGet appDir-    aCS <- optGet $ idxStyle .optsCmd+    db <- asks dbFile >>= liftIO . readDb+    aD <- asks appDir+    aCS <- asks $ idxStyle .optsCmd     availPkgsNVers <- liftIO $ buildPkgVersions <$> readIndexFile aD     let nonBasePkgs = filter (not . isBasePkg) db         pkgsNVers = map (pkgName &&& pkgVersion &&& pkgXRev) nonBasePkgs
src/Util/Cabal.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE FlexibleContexts #-} {-  - Copyright 2014 Per Magnus Therning  -
src/Util/Misc.hs view
@@ -1,5 +1,6 @@+{-# LANGUAGE FlexibleContexts #-} {-- - Copyright 2011-2013 Per Magnus Therning+ - Copyright 2011-2014 Per Magnus Therning  -  - Licensed under the Apache License, Version 2.0 (the "License");  - you may not use this file except in compliance with the License.@@ -54,7 +55,7 @@ progName = "cblrepo" dbName = progName ++ ".db" -ghcDefVersion = Version [7, 8, 3] []+ghcDefVersion = Version [7, 10, 1] [] ghcVersionDep :: Version -> Int -> String ghcVersionDep ghcVer ghcRel = "ghc=" ++ display ghcVer ++ "-" ++ show ghcRel @@ -149,10 +150,6 @@             Just (r, "") -> return r             _ -> fail $ "Cannot parse: " ++ s --- Helper for grabbing things out of the options-optGet :: MonadReader o m => (o -> s) -> m s-optGet f = liftM f ask- -- {{{1 command line argument type data Cmds     = CmdAdd@@ -206,7 +203,7 @@         fa         (DB.checkAgainstDb db n)         (Platform X86_64 buildOS) -- platform-        (CompilerId GHC ghcVersion)  -- compiler version+        (unknownCompilerInfo (CompilerId GHC ghcVersion) NoAbiTag)  -- compiler version         [] -- no additional constraints         gpd     where
src/Util/Translation.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, OverlappingInstances #-}+{-# LANGUAGE FlexibleContexts #-} {-  - Copyright 2011 Per Magnus Therning  -@@ -21,6 +21,7 @@ import Util.Misc import Util.Dist +import Prelude hiding ( (<$>) ) import Control.Monad import Control.Monad.Error import Data.Char@@ -208,7 +209,7 @@                 confFlags = if null flags                     then empty                     else text " \\" <>-                        nest 4 (empty <$> (hsep . map (uncurry (<>)) $ zip (repeat $ text "-f") (map pretty flags)))+                        nest 4 (empty <$> (hsep . map (uncurry (<>)) $ zip (repeat $ text "-f") (map prettyFlag flags)))                  libPackageFunction = text "package() {" <>                     nest 4 (empty <$>@@ -283,9 +284,8 @@ instance Pretty Version where     pretty (Version b _) = encloseSep empty empty (char '.') (map pretty b) -instance Pretty (FlagName, Bool) where-    pretty (FlagName n, True) = text n-    pretty (FlagName n, False) = text $ '-' : n+prettyFlag (FlagName n, True) = text n+prettyFlag (FlagName n, False) = text $ '-' : n  -- {{{1 translate -- TODO:@@ -296,7 +296,7 @@         pkgVer = packageVersion pd         pkgRel = maybe "1" pkgRelease (lookupPkg db hkgName)         hasLib = isJust (library pd)-        licFn = let l = licenseFile pd in if null l then Nothing else Just l+        licFn = let l = licenseFiles pd in if null l then Nothing else Just (head l)         archName = (if hasLib then "haskell-" else "") ++ map toLower hkgName         pkgDesc = synopsis pd         url = if null (homepage pd) then "http://hackage.haskell.org/package/${_hkgname}" else homepage pd
src/Versions.hs view
@@ -27,9 +27,9 @@  versions :: Command () versions = do-    aD <- optGet appDir-    l <- optGet $ latest . optsCmd-    pkgs <- optGet $ pkgs . optsCmd+    aD <- asks appDir+    l <- asks $ latest . optsCmd+    pkgs <- asks $ pkgs . optsCmd     let printFunc = if l then printLatestVersion else printAllVersions     liftIO $ do         pkgsNVers <- buildPkgVersions <$> readIndexFile aD