diff --git a/python-3.2b2-fix-ppc-debug-build.patch b/python-3.2b2-fix-ppc-debug-build.patch new file mode 100644 index 0000000..e9c7176 --- /dev/null +++ b/python-3.2b2-fix-ppc-debug-build.patch @@ -0,0 +1,19 @@ +diff -up Python-3.2b2/Python/ceval.c.fix-ppc-debug-build Python-3.2b2/Python/ceval.c +--- Python-3.2b2/Python/ceval.c.fix-ppc-debug-build 2011-01-05 16:37:27.007598805 -0500 ++++ Python-3.2b2/Python/ceval.c 2011-01-05 16:45:06.562652472 -0500 +@@ -30,10 +30,11 @@ + + typedef unsigned long long uint64; + +-#if defined(__ppc__) /* <- Don't know if this is the correct symbol; this +- section should work for GCC on any PowerPC +- platform, irrespective of OS. +- POWER? Who knows :-) */ ++/* PowerPC suppport. ++ "__ppc__" appears to be the preprocessor definition to detect on OS X, whereas ++ "__powerpc__" appears to be the correct one for Linux with GCC ++*/ ++#if defined(__ppc__) || defined (__powerpc__) + + #define READ_TIMESTAMP(var) ppc_getcounter(&var) + diff --git a/python3.spec b/python3.spec index 36bbe0d..56208eb 100644 --- a/python3.spec +++ b/python3.spec @@ -113,7 +113,7 @@ Summary: Version 3 of the Python programming language aka Python 3000 Name: python3 Version: %{pybasever} -Release: 0.7.%{alphatag}%{?dist} +Release: 0.8.%{alphatag}%{?dist} License: Python Group: Development/Languages Source: http://python.org/ftp/python/%{version}/Python-%{version}%{alphatag}.tar.bz2 @@ -231,6 +231,10 @@ Patch128: python-3.2b2-test_sys-COUNT_ALLOCS.patch # Not yet sent upstream Patch129: python-3.2b2-fix-test-subprocess-with-nonreadable-path-dir.patch +# Use the correct preprocessor definition to detect ppc: +# See http://bugs.python.org/issue10655 and rhbz#661510 +Patch130: python-3.2b2-fix-ppc-debug-build.patch + # This is the generated patch to "configure"; see the description of # %{regenerate_autotooling_patch} # above: @@ -398,6 +402,7 @@ rm -r Modules/zlib || exit 1 %patch127 -p1 %patch128 -p1 %patch129 -p1 +%patch130 -p1 # Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there # are many differences between 2.6 and the Python 3 library. @@ -484,8 +489,16 @@ BuildPython() { --with-computed-gotos=%{with_computed_gotos} \ %{nil} - -make OPT="$CFLAGS" %{?_smp_mflags} + # Set EXTRA_CFLAGS to our CFLAGS (rather than overriding OPT, as we've done + # in the past). + # This should fix a problem with --with-valgrind where it adds + # -DDYNAMIC_ANNOTATIONS_ENABLED=1 + # to OPT which must be passed to all compilation units in the build, + # otherwise leading to linker errors, e.g. + # missing symbol AnnotateRWLockDestroy + # + # Invoke the build: + make EXTRA_CFLAGS="$CFLAGS" %{?_smp_mflags} popd echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfDir @@ -1166,6 +1179,11 @@ rm -fr %{buildroot} %changelog +* Wed Jan 5 2011 David Malcolm - 3.2-0.8.b2 +- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker +error with dynamic annotations (when configured using --with-valgrind) +- fix the ppc build of the debug configuration (patch 130; rhbz#661510) + * Tue Jan 4 2011 David Malcolm - 3.2-0.7.b2 - add --with-valgrind to configuration (on architectures that support this)