changeset 3960:7147fad42fbc

Grand __init__ (self, settings, source) replace.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 02 Oct 2007 14:31:15 +0200
parents dfd753dead1d
children 58685f53af43
files TODO gub/build.py gub/specs/a52dec.py gub/specs/autoconf.py gub/specs/base-files.py gub/specs/base-passwd.py gub/specs/bash.py gub/specs/boost.py gub/specs/busybox.py gub/specs/cppunit.py gub/specs/cross/binutils.py gub/specs/cross/gcc-core.py gub/specs/cross/gcc.py gub/specs/cygcheck.py gub/specs/cygwin/cross/binutils.py gub/specs/darwin/cross/gcc.py gub/specs/darwin/darwin-sdk.py gub/specs/darwin/odcctools.py gub/specs/darwin/python.py gub/specs/debian/cross/gcc.py gub/specs/debian/libc6-dev.py gub/specs/debian/libc6.py gub/specs/debian/linux-kernel-headers.py gub/specs/dhcp.py gub/specs/dropbear.py gub/specs/e2fsprogs.py gub/specs/expat.py gub/specs/faac.py gub/specs/faad2.py gub/specs/ffmpeg.py gub/specs/fondu.py gub/specs/fontconfig.py gub/specs/freebsd-runtime.py gub/specs/freetype-config.py gub/specs/freetype.py gub/specs/freetype2.py gub/specs/gettext.py gub/specs/ghostscript.py gub/specs/git.py gub/specs/glib.py gub/specs/glibc-core.py gub/specs/glibc.py gub/specs/glibmm.py gub/specs/gmp.py gub/specs/guile-config.py gub/specs/guile.py gub/specs/hello.py gub/specs/libdbi-drivers-sqlite3.py gub/specs/libdbi.py gub/specs/libexif.py gub/specs/libgnugetopt.py gub/specs/libgphoto2.py gub/specs/libiconv.py gub/specs/libjpeg.py gub/specs/libpng.py gub/specs/libsig++.py gub/specs/libtool.py gub/specs/libusb.py gub/specs/libxml++.py gub/specs/libxml2.py gub/specs/lilypad.py gub/specs/lilypond.py gub/specs/linux-arm-softfloat/cross/gcc-core.py gub/specs/linux-arm-softfloat/cross/gcc.py gub/specs/linux-headers.py gub/specs/mingw-runtime.py gub/specs/msys.py gub/specs/ncurses.py gub/specs/noweb.py gub/specs/nsis.py gub/specs/osx-lilypad.py gub/specs/pango.py gub/specs/pic.py gub/specs/pjproject.py gub/specs/psmisc.py gub/specs/python-config.py gub/specs/python.py gub/specs/python25.py gub/specs/qtopia-core.py gub/specs/regex.py gub/specs/root-image.py gub/specs/scons.py gub/specs/sqlite.py gub/specs/sysvinit.py gub/specs/tcltk.py gub/specs/texlive.py gub/specs/tinylogin.py gub/specs/tslib.py gub/specs/urw-fonts.py gub/specs/w32api-in-usr-lib.py gub/specs/w32api.py gub/specs/xerces-c.py gub/specs/zlib.py gub/targetbuild.py
diffstat 94 files changed, 259 insertions(+), 251 deletions(-) [+]
line wrap: on
line diff
--- a/TODO	Tue Oct 02 14:11:36 2007 +0200
+++ b/TODO	Tue Oct 02 14:31:15 2007 +0200
@@ -35,16 +35,16 @@
      1. toevoegen aan platforms in makefile
      2. toevoegen aan platform lijst, die in test-lily/upload wordt gebruikt.
 
+RENAMES
+
+* repository -> source
+* ./gub -> gublib ?
+* ./gub/specs -> gub/builds?
+
 * Robustification against ^C, esp. in in repository.download ()
 
 * Use names of stage iso number in status/stamp file.
 
-* repository -> source
-
-* ./gub -> gublib ?
-
-* ./gub/specs -> gub/builds?
-
 * move Scons, Bjam recipes to gub lib.
 
 * code cygwin installer as alternative build spec.
--- a/gub/build.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/build.py	Tue Oct 02 14:31:15 2007 +0200
@@ -703,4 +703,12 @@
         dir = os.path.join (self.settings.downloads, self.name ())
         source = repository.get_repository_proxy (dir, self.url (), '', '')
         self._check_source_tree (source)
-        return self.build_class () (self.settings, source)
+        ## return self.build_class () (self.settings, source)
+        ## temporary workaround for __init__ help
+        try:
+            return self.build_class () (self.settings, source)
+        except Exception, e:
+            e.message += '\n: Class = ' + self._cls.__name__
+            print e.message
+            raise e
+        
--- a/gub/specs/a52dec.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/a52dec.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 a52 = 'http://liba52.sourceforge.net/files/%(name)s-%(ball_version)s.tar.%(format)s'
 
 class A52dec (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=a52, version='0.7.4')
     def configure_command (self):
         return (targetbuild.TargetBuild.configure_command (self)
--- a/gub/specs/autoconf.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/autoconf.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,7 +2,7 @@
 from gub import toolsbuild
 
 class Autoconf(toolsbuild.ToolsBuild):
-    def __init__ (self, settings):
-	toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+	toolsbuild.ToolsBuild.__init__ (self, settings, source)
 	self.with_template (mirror=mirrors.gnu,
 		   version="2.59", format='bz2')
--- a/gub/specs/base-files.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/base-files.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 url='ftp://ftp.nl.debian.org/debian/pool/main/b/base-files/base-files_4.0.0.tar.gz'
 
 class Base_files (build.BinaryBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         from gub import repository
         # FIXME: cannot parse debian balls
         self.ball_version = '4.0.0'
--- a/gub/specs/base-passwd.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/base-passwd.py	Tue Oct 02 14:31:15 2007 +0200
@@ -13,8 +13,8 @@
         return './configure --prefix=%(prefix_dir)s'
 
 class Base_passwd (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         from gub import repository
         # FIXME: cannot parse debian balls
         self.ball_version = '3.5.11'
--- a/gub/specs/bash.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/bash.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import targetbuild
 
 class Bash (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='3.2',
                    mirror='ftp://ftp.cwru.edu/pub/bash/bash-3.2.tar.gz',
                    format='bz2')
@@ -12,8 +12,8 @@
 
 
 class Bash__mingw (Bash):
-    def __init__ (self, settings):
-        Bash.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Bash.__init__ (self, settings, source)
         self.with_template (version='2.05b-MSYS',
                             mirror='http://ufpr.dl.sourceforge.net/sourceforge/mingw/bash-2.05b-MSYS-src.tar.bz2',
                             format='bz2', strip_components=2)
--- a/gub/specs/boost.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/boost.py	Tue Oct 02 14:31:15 2007 +0200
@@ -7,8 +7,8 @@
 
 # TODO: AutoToolSpec
 class BjamBuild (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         build.append_target_dict (self, {'CFLAGS': ''})
     def get_substitution_dict (self, env={}):
         # FIXME: how to add settings to dict?
@@ -56,7 +56,7 @@
 
 class Boost (BjamBuild):
     def __init__ (self,settings):
-        BjamBuild.__init__ (self, settings)
+        BjamBuild.__init__ (self, settings, source)
         self.with_template (version='1.33.1', mirror=mirrors.boost_1_33_1, format='bz2')
         build.change_target_dict (self, {'CFLAGS': '-DBOOST_PLATFORM_CONFIG=\\"boost/config/platform/linux.hpp\\"'})
     def get_substitution_dict (self, env={}):
--- a/gub/specs/busybox.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/busybox.py	Tue Oct 02 14:31:15 2007 +0200
@@ -7,8 +7,8 @@
 # cpu_set_t
 
 class Busybox (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def get_subpackage_names (self):
         return ['']
@@ -38,8 +38,8 @@
 
 # 1.5 is too new for glibc on vfp
 class Busybox__linux__arm__vfp (Busybox):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         url = 'http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2'
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def patch (self):
--- a/gub/specs/cppunit.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cppunit.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,6 +2,6 @@
 from gub import targetbuild
 
 class Cppunit (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.sf, version='1.10.2')
--- a/gub/specs/cross/binutils.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cross/binutils.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Binutils (cross.CrossToolSpec):
-    def __init__ (self, settings):
-        cross.CrossToolSpec.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        cross.CrossToolSpec.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='2.16.1', format='bz2')
     def install (self):
         cross.CrossToolSpec.install (self)
--- a/gub/specs/cross/gcc-core.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cross/gcc-core.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import misc
         
 class Gcc_core (gcc.Gcc_from_source):
-    def __init__ (self, settings):
-        gcc.Gcc_from_source.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        gcc.Gcc_from_source.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gcc,
                            version='4.1.1', format='bz2', name='gcc')
     def get_build_dependencies (self):
--- a/gub/specs/cross/gcc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cross/gcc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -5,8 +5,8 @@
 
 #FIXME: merge fully with specs/gcc
 class Gcc (cross.CrossToolSpec):
-    def __init__ (self, settings):
-        cross.CrossToolSpec.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        cross.CrossToolSpec.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gcc, version='4.1.1', format='bz2')
 
     def get_build_dependencies (self):
@@ -107,8 +107,8 @@
 
 class Gcc__mingw (Gcc):
     #REMOVEME
-    def __init__ (self, settings):
-        Gcc.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Gcc.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='4.1.1', format='bz2')
     def get_build_dependencies (self):
         return (Gcc.get_build_dependencies (self)
@@ -145,8 +145,8 @@
 from gub import cygwin
 
 class use_cygwin_sources_Gcc__cygwin (Gcc):
-    def __init__ (self, settings):
-        Gcc.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Gcc.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.cygwin, version='3.4.4-3', format='bz2', name='cross/gcc-core')
     def name (self):
         return 'cross/gcc-core'
@@ -199,8 +199,8 @@
 
 class Gcc__freebsd (Gcc):
     #REMOVEME
-    def __init__ (self, settings):
-        Gcc.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Gcc.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='4.1.1', format='bz2')
     def get_build_dependencies (self):
         return (Gcc.get_build_dependencies (self)
--- a/gub/specs/cygcheck.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cygcheck.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 
 class Cygcheck (build.BinaryBuild):
     "Only need the cygcheck.exe binary."
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (version='1.5.18-1', mirror=mirrors.cygwin_bin, format='bz2')
         
     def untar (self):
--- a/gub/specs/cygwin/cross/binutils.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/cygwin/cross/binutils.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 # FIXME: setting binutil's tooldir and/or gcc's gcc_tooldir may fix
 # -luser32 (ie -L .../w32api/) problem without having to set LDFLAGS.
 class Binutils (binutils.Binutils):
-    def __init__ (self, settings):
-        binutils.Binutils.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        binutils.Binutils.__init__ (self, settings, source)
         from gub import mirrors
         self.with_template (version='2.17', format='bz2', mirror=mirrors.gnu)
     def makeflags (self):
@@ -18,7 +18,7 @@
                  + ' --disable-werror ')
 
 class use_cygwin_sources_Binutils (binutils.Binutils):
-    def __init__ (self, settings):
-        binutils.Binutils.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        binutils.Binutils.__init__ (self, settings, source)
         from gub import mirrors
         self.with_template (version='20060817-1', format='bz2', mirror=mirrors.cygwin)
--- a/gub/specs/darwin/cross/gcc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/darwin/cross/gcc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,9 +2,9 @@
 from gub import mirrors
 
 class Gcc (gcc.Gcc):
-    def __init__ (self, settings):
+    def __init__ (self, settings, source):
         #FIXME: separate-out: darwin-ppc/gcc.py / class Gcc__darwin__powerpc ()
-        gcc.Gcc.__init__ (self, settings)
+        gcc.Gcc.__init__ (self, settings, source)
         if self.settings.target_architecture.startswith ("powerpc"):
             self.with_template (version='4.1.1', mirror=mirrors.gcc_41, format='bz2')
         else:
--- a/gub/specs/darwin/darwin-sdk.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/darwin/darwin-sdk.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Darwin_sdk (build.SdkBuild):
-    def __init__ (self, settings):
-        build.SdkBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.SdkBuild.__init__ (self, settings, source)
         os_version = 7
         if settings.platform == 'darwin-x86':
             os_version = 8
--- a/gub/specs/darwin/odcctools.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/darwin/odcctools.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Odcctools (cross.CrossToolSpec):
-    def __init__ (self, settings):
-        cross.CrossToolSpec.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        cross.CrossToolSpec.__init__ (self, settings, source)
         self.with_template (version='20060413',
                    ####version='20060608',
                    #version='20061117',
--- a/gub/specs/darwin/python.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/darwin/python.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 
 ## change to sdk package
 class Python (build.SdkBuild):
-    def __init__ (self, settings):
-        build.NullBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.NullBuild.__init__ (self, settings, source)
         self.version = (lambda: '2.3')
         self.vc_branch = ''
         self.format = ''
--- a/gub/specs/debian/cross/gcc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/debian/cross/gcc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import mirrors
 
 class Gcc (gcc.Gcc):
-    def __init__ (self, settings):
-        gcc.Gcc.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        gcc.Gcc.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version=debian.gcc_version,
                            format='bz2')
     def get_build_dependencies (self):
@@ -14,8 +14,8 @@
         return gcc.Gcc.configure_command (self) + ' --disable-tls '
 
 class Gcc__debian__arm (Gcc):
-    def __init__ (self, settings):
-        gcc.Gcc.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        gcc.Gcc.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='3.4.6', format='bz2')
 
 
--- a/gub/specs/debian/libc6-dev.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/debian/libc6-dev.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import mirrors
 
 class Libc6_dev (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template  (version=debian.get_packages ()['libc6-dev'].version (),
                    strip_components=0,
                    mirror=mirrors.glibc_deb,
--- a/gub/specs/debian/libc6.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/debian/libc6.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import mirrors
 
 class Libc6 (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (version=debian.get_packages ()['libc6'].version (),
                    strip_components=0,
                    mirror=mirrors.glibc_deb,
--- a/gub/specs/debian/linux-kernel-headers.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/debian/linux-kernel-headers.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import debian
 
 class Linux_kernel_headers (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (
 # FIXME: we do not mirror all 12 debian arch's,
 #            version=debian.get_packages ()['linux-kernel-headers'].version (),
--- a/gub/specs/dhcp.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/dhcp.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url = 'http://ftp.isc.org/isc/dhcp/dhcp-3.0.6.tar.gz'
 
 class Dhcp (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url, strip_components=2))
     def get_subpackage_names (self):
         return ['']
--- a/gub/specs/dropbear.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/dropbear.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url = 'http://matt.ucc.asn.au/dropbear/releases/dropbear-0.49.tar.gz'
 
 class Dropbear (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def get_subpackage_names (self):
         return ['']
--- a/gub/specs/e2fsprogs.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/e2fsprogs.py	Tue Oct 02 14:31:15 2007 +0200
@@ -5,8 +5,8 @@
 
 
 class E2fsprogs (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.sf, version='1.38')
     def install_command (self):
         return (targetbuild.TargetBuild.install_command (self)
--- a/gub/specs/expat.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/expat.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import toolsbuild
 
 class Expat (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='1.95.8', mirror=mirrors.sf, format='gz')
 
     def get_build_dependencies (self):
@@ -37,8 +37,8 @@
                 + self.makeflags ())
 
 class Expat__linux__arm__vfp (Expat):
-    def __init__ (self, settings):
-        Expat.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Expat.__init__ (self, settings, source)
         self.with_template (version='2.0.0')
     def patch (self):
         self.system ("touch %(srcdir)s/tests/xmltest.sh.in")
--- a/gub/specs/faac.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/faac.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,6 +2,6 @@
 from gub import targetbuild
 
 class Faac (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.sf, version='1.24')
--- a/gub/specs/faad2.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/faad2.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 faac = 'http://surfnet.dl.sourceforge.net/sourceforge/faac/%(name)s-%(ball_version)s.tar.%(format)s'
 
 class Faad2 (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=faac, version='2.5')
     def patch (self):
         self.system ('''
--- a/gub/specs/ffmpeg.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/ffmpeg.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import targetbuild
 
 class Ffmpeg (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         # FIXME: fixed version for svn, what a mess
         self.revision = '6017'
         repo = repository.Subversion (
--- a/gub/specs/fondu.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/fondu.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Fondu (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version="060102",
              mirror='http://fondu.sourceforge.net/fondu_src-060102.tgz')
 
--- a/gub/specs/fontconfig.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/fontconfig.py	Tue Oct 02 14:31:15 2007 +0200
@@ -14,8 +14,8 @@
 fonts within the system and select them according to requirements
 specified by applications.'''
 
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.Git (self.get_repodir (),
                                       source="git://anongit.freedesktop.org/git/fontconfig",
                                       revision=fc_version))
@@ -122,8 +122,8 @@
     pass
 
 class Fontconfig__tools (toolsbuild.ToolsBuild):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.with_template (mirror="git://anongit.freedesktop.org/git/fontconfig",
                    version=fc_version)
         
@@ -139,8 +139,8 @@
                 + ' DOCSRC="" ')
 
 class Fontconfig__cygwin (Fontconfig):
-    def __init__ (self, settings):
-        Fontconfig.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Fontconfig.__init__ (self, settings, source)
         self.with_template (mirror=mirrors.fontconfig, version='2.4.1')
         self.so_version = '1'
 
--- a/gub/specs/freebsd-runtime.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/freebsd-runtime.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Freebsd_runtime (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         version = '4.10-2'
         if 0 and settings.target_architecture == 'i686-freebsd6':
             version = '6.1-RELEASE'
--- a/gub/specs/freetype-config.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/freetype-config.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Freetype_config (build.SdkBuild):
-    def __init__ (self, settings):
-        build.SdkBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.SdkBuild.__init__ (self, settings, source)
         self.has_source = False
         self.with_template (version='2.1.9')
     def untar (self):
@@ -31,7 +31,7 @@
         self.chmod (file, 0755)
 
 class Freetype_config__cygwin (Freetype_config):
-    def __init__ (self, settings):
-        Freetype_config.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Freetype_config.__init__ (self, settings, source)
         self.with_template (version='2.3.4')
         
--- a/gub/specs/freetype.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/freetype.py	Tue Oct 02 14:31:15 2007 +0200
@@ -11,8 +11,8 @@
 libraries, display servers, font conversion tools, text image generation
 tools, and many other products as well.'''
 
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='2.1.10', mirror=mirrors.nongnu_savannah)
 
     def license_file (self):
@@ -67,8 +67,8 @@
              mode='a')
 
 class XFreetype__cygwin (Freetype):
-    def __init__ (self, settings):
-        Freetype.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Freetype.__init__ (self, settings, source)
         self.with_template (version='2.1.10', mirror=mirrors.nongnu_savannah)
         self.so_version = '6'
 
--- a/gub/specs/freetype2.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/freetype2.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub.specs import freetype
 
 class XFreetype2__cygwin (freetype.Freetype__cygwin):
-    def __init__ (self, settings):
-        freetype.Freetype__cygwin.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        freetype.Freetype__cygwin.__init__ (self, settings, source)
         self.with_template (version='2.1.10',
                             mirror=mirrors.nongnu_savannah,
                             name='freetype')
--- a/gub/specs/gettext.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/gettext.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import toolsbuild
 
 class Gettext (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='0.15', mirror=mirrors.gnu, format='gz')
 
     def get_build_dependencies (self):
@@ -37,8 +37,8 @@
         return Gettext.get_build_dependencies (self)
 
 class Gettext__mingw (Gettext):
-    def __init__ (self, settings):
-        Gettext.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Gettext.__init__ (self, settings, source)
         self.with_template (version='0.15', mirror=mirrors.gnu, format='gz')
 
     def config_cache_overrides (self, str):
--- a/gub/specs/ghostscript.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/ghostscript.py	Tue Oct 02 14:31:15 2007 +0200
@@ -15,8 +15,8 @@
 Supported printers include common dot-matrix, inkjet and laser
 models.'''
 
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         repo = repository.Subversion (
             dir=self.get_repodir (),
             source='http://svn.ghostscript.com:8080/ghostscript',
@@ -198,8 +198,8 @@
 ''', '%(install_prefix)s/etc/relocate/gs.reloc')
 
 class Ghostscript__mingw (Ghostscript):
-    def __init__ (self, settings):
-        Ghostscript.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Ghostscript.__init__ (self, settings, source)
         # Configure (compile) without -mwindows for console
         # FIXME: should add to CPPFLAGS...
         self.target_gcc_flags = '-mms-bitfields -D_Windows -D__WINDOWS__'
@@ -284,10 +284,10 @@
 #8250
 fonts_url = 'http://mirror2.cs.wisc.edu/pub/mirrors/ghost/GPL/gs860/ghostscript-fonts-std-8.11.tar.gz'
 class Ghostscript__cygwin (Ghostscript):
-    def __init__ (self, settings):
-        Ghostscript.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Ghostscript.__init__ (self, settings, source)
         #self.source.revision = '8250'
-        #targetbuild.TargetBuild.__init__ (self, settings)
+        #targetbuild.TargetBuild.__init__ (self, settings, source)
         #self.with_vc (repository.TarBall (self.settings.downloads, url))
         self.fonts_source = repository.TarBall (self.settings.downloads,
                                                 fonts_url)
--- a/gub/specs/git.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/git.py	Tue Oct 02 14:31:15 2007 +0200
@@ -72,8 +72,8 @@
         self.autoupdate()
         
 class Git__mingw (Git):
-    def __init__ (self, settings):
-        Git.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Git.__init__ (self, settings, source)
         self.target_gcc_flags = ' -mms-bitfields '
 
     def configure (self):
--- a/gub/specs/glib.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/glib.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import targetbuild
 
 class Glib (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
 
 
         ## 2.12.4 : see bug  http://bugzilla.gnome.org/show_bug.cgi?id=362918
@@ -68,8 +68,8 @@
 gnome_2195 = 'http://ftp.gnome.org/pub/GNOME/platform/2.19/2.19.5/sources/%(name)s-%(ball_version)s.tar.%(format)s'
 
 class Glib__freebsd__64 (Glib__freebsd):
-    def __init__ (self, settings):
-        Glib__freebsd.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Glib__freebsd.__init__ (self, settings, source)
         self.with_template (version='2.12.12', mirror=gnome_2183,
                    format='bz2')
     def patch (self):
@@ -80,8 +80,8 @@
         return Glib.configure_command (self) + ' --disable-threads --disable-timeloop'
 
 class Glib__tools (toolsbuild.ToolsBuild):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.with_template (version='2.10.3',
                    mirror=mirrors.gnome_214,
                    format='bz2')
--- a/gub/specs/glibc-core.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/glibc-core.py	Tue Oct 02 14:31:15 2007 +0200
@@ -7,8 +7,8 @@
 # Hmm? TARGET_CFLAGS=-O --> targetbuild.py
 
 class Glibc_core (glibc.Glibc):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         #self.with_tarball (mirror=mirrors.gnu, version='2.3.6')
         self.with_tarball (mirror=mirrors.lilypondorg,
                            version='2.3-20070416', format='bz2', name='glibc')
--- a/gub/specs/glibc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/glibc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -9,8 +9,8 @@
 # Hmm? TARGET_CFLAGS=-O --> targetbuild.py
 
 class Glibc (targetbuild.TargetBuild, cross.CrossToolSpec):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         #self.with_tarball (mirror=mirrors.gnu, version='2.3.6')
         self.with_tarball (mirror=mirrors.lilypondorg, version='2.3-20070416',
                            format='bz2')
--- a/gub/specs/glibmm.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/glibmm.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url='http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.12/glibmm-2.12.10.tar.gz'
 
 class Glibmm (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def _get_build_dependencies (self):
         return ['glib', 'libsig++']
--- a/gub/specs/gmp.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/gmp.py	Tue Oct 02 14:31:15 2007 +0200
@@ -64,7 +64,7 @@
 
 class Gmp__cygwin (Gmp):
     def __init__ (self,settings):
-        Gmp.__init__ (self, settings)
+        Gmp.__init__ (self, settings, source)
         self.with_template (version='4.1.4')
 
     def patch (self):
@@ -74,7 +74,7 @@
 
 class Gmp__mingw (Gmp):
     def __init__ (self,settings):
-        Gmp.__init__ (self, settings)
+        Gmp.__init__ (self, settings, source)
         
         # Configure (compile) without -mwindows for console
         self.target_gcc_flags = '-mms-bitfields'
--- a/gub/specs/guile-config.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/guile-config.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Guile_config (build.SdkBuild):
-    def __init__ (self, settings):
-        build.SdkBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.SdkBuild.__init__ (self, settings, source)
         self.has_source = False
         self.with_template (version='1.8.0')
 
--- a/gub/specs/guile.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/guile.py	Tue Oct 02 14:31:15 2007 +0200
@@ -129,8 +129,8 @@
         self.chmod ('%(install_prefix)s/cross/bin/%(target_architecture)s-guile-config', 0755)
 
 class Guile__mingw (Guile):
-    def __init__ (self, settings):
-        Guile.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Guile.__init__ (self, settings, source)
         # Configure (compile) without -mwindows for console
         self.target_gcc_flags = '-mms-bitfields'
 
--- a/gub/specs/hello.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/hello.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,6 +2,6 @@
 from gub import targetbuild
 
 class Hello (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.lilypondorg, version='1.0')
--- a/gub/specs/libdbi-drivers-sqlite3.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libdbi-drivers-sqlite3.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import targetbuild
 
 class Libdbi_drivers_sqlite3 (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         #self.with_template (version='0.8.1', mirror=mirrors.sf, format='gz')
         self.with_vc (repository.NewTarBall (self.settings.downloads, mirrors.sf, 'libdbi-drivers', '0.8.2'))
 
--- a/gub/specs/libdbi.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libdbi.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Libdbi (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='0.8.1', mirror=mirrors.sf, format='gz')
 
     def patch (self):
--- a/gub/specs/libexif.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libexif.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Libexif (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
 # incompatible with gphoto?
 #        self.with_template (version="0.6.9", mirror=mirrors.sf)
 # does not install
--- a/gub/specs/libgnugetopt.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libgnugetopt.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Libgnugetopt (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='1.3', format='bz2', mirror=mirrors.freebsd_ports)
 
     def patch (self):
--- a/gub/specs/libgphoto2.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libgphoto2.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 sf_gphoto = 'http://surfnet.dl.sourceforge.net/sourceforge/gphoto/%(name)s-%(ball_version)s.tar.%(format)s'
 
 class Libgphoto2 (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
 # -lltdl build problem
 #        self.with_template (version='2.3.0', mirror=sf_gphoto)
 # needs libexif >= 0.6.13, which we currently cannot compile/install
--- a/gub/specs/libiconv.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libiconv.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Libiconv (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='1.11', mirror=mirrors.gnu)
     
     def force_sequential_build (self):
--- a/gub/specs/libjpeg.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libjpeg.py	Tue Oct 02 14:31:15 2007 +0200
@@ -6,8 +6,8 @@
 from gub import targetbuild
 
 class Libjpeg (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='v6b', mirror=mirrors.jpeg)
 
     def name (self):
--- a/gub/specs/libpng.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libpng.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Libpng (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='1.2.8', mirror=mirrors.libpng)
     def get_dependency_dict (self):
         return {'':['zlib']}
--- a/gub/specs/libsig++.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libsig++.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,6 +4,6 @@
 url='http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/libsigc++-2.0.17.tar.gz'
 
 class Libsigxx (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
--- a/gub/specs/libtool.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libtool.py	Tue Oct 02 14:31:15 2007 +0200
@@ -34,8 +34,8 @@
                    '%(install_prefix)s/etc/relocate/libtool.reloc')
 
 class Libtool__cygwin (Libtool):
-    def __init__ (self, settings):
-        Libtool.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Libtool.__init__ (self, settings, source)
         self.with_template (version='1.5.22')
     def only_for_cygwin_untar (self):
         cygwin.untar_cygwin_src_package_variant2 (self, self.file_name ())
--- a/gub/specs/libusb.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libusb.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Libusb (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version="0.1.12", mirror=mirrors.sf)
     def configure (self):
         targetbuild.TargetBuild.configure (self)
--- a/gub/specs/libxml++.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libxml++.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url='http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.18/libxml++-2.18.1.tar.gz'
 
 class Libxmlxx (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def _get_build_dependencies (self):
         return ['glibmm']
--- a/gub/specs/libxml2.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/libxml2.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Libxml2 (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnome_218, version='2.6.27')
     def configure_command (self):
         return (targetbuild.TargetBuild.configure_command (self)
--- a/gub/specs/lilypad.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/lilypad.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import misc
 
 class LilyPad (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='0.0.7-1',
                    mirror='http://lilypond.org/download/gub-sources/lilypad-0.0.7-1-src.tar.bz2',
                    format='bz2')
--- a/gub/specs/lilypond.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/lilypond.py	Tue Oct 02 14:31:15 2007 +0200
@@ -16,7 +16,7 @@
 LilyPond lets you create music notation.  It produces
 beautiful sheet music from a high-level description file.'''
 
-    def __init__ (self, settings):
+    def __init__ (self, settings, source):
         targetbuild.TargetBuild.__init__ (self, settings, source)
         if os.environ.has_key ('GUB_LILYPOND_SOURCE'):
             raise 'Just use generic feature: bin/gub -p %(platform)s $GUB_LILYPOND_SOURCE' % settings.__dict__
--- a/gub/specs/linux-arm-softfloat/cross/gcc-core.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/linux-arm-softfloat/cross/gcc-core.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 gcc = misc.load_spec ('cross/gcc-core')
 
 class Gcc_core (gcc.Gcc_core):
-    def __init__ (self, settings):
-        gcc.Gcc_core.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        gcc.Gcc_core.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='3.4.6', format='bz2',
                            name='gcc')
     def patch (self):
--- a/gub/specs/linux-arm-softfloat/cross/gcc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/linux-arm-softfloat/cross/gcc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import misc
 
 class Gcc (gcc.Gcc_from_source):
-    def __init__ (self, settings):
-        gcc.Gcc_from_source.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        gcc.Gcc_from_source.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.gnu, version='3.4.6', format='bz2')
     def patch (self):
         gcc.Gcc_from_source.patch (self)
--- a/gub/specs/linux-headers.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/linux-headers.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Linux_headers (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.linux_2_4,
                            version='2.4.34', format='bz2')
     def get_subpackage_names (self):
@@ -28,8 +28,8 @@
 linux_kernel_headers = misc.load_spec ('debian/linux-kernel-headers')
 
 class Linux_headers__debian (linux_kernel_headers.Linux_kernel_headers):
-    def __init__ (self, settings):
-        linux_kernel_headers.Linux_kernel_headers.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        linux_kernel_headers.Linux_kernel_headers.__init__ (self, settings, source)
         from gub import debian
 #        debian.init_dependency_resolver (settings)
         self.with_template (
@@ -50,6 +50,6 @@
 Linux_headers__linux__mipsel = Linux_headers__debian
 
 class Linux_headers__linux__64 (Linux_headers__debian):
-    def __init__ (self, settings):
-        Linux_headers__debian.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Linux_headers__debian.__init__ (self, settings, source)
         self.with_template (version='2.6.18-7', name='linux-kernel-headers')
--- a/gub/specs/mingw-runtime.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/mingw-runtime.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Mingw_runtime (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (version='3.9', strip_components=0, mirror=mirrors.mingw)
     def install (self):
         self.system ('''
--- a/gub/specs/msys.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/msys.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 
 ### BROKEN
 class Msys(targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         repo = repository.CVS (self.get_repodir(),
                                source=':pserver:anonymous@mingw.cvs.sourceforge.net:/cvsroot/mingw',
                                module='msys/rt/src'
--- a/gub/specs/ncurses.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/ncurses.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Ncurses (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (mirror=mirrors.gnu, version='5.5')
     def license_file (self):
         return '%(srcdir)s/README'
--- a/gub/specs/noweb.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/noweb.py	Tue Oct 02 14:31:15 2007 +0200
@@ -9,8 +9,8 @@
 remaining as simple as possible.  Its primary advantages are
 simplicity, extensibility, and language-independence.
 '''
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url, version='2.11b'))
         self.BIN='%(install_prefix)s/bin'
         self.LIB='%(install_prefix)s/lib'
--- a/gub/specs/nsis.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/nsis.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import toolsbuild
 
 class Nsis (toolsbuild.ToolsBuild):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.save_path = os.environ['PATH']
         mingw_dir = settings.alltargetdir + '/mingw' + settings.root_dir
         os.environ['PATH'] = (mingw_dir
--- a/gub/specs/osx-lilypad.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/osx-lilypad.py	Tue Oct 02 14:31:15 2007 +0200
@@ -5,13 +5,13 @@
     pass
 
 class Osx_lilypad__darwin__ppc (build.NullBuild):
-    def __init__ (self, settings):
-        build.NullBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.NullBuild.__init__ (self, settings, source)
         self.with_template (version="0.2",
                    mirror='http://lilypond.org/download/gub-sources/osx-lilypad-ppc-0.2.tar.gz')
 
 class Osx_lilypad__darwin__x86 (build.NullBuild):
-    def __init__ (self, settings):
-        build.NullBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.NullBuild.__init__ (self, settings, source)
         self.with_template (version="0.2",
                    mirror='http://lilypond.org/download/gub-sources/osx-lilypad-x86-0.2.tar.gz')
--- a/gub/specs/pango.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/pango.py	Tue Oct 02 14:31:15 2007 +0200
@@ -7,8 +7,8 @@
 from gub import targetbuild
 
 class Pango (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='1.14.8',
                    mirror=mirrors.gnome_216,
                    format='bz2')
--- a/gub/specs/pic.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/pic.py	Tue Oct 02 14:31:15 2007 +0200
@@ -76,8 +76,8 @@
                 'uuid-dev',
                 ]
 
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         # FIXME: lilypond_branch
         self.with_template (version=settings.lilypond_branch, mirror=pic_cvs,
                    vc_type='cvs')
--- a/gub/specs/pjproject.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/pjproject.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Pjproject (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads,
                                           url='http://www.pjsip.org/release/0.5.10.1/pjproject-0.5.10.1.tar.gz',
                                           version='0.5.10.1',
--- a/gub/specs/psmisc.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/psmisc.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Psmisc (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (mirror=mirrors.sf, version='22.2')
     def get_subpackage_names (self):
         return ['']
--- a/gub/specs/python-config.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/python-config.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Python_config (build.SdkBuild):
-    def __init__ (self, settings):
-        build.SdkBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.SdkBuild.__init__ (self, settings, source)
         self.has_source = False
         self.with_template (version='2.4.1')
     def untar (self):
@@ -22,7 +22,7 @@
         self.system ('chmod +x %(install_prefix)s/cross/bin/python-config')
 
 class Python_config__cygwin (Python_config):
-    def __init__ (self, settings):
-        build.SdkBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.SdkBuild.__init__ (self, settings, source)
         self.has_source = False
         self.with_template (version='2.5')
--- a/gub/specs/python.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/python.py	Tue Oct 02 14:31:15 2007 +0200
@@ -8,8 +8,8 @@
 from gub import context
 
 class Python (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='2.4.2',
                    mirror=mirrors.python,
                    format='bz2')
@@ -77,8 +77,8 @@
         return '.'.join (self.version ().split ('.')[0:2])
 
 class Python__mingw_binary (build.BinaryBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (mirror="http://lilypond.org/~hanwen/python-2.4.2-windows.tar.gz",
                    version='2.4.2')
 
@@ -94,8 +94,8 @@
 
 
 class Python__mingw_cross (Python):
-    def __init__ (self, settings):
-        Python.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Python.__init__ (self, settings, source)
         self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_prefix)s/include' % self.settings.__dict__
 
     # FIXME: first is cross compile + mingw patch, backported to
--- a/gub/specs/python25.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/python25.py	Tue Oct 02 14:31:15 2007 +0200
@@ -10,8 +10,8 @@
 
 
 class Python (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         
         ## don't from gub import settings from build system.
 	self.BASECFLAGS=''
@@ -77,8 +77,8 @@
         return '.'.join (self.ball_version.split ('.')[0:2])
 
 class Python__mingw (Python):
-    def __init__ (self, settings):
-        Python.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Python.__init__ (self, settings, source)
         self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_prefix)s/include' % self.settings.__dict__
 
     # FIXME: first is cross compile + mingw patch, backported to
@@ -126,8 +126,8 @@
 
 from gub import toolsbuild
 class Python__tools (toolsbuild.ToolsBuild, Python):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.with_template (version='2.5',
                    mirror=mirrors.python,
                    format='bz2')
--- a/gub/specs/qtopia-core.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/qtopia-core.py	Tue Oct 02 14:31:15 2007 +0200
@@ -9,8 +9,8 @@
 #       sort-out what exactly is Qmake build, qt, and qtopia-core specific
 
 class Qtopia_core (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=trolltech, version='4.2.2')
         dict = {
             'CC': 'gcc',
--- a/gub/specs/regex.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/regex.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,7 +2,7 @@
 from gub import targetbuild
 
 class Regex (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (version='2.3.90-1',
                    mirror=mirrors.lilypondorg, format='bz2')
--- a/gub/specs/root-image.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/root-image.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Root_image (build.NullBuild):
-    def __init__ (self, settings):
-        build.NullBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.NullBuild.__init__ (self, settings, source)
         from gub import repository
         self.with_vc (repository.Version ('1.0'))
     def _get_build_dependencies (self):
--- a/gub/specs/scons.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/scons.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class Scons (toolsbuild.ToolsBuild):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.with_template (version='0.96.93',
                    format='gz',
                    mirror=mirrors.sf),
--- a/gub/specs/sqlite.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/sqlite.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 sqlite = 'http://www.sqlite.org/sqlite-%(ball_version)s.tar.%(format)s'
 
 class Sqlite (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=sqlite, version='3.3.16')
     def configure_command (self):
         return (targetbuild.TargetBuild.configure_command (self)
--- a/gub/specs/sysvinit.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/sysvinit.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url = 'ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.86.tar.gz'
 
 class Sysvinit (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def get_subpackage_names (self):
         return ['']
--- a/gub/specs/tcltk.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/tcltk.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import context
  
 class Tcltk (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_template (
             mirrors.lilypondorg,
             version='8.4.14')
--- a/gub/specs/texlive.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/texlive.py	Tue Oct 02 14:31:15 2007 +0200
@@ -15,8 +15,8 @@
 TeX, as well as the documentation accompanying the included software
 packages.'''
 
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         repo = repository.Subversion (
             dir=self.get_repodir (),
             source=texlive_svn,
@@ -156,8 +156,8 @@
         return 'texlive-3.0'
 
 class Texlive__cygwin (Texlive):
-    def __init__ (self, settings):
-        Texlive.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Texlive.__init__ (self, settings, source)
 
     # FIXME: uses mixed gub/distro dependencies
     def get_dependency_dict (self):
--- a/gub/specs/tinylogin.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/tinylogin.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 url = 'http://tinylogin.busybox.net/downloads/tinylogin-1.4.tar.gz'
 
 class Tinylogin (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_vc (repository.TarBall (self.settings.downloads, url))
     def patch (self):
         self.shadow_tree ('%(srcdir)s', '%(builddir)s')
--- a/gub/specs/tslib.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/tslib.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import targetbuild
 
 class Tslib (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.berlios, version='1.0', format='bz2')
     def configure (self):
         targetbuild.TargetBuild.configure (self)
--- a/gub/specs/urw-fonts.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/urw-fonts.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class Urw_fonts (build.BinaryBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
 
         self.with_template (version='1.0.7pre41',
                    mirror='ftp://ftp.gnome.ru/fonts/urw/release/urw-fonts-%(version)s.tar.bz2')
--- a/gub/specs/w32api-in-usr-lib.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/w32api-in-usr-lib.py	Tue Oct 02 14:31:15 2007 +0200
@@ -1,8 +1,8 @@
 from gub import build
 
 class W32api_in_usr_lib (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (version='1.0',  strip_components=0)
     def get_build_dependencies (self):
         return ['w32api']
--- a/gub/specs/w32api.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/w32api.py	Tue Oct 02 14:31:15 2007 +0200
@@ -2,8 +2,8 @@
 from gub import mirrors
 
 class W32api (build.BinaryBuild, build.SdkBuild):
-    def __init__ (self, settings):
-        build.BinaryBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        build.BinaryBuild.__init__ (self, settings, source)
         self.with_template (version='3.6', strip_components=0, mirror=mirrors.mingw)
     def untar (self):
         build.BinaryBuild.untar (self)
--- a/gub/specs/xerces-c.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/xerces-c.py	Tue Oct 02 14:31:15 2007 +0200
@@ -4,8 +4,8 @@
 from gub import targetbuild
 
 class Xerces_c (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
         self.with_tarball (mirror=mirrors.xerces_c, version='2_7_0')
         self.compile_dict = {
             'XERCESCROOT': '%(builddir)s',
@@ -60,7 +60,7 @@
         self.system ('cd %(builddir)s/src/xercesc && %(install_command)s')
 
 class Xerces_c__linux__arm__vfp (Xerces_c):
-    def __init__ (self, settings):
-        Xerces_c.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        Xerces_c.__init__ (self, settings, source)
         self.with_template (version='2_6_0',
                             mirror='http://archive.apache.org/dist/xml/xerces-c/Xerces-C_%(ball_version)s/%(name)s-src_%(ball_version)s.tar.%(format)s')
--- a/gub/specs/zlib.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/specs/zlib.py	Tue Oct 02 14:31:15 2007 +0200
@@ -3,8 +3,8 @@
 from gub import toolsbuild
 
 class Zlib (targetbuild.TargetBuild):
-    def __init__ (self, settings):
-        targetbuild.TargetBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        targetbuild.TargetBuild.__init__ (self, settings, source)
 	self.with_template (version='1.2.3',
                    mirror='http://heanet.dl.sourceforge.net/sourceforge/libpng/zlib-1.2.3.tar.gz')
         
@@ -37,8 +37,8 @@
 
 class Zlib__mingw (Zlib):
     # FIXME: removeme, try zlib-1.2.3.patch
-    def x__init__ (self, settings):
-        Zlib.__init__ (self, settings)
+    def x__init__ (self, settings, source):
+        Zlib.__init__ (self, settings, source)
         self.with_template (version='1.2.2',
                    mirror='http://heanet.dl.sourceforge.net/sourceforge/libpng/zlib-1.2.2.tar.gz')
 
@@ -54,8 +54,8 @@
         return zlib_is_broken + ' %(srcdir)s/configure --shared '
 
 class Zlib__tools (toolsbuild.ToolsBuild, Zlib):
-    def __init__ (self, settings):
-        toolsbuild.ToolsBuild.__init__ (self, settings)
+    def __init__ (self, settings, source):
+        toolsbuild.ToolsBuild.__init__ (self, settings, source)
         self.with_template (version='1.2.3',
                    mirror='http://heanet.dl.sourceforge.net/sourceforge/libpng/zlib-1.2.3.tar.gz')
 
--- a/gub/targetbuild.py	Tue Oct 02 14:11:36 2007 +0200
+++ b/gub/targetbuild.py	Tue Oct 02 14:31:15 2007 +0200
@@ -6,6 +6,9 @@
 from gub import misc
 
 class TargetBuild (build.UnixBuild):
+    def __init__ (self, settings, source):
+        build.UnixBuild.__init__ (self, settings, source)
+
     def configure_command (self):
         return misc.join_lines ('''%(srcdir)s/configure
 --config-cache
@@ -22,9 +25,6 @@
 --libdir=%(prefix_dir)s/lib
 ''')
 
-    def __init__ (self, settings):
-        build.UnixBuild.__init__ (self, settings)
-
     def install (self):
         self.pre_install_libtool_fixup ()
         build.UnixBuild.install (self)