diff --git a/scons-2.3.2-python.patch b/scons-2.3.2-python.patch new file mode 100644 index 0000000..0589445 --- /dev/null +++ b/scons-2.3.2-python.patch @@ -0,0 +1,77 @@ +From: Dirk Baechle +Date: 2014-07-15 +Subject: - fix for issue #2963, "Split broken" (= format() in D tools is incompatible with Python 2.6) +References: http://scons.tigris.org/issues/show_bug.cgi?id=2963 https://bitbucket.org/scons/scons/commits/1444ad9af1d3b6148451af3f0596cba0ad352c50 +Upstream: Committed + +Fixes build of serf 1.3.6 with scons 2.3.2 on SLE_11_SP3 and earlier. Message: + +[ 13s] ValueError: zero length field name in format: +[ 13s] File "/usr/src/packages/BUILD/serf-1.3.6/SConstruct", line 22: +[ 13s] EnsureSConsVersion(2,3,0) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Script/SConscript.py", line 607: +[ 13s] env = self.factory() +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Script/SConscript.py", line 587: +[ 13s] default_env = SCons.Defaults.DefaultEnvironment() +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Defaults.py", line 88: +[ 13s] _default_env = SCons.Environment.Environment(*args, **kw) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Environment.py", line 1003: +[ 13s] apply_tools(self, tools, toolpath) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Environment.py", line 107: +[ 13s] env.Tool(tool) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Environment.py", line 1787: +[ 13s] tool(self) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Tool/__init__.py", line 183: +[ 13s] self.generate(env, *args, **kw) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Tool/default.py", line 41: +[ 13s] SCons.Tool.Tool(t)(env) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Tool/__init__.py", line 183: +[ 13s] self.generate(env, *args, **kw) +[ 13s] File "/usr/lib/python2.6/site-packages/SCons/Tool/dmd.py", line 131: +[ 13s] env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {} $TARGET $SOURCES $_DLIBFLAGS'.format('-c' if env['PLATFORM'] == 'win32' else '') +[ 13s] error: Bad exit status from /var/tmp/rpm-tmp.11595 (%build) + +# HG changeset patch +# User Dirk Baechle +# Date 1405443486 -7200 +# Node ID 1444ad9af1d3b6148451af3f0596cba0ad352c50 +# Parent 03a9d6241942c4f41619b5fc281a8de56ae77216 +- fix for issue #2963, "Split broken" (= format() in D tools is incompatible with Python 2.6) + +diff --git a/src/engine/SCons/Tool/dmd.py b/src/engine/SCons/Tool/dmd.py +--- a/src/engine/SCons/Tool/dmd.py ++++ b/src/engine/SCons/Tool/dmd.py +@@ -128,7 +128,7 @@ + + + env['DLIB'] = 'lib' if env['PLATFORM'] == 'win32' else 'ar cr' +- env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {} $TARGET $SOURCES $_DLIBFLAGS'.format('-c' if env['PLATFORM'] == 'win32' else '') ++ env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {0}$TARGET $SOURCES $_DLIBFLAGS'.format('-c ' if env['PLATFORM'] == 'win32' else '') + + #env['_DLIBFLAGS'] = '$( ${_concat(DLIBFLAGPREFIX, DLIBFLAGS, DLIBFLAGSUFFIX, __env__)} $)' + +diff --git a/src/engine/SCons/Tool/gdc.py b/src/engine/SCons/Tool/gdc.py +--- a/src/engine/SCons/Tool/gdc.py ++++ b/src/engine/SCons/Tool/gdc.py +@@ -102,7 +102,7 @@ + env['SHDLINKCOM'] = '$DLINK -o $TARGET $DLINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' + + env['DLIB'] = 'lib' if env['PLATFORM'] == 'win32' else 'ar cr' +- env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {} $TARGET $SOURCES $_DLINKLIBFLAGS'.format('-c' if env['PLATFORM'] == 'win32' else '') ++ env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {0}$TARGET $SOURCES $_DLINKLIBFLAGS'.format('-c ' if env['PLATFORM'] == 'win32' else '') + + env['_DLIBFLAGS'] = '$( ${_concat(DLIBFLAGPREFIX, DLIBFLAGS, DLIBFLAGSUFFIX, __env__)} $)' + +diff --git a/src/engine/SCons/Tool/ldc.py b/src/engine/SCons/Tool/ldc.py +--- a/src/engine/SCons/Tool/ldc.py ++++ b/src/engine/SCons/Tool/ldc.py +@@ -117,7 +117,7 @@ + + + env['DLIB'] = 'lib' if env['PLATFORM'] == 'win32' else 'ar cr' +- env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {} $TARGET $SOURCES $_DLIBFLAGS'.format('-c' if env['PLATFORM'] == 'win32' else '') ++ env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {0}$TARGET $SOURCES $_DLIBFLAGS'.format('-c ' if env['PLATFORM'] == 'win32' else '') + + #env['_DLIBFLAGS'] = '$( ${_concat(DLIBFLAGPREFIX, DLIBFLAGS, DLIBFLAGSUFFIX, __env__)} $)' + + diff --git a/scons.changes b/scons.changes index b12207e..e55aef6 100644 --- a/scons.changes +++ b/scons.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 7 19:20:13 UTC 2014 - andreas.stieger@gmx.de + +- Fix SCons with python 2.6 on SLE, including building serf: + add scons-2.3.2-python.patch + ------------------------------------------------------------------- Mon Aug 4 22:28:57 UTC 2014 - andreas.stieger@gmx.de diff --git a/scons.spec b/scons.spec index 9feedd1..90797e6 100644 --- a/scons.spec +++ b/scons.spec @@ -36,6 +36,7 @@ Source99: %{name}-rpmlintrc # Sets _mandir to _datadir/man instead of _prefix/man Patch0: %{name}-1.2.0-fix-install.patch Patch1: %{name}-1.2.0-noenv.patch +Patch2: scons-2.3.2-python.patch Url: http://www.scons.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: fdupes @@ -56,6 +57,8 @@ full power of Python to control compilation. %setup -q -a1 %patch0 -p1 %patch1 +%patch2 -p2 + # fix libdir for qt patch -p0 <