changeset 5349:80997ee83f07

Acknowledge rsync dependency for various repository sources. Fixes odcctools build.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Mon, 13 Jul 2009 13:18:13 +0200
parents 6aba61c0f2db
children 4d86d52d7b4f
files gub/cross.py
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gub/cross.py	Mon Jul 13 12:31:31 2009 +0200
+++ b/gub/cross.py	Mon Jul 13 13:18:13 2009 +0200
@@ -87,6 +87,8 @@
     # Run something like lilypond/SConscript's configure
     # to figure-out if we need a new, Git, Make, Patch, Python, etc?
     # Building make & patch is cheap and dependable.
+    bazaar_packs = [p for p in packs if isinstance (p.source, repository.Bazaar)]
+    cvs_packs = [p for p in packs if isinstance (p.source, repository.CVS)]
     git_packs = [p for p in packs if isinstance (p.source, repository.Git)]
     patch_packs = [p for p in packs if p.patches]
     python_packs = [p for p in packs if (isinstance (p, tools.PythonBuild)
@@ -94,11 +96,13 @@
     scons_packs = [p for p in packs if (isinstance (p, tools.SConsBuild)
                                         or isinstance (p, target.SConsBuild))]
     
+    subversion_packs = [p for p in packs if isinstance (p.source, repository.Subversion)]
     tar_packs = [p for p in packs if (isinstance (p.source, repository.TarBall)
                                       and p.platform_name () not in (bootstrap_names + ['tools::tar']))]
     bzip2_packs = [p for p in tar_packs if p.source.source.endswith ('bz2')]
 
     extra_names = []
+    rsync_packs = bazaar_packs or cvs_packs or subversion_packs
     if bzip2_packs:
         extra_names += ['tools::bzip2']
     if git_packs:
@@ -107,6 +111,8 @@
         extra_names += ['tools::patch']
     if python_packs or scons_packs:
         extra_names += ['tools::python']
+    if rsync_packs:
+        extra_names += ['tools::rsync']
     if scons_packs:
         extra_names += ['tools::scons']
     if tar_packs:
@@ -161,6 +167,12 @@
             old_callback = p.get_build_dependencies
             p.get_build_dependencies = misc.MethodOverrider (old_callback,
                                                              lambda x,y: x+y, (add,))
+    for p in rsync_packs:
+        add = ['tools::rsync']
+        if not misc.list_in (add, p.get_platform_build_dependencies ()):
+            old_callback = p.get_build_dependencies
+            p.get_build_dependencies = misc.MethodOverrider (old_callback,
+                                                             lambda x,y: x+y, (add,))
     for p in scons_packs:
         add = ['tools::scons']
         if not misc.list_in (add, p.get_platform_build_dependencies ()):