Mercurial > gub
changeset 6:052d2a4885bd
settings dict
author | janneke <janneke@gnu.org> |
---|---|
date | Thu, 24 Nov 2005 16:43:05 +0100 |
parents | 536bb806a189 |
children | 521a45e10746 |
files | driver.py specs/framework.py specs/gub.py |
diffstat | 3 files changed, 49 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/driver.py Wed Nov 23 22:32:13 2005 +0100 +++ b/driver.py Thu Nov 24 16:43:05 2005 +0100 @@ -54,8 +54,7 @@ package.set_done (stage) def process_packages (ps): - for p in ps: - process_package (p) + map (process_package, ps) def main (): mac = sys.argv[1] == 'mac'
--- a/specs/framework.py Wed Nov 23 22:32:13 2005 +0100 +++ b/specs/framework.py Thu Nov 24 16:43:05 2005 +0100 @@ -8,7 +8,7 @@ self.url = 'ftp://dl.xs4all.nl/pub/mirror/gnu/libtool/libtool-1.5.20.tar.gz' #self.url = 'ftp://dl.xs4all.nl/pub/mirror/gnu/libtool/libtool-1.5.10.tar.gz' - def install_dir (self): + def installdir (self): return self.settings.systemdir class Gettext (gub.Target_package):
--- a/specs/gub.py Wed Nov 23 22:32:13 2005 +0100 +++ b/specs/gub.py Thu Nov 24 16:43:05 2005 +0100 @@ -4,30 +4,36 @@ import subprocess import cross -def system (cmd, ignore_error = False, env = {}): - call_env = os.environ.copy() - call_env.update (env) - - for (k,v) in env.items(): - sys.stderr.write ('%s=%s\n' % (k,v)) - +def system_one (cmd, ignore_error, env): sys.stderr.write ('invoking %s\n' % cmd) - proc = subprocess.Popen (cmd, shell=True, env = call_env) + proc = subprocess.Popen (cmd, shell=True, env=env) stat = proc.wait () if stat and not ignore_error: - sys.stderr.write ('fail\n') - sys.exit (1) + raise 'barf' return 0 +def system (cmd, ignore_error=False, env={}): + call_env = os.environ.copy () + call_env.update (env) + + for (k, v) in env.items (): + sys.stderr.write ('%s=%s\n' % (k, v)) + + for i in cmd.split ('\n'): + if i: + system_one (i, ignore_error, call_env) + + return 0 + class Package: def __init__ (self, settings): self.settings = settings - def system (self, cmd, env = {}): - system (cmd, ignore_error = False, env = env) + def system (self, cmd, env={}): + system (cmd, ignore_error=False, env=env) def download (self): dir = self.settings.downloaddir @@ -43,7 +49,7 @@ return f def name (self): - s = self.basename() + s = self.basename () s = re.sub ('-?[0-9][^-]+$', '', s) return s @@ -68,21 +74,30 @@ open ('%s/%s-%s' % (self.settings.statusdir, self.name(), stage), 'w').write ('') def autoupdate (self): - if self.name != 'libtool': - if os.path.isdir (os.path.join (self.srcdir (), 'ltdl')): - self.system ("rm -rf %s/libltdl" % self.srcdir ()) - self.system ("cd %s && libtoolize --force --copy --automake --ltdl" % self.srcdir ()) - else: - self.system ("cd %s && libtoolize --force --copy --automake" % self.srcdir ()) + if os.path.isdir (os.path.join (self.srcdir (), 'ltdl')): + self.system (''' +rm -rf %(srcdir)s/libltdl +cd %(srcdir) && libtoolize --force --copy --automake --ltdl +''') + else: + self.system (''' +cd %(srcdir)s && libtoolize --force --copy --automake +''') if os.path.exists (os.path.join (self.srcdir (), 'bootstrap')): - self.system ('cd %s && bash %s' % (self.srcdir (), 'bootstrap')) + self.system (''' +cd %(srcdir)s && ./bootstrap +''') elif os.path.exists (os.path.join (self.srcdir (), 'autogen.sh')): - self.system ('cd %s && bash %s' % (self.srcdir (), 'autogen.sh')) + self.system (''' +cd %(srcdir) && bash autogen.sh +''') else: - self.system ('cd %s && aclocal' % self.srcdir ()) - self.system ('cd %s && autoheader' % self.srcdir ()) - self.system ('cd %s && autoconf' % self.srcdir ()) - self.system ('cd %s && automake --add-missing' % self.srcdir ()) + self.system (''' +cd %(srcdir)s && aclocal +cd %(srcdir)s && autoheader +cd %(srcdir)s && autoconf +cd %(srcdir)s && automake --add-missing +''') def configure_command (self): return ("%s/configure --prefix=%s " @@ -168,14 +183,18 @@ 'DLLTOOL' : '%(target_architecture)s-dlltool', 'LD': '%(target_architecture)s-ld', 'AR': '%(target_architecture)s-ar', - 'NM': '%(target_architecture)s-nm' + 'NM': '%(target_architecture)s-nm', + + 'srcdir': self.srcdir (), + 'builddir': self.builddir (), + } - for (k,v) in dict.items(): + for (k, v) in dict.items (): v = v % self.settings.__dict__ dict[k] = v - return Package.system (self, cmd, env = dict) + return Package.system (self, cmd, env=dict)