packages feed

hackport 0.5.1 → 0.5.2

raw patch · 5 files changed

+32/−37 lines, 5 filesdep ~tar

Dependency ranges changed: tar

Files

Merge.hs view
@@ -427,15 +427,17 @@   createDirectoryIfMissing True edir   now <- TC.getCurrentTime -  let (existing_keywords, existing_license)  = (EM.keywords existing_meta, EM.license existing_meta)+  let (existing_keywords, existing_license, existing_description) = (EM.keywords existing_meta, EM.license existing_meta, EM.description existing_meta)       new_keywords = maybe (E.keywords ebuild) (map to_unstable) existing_keywords       new_license  = either (\err -> maybe (Left err)                                            Right                                            existing_license)                             Right                             (E.license ebuild)+      new_description = maybe (E.description ebuild) id existing_description       ebuild'      = ebuild { E.keywords = new_keywords                             , E.license = new_license+                            , E.description = new_description                             }       s_ebuild'    = E.showEBuild now ebuild' 
Merge/Dependencies.hs view
@@ -5,21 +5,8 @@   , resolveDependencies   ) where -import Distribution.PackageDescription ( PackageDescription(..)-                                       , libBuildInfo-                                       , buildInfo-                                       , buildable-                                       , extraLibs-                                       , buildTools-                                       , pkgconfigDepends-                                       , specVersion-                                       , TestSuite(..)-                                       , targetBuildDepends-                                       )- import Data.Maybe ( isJust, isNothing ) import Data.Monoid ( Monoid, mempty, mappend)-import Data.List ( nub ) import qualified Data.List as L import qualified Data.Set as S @@ -68,7 +55,7 @@     , dep_e  = dep_eA  `S.union` dep_eB     } -resolveDependencies :: Portage.Overlay -> PackageDescription -> Cabal.CompilerInfo+resolveDependencies :: Portage.Overlay -> Cabal.PackageDescription -> Cabal.CompilerInfo                     -> [Cabal.PackageName] -> Cabal.PackageName                     -> EDep resolveDependencies overlay pkg compiler_info ghc_package_names merged_cabal_pkg_name = edeps@@ -78,7 +65,7 @@     treatAsLibrary = isJust (Cabal.library pkg)     -- without slot business     raw_haskell_deps :: Portage.Dependency-    raw_haskell_deps = PN.normalize_depend $ Portage.DependAllOf $ haskellDependencies overlay (buildDepends pkg)+    raw_haskell_deps = PN.normalize_depend $ Portage.DependAllOf $ haskellDependencies overlay (Cabal.buildDepends pkg)     test_deps :: Portage.Dependency     test_deps = Portage.mkUseDependency (True, Portage.Use "test") $                     Portage.DependAllOf $@@ -146,9 +133,9 @@ -- TODO: move partitioning part to Merge:mergeGenericPackageDescription --------------------------------------------------------------- -setupDependencies :: Portage.Overlay -> PackageDescription -> [Cabal.PackageName] -> Cabal.PackageName -> [Portage.Dependency]+setupDependencies :: Portage.Overlay -> Cabal.PackageDescription -> [Cabal.PackageName] -> Cabal.PackageName -> [Portage.Dependency] setupDependencies overlay pkg ghc_package_names merged_cabal_pkg_name = deps-    where cabalDeps = maybe [] id $ Cabal.setupDepends `fmap` setupBuildInfo pkg+    where cabalDeps = maybe [] id $ Cabal.setupDepends `fmap` Cabal.setupBuildInfo pkg           cabalDeps' = fst $ Portage.partition_depends ghc_package_names merged_cabal_pkg_name cabalDeps           deps = C2E.convertDependencies overlay (Portage.Category "dev-haskell") cabalDeps' @@ -157,9 +144,9 @@ -- TODO: move partitioning part to Merge:mergeGenericPackageDescription --------------------------------------------------------------- -testDependencies :: Portage.Overlay -> PackageDescription -> [Cabal.PackageName] -> Cabal.PackageName -> [Portage.Dependency]+testDependencies :: Portage.Overlay -> Cabal.PackageDescription -> [Cabal.PackageName] -> Cabal.PackageName -> [Portage.Dependency] testDependencies overlay pkg ghc_package_names merged_cabal_pkg_name = deps-    where cabalDeps = concat $ map targetBuildDepends $ map testBuildInfo (testSuites pkg)+    where cabalDeps = concat $ map Cabal.targetBuildDepends $ map Cabal.testBuildInfo (Cabal.testSuites pkg)           cabalDeps' = fst $ Portage.partition_depends ghc_package_names merged_cabal_pkg_name cabalDeps           deps = C2E.convertDependencies overlay (Portage.Category "dev-haskell") cabalDeps' @@ -177,7 +164,7 @@  -- | Select the most restrictive dependency on Cabal, either the .cabal -- file's descCabalVersion, or the Cabal GHC shipped with.-cabalDependency :: Portage.Overlay -> PackageDescription -> Cabal.CompilerInfo -> Portage.Dependency+cabalDependency :: Portage.Overlay -> Cabal.PackageDescription -> Cabal.CompilerInfo -> Portage.Dependency cabalDependency overlay pkg ~(Cabal.CompilerInfo {                                   Cabal.compilerInfoId =                                       Cabal.CompilerId Cabal.GHC cabal_version@@ -188,7 +175,7 @@                                                  finalCabalDep)   where     versionNumbers = Cabal.versionNumbers cabal_version-    userCabalVersion = Cabal.orLaterVersion (specVersion pkg)+    userCabalVersion = Cabal.orLaterVersion (Cabal.specVersion pkg)     shippedCabalVersion = GHCCore.cabalFromGHC versionNumbers     shippedCabalDep = maybe Cabal.anyVersion Cabal.orLaterVersion shippedCabalVersion     finalCabalDep = Cabal.simplifyVersionRange@@ -210,16 +197,16 @@ -- C Libraries --------------------------------------------------------------- -findCLibs :: PackageDescription -> [Portage.Dependency]-findCLibs (PackageDescription { library = lib, executables = exes }) =+findCLibs :: Cabal.PackageDescription -> [Portage.Dependency]+findCLibs (Cabal.PackageDescription { Cabal.library = lib, Cabal.executables = exes }) =   [ trace ("WARNING: This package depends on a C library we don't know the portage name for: " ++ p ++ ". Check the generated ebuild.")           (any_c_p "unknown-c-lib" p)   | p <- notFound   ] ++   found   where-  libE = concatMap (extraLibs . libBuildInfo) $ maybe [] return lib-  exeE = concatMap extraLibs (filter buildable (map buildInfo exes))+  libE = concatMap (Cabal.extraLibs . Cabal.libBuildInfo) $ maybe [] return lib+  exeE = concatMap Cabal.extraLibs (filter Cabal.buildable (map Cabal.buildInfo exes))   allE = libE ++ exeE    notFound = [ p | p <- allE, isNothing (staticTranslateExtraLib p) ]@@ -347,8 +334,8 @@ -- Build Tools --------------------------------------------------------------- -buildToolsDependencies :: PackageDescription -> [Portage.Dependency]-buildToolsDependencies (PackageDescription { library = lib, executables = exes }) = nub $+buildToolsDependencies :: Cabal.PackageDescription -> [Portage.Dependency]+buildToolsDependencies (Cabal.PackageDescription { Cabal.library = lib, Cabal.executables = exes }) = L.nub $   [ case pkg of       Just p -> p       Nothing -> trace ("WARNING: Unknown build tool '" ++ Cabal.display exe ++ "'. Check the generated ebuild.")@@ -358,8 +345,8 @@   ]   where   cabalDeps = filter notProvided $ depL ++ depE-  depL = concatMap (buildTools . libBuildInfo) $ maybe [] return lib-  depE = concatMap buildTools (filter buildable (map buildInfo exes))+  depL = concatMap (Cabal.buildTools . Cabal.libBuildInfo) $ maybe [] return lib+  depE = concatMap Cabal.buildTools (filter Cabal.buildable (map Cabal.buildInfo exes))   notProvided (Cabal.LegacyExeDependency pn _range) = pn `notElem` buildToolsProvided  buildToolsTable :: [(String, Portage.Dependency)]@@ -388,12 +375,12 @@ -- pkg-config --------------------------------------------------------------- -pkgConfigDependencies :: Portage.Overlay -> PackageDescription -> [Portage.Dependency]-pkgConfigDependencies overlay (PackageDescription { library = lib, executables = exes }) = nub $ resolvePkgConfigs overlay cabalDeps+pkgConfigDependencies :: Portage.Overlay -> Cabal.PackageDescription -> [Portage.Dependency]+pkgConfigDependencies overlay (Cabal.PackageDescription { Cabal.library = lib, Cabal.executables = exes }) = L.nub $ resolvePkgConfigs overlay cabalDeps   where   cabalDeps = depL ++ depE-  depL = concatMap (pkgconfigDepends . libBuildInfo) $ maybe [] return lib-  depE = concatMap pkgconfigDepends (filter buildable (map buildInfo exes))+  depL = concatMap (Cabal.pkgconfigDepends . Cabal.libBuildInfo) $ maybe [] return lib+  depE = concatMap Cabal.pkgconfigDepends (filter Cabal.buildable (map Cabal.buildInfo exes))  resolvePkgConfigs :: Portage.Overlay -> [Cabal.PkgconfigDependency] -> [Portage.Dependency] resolvePkgConfigs overlay cdeps =
Portage/EBuild.hs view
@@ -93,7 +93,6 @@ showEBuild now ebuild =   ss ("# Copyright 1999-" ++ this_year ++ " Gentoo Foundation"). nl.   ss "# Distributed under the terms of the GNU General Public License v2". nl.-  ss "# $Id$". nl.   nl.   ss "EAPI=6". nl.   nl.
Portage/EMeta.hs view
@@ -58,10 +58,15 @@ extractCabalFlags ebuild_path s_ebuild =     extract_hackport_var ebuild_path s_ebuild "flags" +extractDescription :: FilePath -> String -> Maybe String+extractDescription ebuild_path s_ebuild =+    extract_quoted_string ebuild_path s_ebuild "DESCRIPTION"+ -- aggregated (best inferred) metadata for a new ebuild of package data EMeta = EMeta { keywords :: Maybe [String]                    , license  :: Maybe String                    , cabal_flags :: Maybe String+                   , description :: Maybe String                    }  findExistingMeta :: FilePath -> IO EMeta@@ -76,10 +81,12 @@                          return EMeta { keywords = extractKeywords e e_conts                                       , license = extractLicense  e e_conts                                       , cabal_flags = extractCabalFlags e e_conts+                                      , description = extractDescription e e_conts                                       }        let get_latest candidates = last (Nothing : filter (/= Nothing) candidates)            aggregated_meta = EMeta { keywords = get_latest $ map keywords e_metas                                    , license = get_latest $ map license e_metas                                    , cabal_flags = get_latest $ map cabal_flags e_metas+                                   , description = get_latest $ map description e_metas                                    }        return aggregated_meta
hackport.cabal view
@@ -1,5 +1,5 @@ Name:           hackport-Version:        0.5.1+Version:        0.5.2 License:        GPL License-file:   LICENSE Author:         Henning Günther, Duncan Coutts, Lennart Kolmodin@@ -40,7 +40,7 @@     old-locale,     regex-compat,     split,-    tar,+    tar >= 0.5,     time,     zlib,     xml >= 1.3.7,