changeset 58:ad3903794d25

work ond gmp and guile
author janneke <janneke@gnu.org>
date Sat, 26 Nov 2005 22:46:08 +0100
parents d4212b7353fa
children 0c43f7ba55b8
files specs/framework.py specs/gub.py
diffstat 2 files changed, 83 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/specs/framework.py	Sat Nov 26 14:37:31 2005 +0100
+++ b/specs/framework.py	Sat Nov 26 22:46:08 2005 +0100
@@ -1,5 +1,6 @@
 import cvs
 import download
+import glob
 import gub
 import os
 import re
@@ -24,8 +25,81 @@
 class Libtool (gub.Target_package):
 	pass
 
+class Gmp (gub.Target_package):
+	def xxconfigure (self):
+		self.system ('''cd %(srcdir)s && libtoolize --force''')
+		self.system ('''cd %(srcdir)s && ./missing --run aclocal''')
+		self.system ('''cd %(srcdir)s && ./missing --run autoconf''')
+		self.system ('''cd %(srcdir)s && ./missing --run automake''')
+		self.file_sub ('ac_cv_c_bigendian=unknown',
+			       'ac_cv_c_bigendian=${ac_cv_c_bigendian-unknown}',
+			       '%(srcdir)s/configure')
+		self.file_sub ("-Wl,-e,'\$dll_entry'", '',
+			       '%(srcdir)s/configure')
+
+		self.system ('''chmod +x %(srcdir)s/configure''')
+
+		gub.Target_package.configure (self)
+		
+	def xpatch (self):
+		if self.settings.platform == 'mingw':
+	                ## FIXME, seems we don't need this?
+			self.system ('''
+cd %(srcdir)s && patch -p1 < $HOME/installers/windows/patch/gmp-4.1.4-1.patch
+''')
+
+	def install (self):
+		gub.Target_package.install (self)
+		# minimal libtool fixups
+		self.system ('''
+mkdir -p %(installdir)s/bin
+mv %(installdir)s/lib/lib*.dll %(installdir)s/bin/
+cp %(builddir)s/.libs/libgmp.dll.a %(installdir)s/lib/
+''')
+		base = 'gmp'
+		self.file_sub ('library_names=.*',
+			       "library_names='lib%(base)s.dll.a'",
+			       '%(installdir)s/lib/lib%(base)s.la',
+			       locals ())
+
 class Guile (gub.Target_package):
-	pass
+	def xpatch (self):
+		if self.settings.platform == 'mingw':
+	                ## FIXME
+			self.system ('''
+cd %(srcdir)s && patch -p1 < $HOME/installers/windows/patch/guile-1.7.2-3.patch
+''')
+
+	def configure_command (self):
+		self.settings.target_gcc_flags = '-mms-bitfields'
+		cmd = 'PATH_SEPARATOR=";" ' \
+		      + gub.Target_package.configure_command (self) \
+		      + gub.join_lines (''' 
+--without-threads
+--enable-deprecated
+--enable-discouraged
+--disable-error-on-warning
+--enable-relocation
+--disable-rpath
+''')
+		return cmd
+
+	def configure (self):
+		gub.Target_package.config_cache (self)
+		self.dump ('%(builddir)s/config.cache', '''
+guile_cv_func_usleep_declared=${guile_cv_func_usleep_declared=yes}
+guile_cv_exeext=${guile_cv_exeext=}
+libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(systemdir)s/usr/lib"}
+''', mode='a')
+		gub.Package.configure (self)
+
+		self.file_sub ('^\(allow_undefined_flag=.*\)unsupported',
+			       '\\1',
+			       '%(builddir)s/libtool')
+		self.file_sub ('^\(allow_undefined_flag=.*\)unsupported',
+			       '\\1',
+			       '%(builddir)s/guile-readline/libtool')
+
 
 class LilyPond (gub.Target_package):
 	def configure (self):
@@ -172,7 +246,9 @@
 		Freetype (settings).with (version='2.1.7-1', mirror=download.lp, format='bz2'),
 		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'),
 		Guile (settings).with (version='1.7.2-3', mirror=download.lp, format='bz2'),
+#		Guile (settings).with (version='1.7.2', mirror=download.gnu_alpha, format='bz2'),
 		Glib (settings).with (version='2.8.4', mirror=download.gtk),
 #		Pango (settings).with (version='1.10.1', mirror=download.gtk),
 		LilyPond (settings).with (mirror=cvs.gnu, download=gub.Package.cvs),
--- a/specs/gub.py	Sat Nov 26 14:37:31 2005 +0100
+++ b/specs/gub.py	Sat Nov 26 22:46:08 2005 +0100
@@ -332,17 +332,19 @@
 libexecdir=%(installdir)s/lib \
 '''
 		
-	def configure (self):
+	def config_cache (self):
 		self.system ('mkdir -p %(builddir)s')
-		cache_fn = self.builddir () +'/config.cache'
+		cache_fn = self.builddir () + '/config.cache'
 		cache = open (cache_fn, 'w')
 		str = (cross.cross_config_cache['all']
 		       + cross.cross_config_cache[self.settings.platform])
 		str = self.configure_cache_overrides (str)
 		cache.write (str)
 		cache.close ()
-
 		os.chmod (cache_fn, 0755)
+		
+	def configure (self):
+		self.config_cache ()
 		Package.configure (self)
 
 	def package (self):
@@ -390,7 +392,7 @@
 
 	def file_sub (self, frm, to, name, env={}):
 		dict = self.target_dict (env)
-		return Package.file_sub (self, frm, to, name)
+		return Package.file_sub (self, frm, to, name, env=dict)
 
 	def read_pipe (self, cmd, env={}):
 		dict = self.target_dict (env)