Mercurial > gub
changeset 66:3e0157ebcab8
New Binary_package. Use it to fix darwin-sdk.
author | janneke <janneke@gnu.org> |
---|---|
date | Wed, 30 Nov 2005 20:34:05 +0100 |
parents | e0eba72edffd |
children | cd38b9d94e57 |
files | driver.py specs/darwintools.py specs/gub.py specs/mingw.py |
diffstat | 4 files changed, 57 insertions(+), 57 deletions(-) [+] |
line wrap: on
line diff
--- a/driver.py Mon Nov 28 23:06:34 2005 +0100 +++ b/driver.py Wed Nov 30 20:34:05 2005 +0100 @@ -112,6 +112,9 @@ settings = Settings ('i386-mingw32') settings.target_gcc_flags = '-mwindows -mms-bitfields' platform = 'mingw' + elif platform == 'linux': + settings = Settings ('ap') + platform = 'linux' gub.start_log () settings.verbose = verbose
--- a/specs/darwintools.py Mon Nov 28 23:06:34 2005 +0100 +++ b/specs/darwintools.py Wed Nov 30 20:34:05 2005 +0100 @@ -3,24 +3,9 @@ import download from gub import join_lines -class Darwin_sdk (gub.Cross_package): +class Darwin_sdk (gub.Binary_package): def file_name (self): return 'darwin-sdk.tar.gz' - - def unpack_destination (self): - return self.settings.systemdir - - def configure (self): - pass - - def compile (self): - pass - - def install (self): - pass - - def test(self): - pass class Odcctools (gub.Cross_package): def installdir (self): @@ -28,22 +13,24 @@ class Gcc (gub.Cross_package): def patch (self): - fn ='%s/gcc/config/darwin.h' % self.srcdir() + fn ='%s/gcc/config/darwin.h' % self.srcdir () str = open (fn).read () # backup file. open (fn + "~", 'w').write (str) str = re.sub ('/usr/bin/libtool', '%s/bin/powerpc-apple-darwin7-libtool' % self.settings.tooldir, str) - open (fn,'w').write (str) + open (fn, 'w').write (str) def configure_command (self): cmd = gub.Cross_package.configure_command (self) - cmd += ''' --prefix=%(tooldir)s ---program-prefix=%(target_architecture)s- + cmd += ''' +--prefix=%(tooldir)s +--program-prefix=%(target_architecture)s- --with-as=%(tooldir)s/bin/powerpc-apple-darwin7-as --with-ld=%(tooldir)s/bin/powerpc-apple-darwin7-ld - --enable-static --enable-shared +--enable-static +--enable-shared --enable-libstdcxx-debug --enable-languages=c,c++ ''' % self.settings.__dict__
--- a/specs/gub.py Mon Nov 28 23:06:34 2005 +0100 +++ b/specs/gub.py Wed Nov 30 20:34:05 2005 +0100 @@ -1,6 +1,6 @@ import cross import cvs -import download as dl +import download import glob import os import re @@ -281,20 +281,20 @@ if not os.path.exists (tarball): return - flags = dl.untar_flags (tarball) + flags = download.untar_flags (tarball) # clean up self.system ("rm -rf %(srcdir)s %(builddir)s") cmd = 'tar %(flags)s %(tarball)s -C %(sourcesdir)s' self.system (cmd, locals ()) - def set_download (self, mirror=dl.gnu, format='gz', download=wget): + def set_download (self, mirror=download.gnu, format='gz', download=wget): d = self.package_dict () d.update (locals ()) self.url = mirror () % d self.download = lambda : download (self) - def with (self, version='HEAD', mirror=dl.gnu, format='gz', download=wget): + def with (self, version='HEAD', mirror=download.gnu, format='gz', download=wget): self.version = version self.set_download (mirror, format, download) return self @@ -417,3 +417,30 @@ def system (self, cmd, env={}): dict = self.target_dict (env) Package.system (self, cmd, env=dict) + + +class Binary_package (Package): + def untar (self): + self.system ("rm -rf %(srcdir)s %(builddir)s") + self.system ('mkdir -p %(srcdir)s/root') + tarball = self.settings.downloaddir + '/' + self.file_name () + if not os.path.exists (tarball): + return + flags = download.untar_flags (tarball) + cmd = 'tar %(flags)s %(tarball)s -C %(srcdir)s/root' + self.system (cmd, locals ()) + + def patch (self): + installroot = os.path.dirname (self.installdir ()) + self.dump ('%(srcdir)s/configure', ''' +cat > Makefile <<EOF +default: + @echo done +all: default +install: + mkdir -p %(installdir)s + tar -C %(srcdir)s/root -cf- . | tar -C %(installdir)s -xvf- +EOF +''') + os.chmod ('%(srcdir)s/configure' % self.package_dict (), 0755) +
--- a/specs/mingw.py Mon Nov 28 23:06:34 2005 +0100 +++ b/specs/mingw.py Wed Nov 30 20:34:05 2005 +0100 @@ -3,35 +3,24 @@ import os import re + +class Binary_package ( # FIXME: compile using mingw-runtime-src ? -class Mingw_runtime (gub.Target_package): + + +class Mingw_runtime (gub.Binary_package): def set_download (self, mirror=download.gnu, format='gz', download=gub.Target_package.wget): gub.Target_package.set_download (self, mirror, format, download) self.url = re.sub ('mingw-runtime/', 'mingw/', self.url) self.url = re.sub ('w32api/', 'mingw/', self.url) gub.Target_package.wget (self) - def untar (self): - self.system ("rm -rf %(srcdir)s %(builddir)s") - self.system ('mkdir -p %(srcdir)s/root') - file = self.settings.downloaddir + '/' + self.file_name () - flags = '-zxf' - cmd = 'tar %(flags)s %(file)s -C %(srcdir)s/root' - self.system (cmd, locals ()) - - self.dump ('%(srcdir)s/configure', ''' -cat > Makefile <<EOF -default: - @echo done -all: default -install: - mkdir -p %(installdir)s - tar -C %(srcdir)s/root -cf- . | tar -C %(installdir)s -xvf- - mkdir -p %(installdir)s/bin - -cp /cygwin/usr/bin/cygcheck.exe %(installdir)s/bin -EOF -''') - os.chmod ('%(srcdir)s/configure' % self.package_dict (), 0755) + def install (self): + gub.Binary_package.install (self) + self.system (''' +mkdir -p %(installdir)s/bin +cp -f /cygwin/usr/bin/cygcheck.exe %(installdir)s/bin +''', locals ()) class W32api (Mingw_runtime): pass @@ -39,18 +28,12 @@ class Regex (gub.Target_package): pass -class Gs (gub.Target_package): +class Gs (gub.Binary_package): def untar (self): - self.system ("rm -rf %(srcdir)s %(builddir)s") - self.system ('mkdir -p %(srcdir)s/root') - tarball = self.settings.downloaddir + '/' + self.file_name () - if not os.path.exists (tarball): - return - flags = download.untar_flags (tarball) - cmd = 'tar %(flags)s %(tarball)s -C %(srcdir)s/root' - self.system (cmd, locals ()) - # FIXME: weird packaging + gub.Binary_package.untar (self) self.system ('cd %(srcdir)s && mv root/gs-%(version)s/* .') + + def patch (self): installroot = os.path.dirname (self.installdir ()) gs_prefix = '/usr/share/gs' self.dump ('%(srcdir)s/configure', '''