changeset 63:d015a83e01dd

try pango relibtoolize with workarounds, try Guile + patch, try Python + patch.
author janneke <janneke@gnu.org>
date Sun, 27 Nov 2005 22:46:31 +0100
parents 70f772ffd20f
children 81ad4c2646fc
files driver.py specs/download.py specs/framework.py
diffstat 3 files changed, 83 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/driver.py	Sun Nov 27 20:14:43 2005 +0100
+++ b/driver.py	Sun Nov 27 22:46:31 2005 +0100
@@ -66,10 +66,11 @@
 			print 'doing stage', stage
                 	if stage == 'untar':
                         	package.untar ()
+			elif stage == 'patch':
+                        	package.untar ()
+                        	package.patch ()
 			elif stage == 'configure':
                         	package.configure ()
-			elif stage == 'patch':
-                        	package.patch ()
 			elif stage == 'compile':
                         	package.compile ()
 			elif stage == 'install':
--- a/specs/download.py	Sun Nov 27 20:14:43 2005 +0100
+++ b/specs/download.py	Sun Nov 27 22:46:31 2005 +0100
@@ -8,6 +8,10 @@
 	base = 'ftp://ftp.gnu.org/pub/gnu'
 	return base + '/%(name)s/%(name)s-%(version)s.tar.%(format)s'
 
+def alpha ():
+	base = 'ftp://alpha.gnu.org/pub/gnu'
+	return base + '/%(name)s/%(name)s-%(version)s.tar.%(format)s'
+
 def freetype ():
 	return 'ftp://sunsite.cnlab-switch.ch/mirror/freetype/freetype2/%(name)s-%(version)s.tar.%(format)s'
 
@@ -29,5 +33,10 @@
 def zlib ():
 	return 'http://www.zlib.net/%(name)s-%(version)s.tar.%(format)s'
 
-def sourceforge():
+def sourceforge ():
 	return 'http://dl.sourceforge.net/%(name)s/%(name)s-%(version)s.tar.%(format)s' 
+
+
+def python ():
+	return 'http://python.org/ftp/python/%(version)s/%(name)s-%(version)s.tar.%(format)s' 
+
--- a/specs/framework.py	Sun Nov 27 20:14:43 2005 +0100
+++ b/specs/framework.py	Sun Nov 27 22:46:31 2005 +0100
@@ -1,5 +1,6 @@
 import cvs
 import download
+import glob
 import gub
 import os
 import re
@@ -11,12 +12,41 @@
 	pass
 
 class Python (gub.Target_package):
+	def xxset_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 ('python-', 'Python-', self.url)
+		gub.Target_package.wget (self)
+		self.url = re.sub ('Python-', 'python-', self.url)
+		python = self.settings.downloaddir + '/' + self.file_name ()
+		Python = re.sub ('python-', 'Python-', python)
+		self.system ('ln -f %(Python)s %(python)s', locals ())
+
+	def xxuntar (self):
+		gub.Target_package.untar (self)
+		python = self.srcdir ()
+		Python = re.sub ('python-', 'Python-', python)
+		self.system ('mv %(Python)s %(python)s', locals ())
+
 	def xxpatch (self):
 		if self.settings.platform.startswith ('mingw'):
 			self.system ('''
 cd %(srcdir)s && patch -p1 < $HOME/installers/windows/patch/python-2.4.2-1.patch
 ''')
 
+	def xxconfigure (self):
+		self.autoupdate ()
+		gub.Target_package.configure (self)
+
+	def configure (self):
+		if self.settings.platform.startswith ('mingw'):
+			self.settings.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(systemdir)s/usr/include' % self.package_dict ()
+		gub.Target_package.configure (self)
+
+	def xxcompile (self):
+		if self.settings.platform.startswith ('mingw'):
+			self.settings.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(systemdir)s/usr/include' % self.package_dict ()
+		gub.Target_package.compile (self)
+
 class LilyPad (gub.Target_package):
 	pass
 
@@ -62,11 +92,18 @@
 	def configure_command (self):
 		cmd = ''
 		if self.settings.platform.startswith ('mingw'):
-			self.settings.target_gcc_flags = '-mms-bitfields'
-			self.settings.target_gxx_flags = '-mms-bitfields'
-			cmd = gub.join_lines ('''\
+			# watch out for whitespace
+			builddir = self.builddir ()
+			srcdir = self.srcdir ()
+			if 0: # using patch
+				cmd = gub.join_lines ('''\
+AS=%(target_architecture)s-as
 PATH_SEPARATOR=";"
-AS=%(target_architecture)s-as
+CC_FOR_BUILD="cc -I%(builddir)s
+-I%(srcdir)s
+-I%(builddir)s/libguile
+-I.
+-I%(srcdir)s/libguile"
 ''')
 		cmd += gub.Target_package.configure_command (self) \
 		      + gub.join_lines (''' 
@@ -90,6 +127,14 @@
 		return str
 
 	def configure (self):
+		if 0: # using patch
+			gub.Target_package.autoupdate (self)
+			self.file_sub ('''^#(LIBOBJS=".*fileblocks.*)''', '\\1',
+				       '%(srcdir)s/configure')
+			os.chmod ('%(srcdir)s/configure' % self.package_dict (), 0755)
+		if self.settings.platform.startswith ('mingw'):
+			self.settings.target_gcc_flags = '-mms-bitfields'
+			self.settings.target_gxx_flags = '-mms-bitfields'
 		gub.Target_package.configure (self)
 		if self.settings.platform.startswith ('mingw'):
 			self.file_sub ('^\(allow_undefined_flag=.*\)unsupported',
@@ -101,6 +146,12 @@
 			self.system ('''cp $HOME/installers/windows/bin/%(target_architecture)s-libtool %(builddir)s/libtool''')
 			self.system ('''cp $HOME/installers/windows/bin/%(target_architecture)s-libtool %(builddir)s/guile-readline/libtool''')
 
+	def xxcompile (self):
+		if self.settings.platform.startswith ('mingw'):
+			self.settings.target_gcc_flags = '-mms-bitfields'
+			self.settings.target_gxx_flags = '-mms-bitfields'
+		gub.Target_package.compile (self)
+
 	def install (self):
 		gub.Target_package.install (self)
 		version = self.read_pipe ('''\
@@ -170,10 +221,21 @@
 --without-cairo
 ''')
 
-	def configure (self):
+	def xxconfigure (self):
+		self.system ('''cd %(srcdir)s && libtoolize --force --copy''')
+#woe!		
+#libtool: link: CURRENT `1001' is not a nonnegative integer
+#libtool: link: `1001:0:1001' is not valid version information
 		gub.Target_package.configure (self)
 		if self.settings.platform.startswith ('mingw'):
 			self.system ('''cp $HOME/installers/windows/bin/%(target_architecture)s-libtool %(builddir)s/libtool''')
+			for i in ['%(builddir)s/Makefile' \
+				  % self.package_dict ()] \
+			    + glob.glob ('%(builddir)s/*/Makefile' \
+					 % self.package_dict ()) \
+			    + glob.glob ('%(builddir)s/*/*/Makefile' \
+					 % self.package_dict ()):
+				self.file_sub ('^LIBTOOL *=.*', 'LIBTOOL=%(builddir)s/libtool --tag=CXX', i)
 
 class Freetype (gub.Target_package):
 	def configure (self):
@@ -275,6 +337,7 @@
 #Expat (settings).with (version='1.95.8', mirror=download.sf),
 #Fontconfig (settings).with (version='2.3.92', mirror=download.fontconfig),
 #Gettext (settings).with (version='0.14.5'),
+#Guile (settings).with (version='1.7.2', mirror=download.alpha, format='gz'),
 
 def get_packages (settings, platform):
 	packages = {
@@ -294,11 +357,12 @@
 		Expat (settings).with (version='1.95.8-1', mirror=download.lp, format='bz2'),
 		Fontconfig (settings).with (version='2.3.2-1', mirror=download.lp, format='bz2'),
 		Gmp (settings).with (version='4.1.4'),
+		# FIXME: we're actually using 1.7.2-cvs+, 1.7.2 needs too much work
 		Guile (settings).with (version='1.7.2-3', mirror=download.lp, format='bz2'),
 		Glib (settings).with (version='2.8.4', mirror=download.gtk),
 		Pango (settings).with (version='1.10.1', mirror=download.gtk),
+#		Python (settings).with (version='2.4.2', mirror=download.python, format='bz2'),
 		Python (settings).with (version='2.4.2-1', mirror=download.lp, format='bz2'),
-#		Python (settings).with (version='2.4.2', mirror=download.python),
 		Gs (settings).with (version='8.15-1', mirror=download.lp, format='bz2'),
 		LilyPond (settings).with (mirror=cvs.gnu, download=gub.Package.cvs),
 		LilyPad (settings).with (version='0.0.7-1', mirror=download.lp, format='bz2'),