Accepting request 243912 from home:AndreasStieger:branches:devel:tools:building

Fix SCons with python 2.6 on SLE, including building serf

OBS-URL: https://build.opensuse.org/request/show/243912
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/scons?expand=0&rev=26
This commit is contained in:
Andreas Stieger 2014-08-07 19:25:13 +00:00 committed by Git OBS Bridge
parent 0d6e98345a
commit 5eea739821
3 changed files with 86 additions and 0 deletions

77
scons-2.3.2-python.patch Normal file
View File

@ -0,0 +1,77 @@
From: Dirk Baechle <dl9obn@darc.de>
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 <dl9obn@darc.de>
# 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__)} $)'

View File

@ -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

View File

@ -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 <<EOF
--- engine/SCons/Tool/qt.py