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', '''