summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-01-06 16:05:56 +0100
committerAndras Timar <andras.timar@collabora.com>2014-01-11 15:06:03 -0800
commit7be8b77602b3947f96adcef87bc14054c00484e8 (patch)
tree092730ed2c6a4b5ab87618ce31298b9c0c4b551b
parent950de3b92fbab4eee931973bb95170e205b16a4b (diff)
fdo#73087: python3: upgrade to version 3.3.3
- drop obsolete/upstreamed patches: python-3.3.0-ffi-clang.patch.1 python-3.3.0-15833.patch.1 one hunk of python-3.3.0-aix.patch.1 in fficonfig.py.in Reviewed-on: https://gerrit.libreoffice.org/7278 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 45c537a1185dfca7e51229dde9e9220e5174bd57) Conflicts: external/python3/python-3.3.0-aix.patch.1 external/python3/python-3.3.0-elf-rpath.patch.1 external/python3/python-3.3.3-aix.patch.1 external/python3/python-3.3.3-elf-rpath.patch.1 python3/ExternalPackage_python3.mk python3/UnpackedTarball_python3.mk python3/python-3.3.0-15833.patch.1 python3/python-3.3.0-aix.patch.1 python3/python-3.3.0-elf-rpath.patch.1 python3/python-3.3.0-ffi-clang.patch.1 Reviewed-on: https://gerrit.libreoffice.org/7290 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> Conflicts: download.lst python3/ExternalPackage_python3.mk python3/UnpackedTarball_python3.mk python3/python-3.3.3-aix.patch.1 python3/python-3.3.3-elf-rpath.patch.1 Conflicts: python3/UnpackedTarball_python3.mk Change-Id: I12f0f78a172067986b63455847015ea2430a084c
-rw-r--r--configure.ac2
-rw-r--r--download.lst2
-rw-r--r--python3/UnpackedTarball_python3.mk9
-rw-r--r--python3/i100492-freebsd.patch.12
-rw-r--r--python3/python-3.3.0-15833.patch.125
-rw-r--r--python3/python-3.3.0-ffi-clang.patch.140
-rw-r--r--python3/python-3.3.0-gcc-4.8.patch.115
-rw-r--r--python3/python-3.3.0-pythreadstate.patch.115
-rw-r--r--python3/python-3.3.3-aix.patch.1 (renamed from python3/python-3.3.0-aix.patch.1)46
-rw-r--r--python3/python-3.3.3-elf-rpath.patch.113
10 files changed, 74 insertions, 95 deletions
diff --git a/configure.ac b/configure.ac
index 11316792f959..047696bed5fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7555,7 +7555,7 @@ internal)
SYSTEM_PYTHON=NO
PYTHON_VERSION_MAJOR=3
PYTHON_VERSION_MINOR=3
- PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.0
+ PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.3
BUILD_TYPE="$BUILD_TYPE PYTHON"
# Embedded Python dies without Home set
if test "$HOME" = ""; then
diff --git a/download.lst b/download.lst
index aa1f98c5782d..eda671f635e1 100644
--- a/download.lst
+++ b/download.lst
@@ -68,7 +68,7 @@ export ORCUS_TARBALL := 8755aac23317494a9028569374dc87b2-liborcus_0.3.0.tar.bz2
export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2
export PNG_TARBALL := 9e5d864bce8f06751bbd99962ecf4aad-libpng-1.5.10.tar.gz
export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
-export PYTHON_TARBALL := b3b2524f72409d919a4137826a870a8f-Python-3.3.0.tar.bz2
+export PYTHON_TARBALL := f3ebe34d4d8695bf889279b54673e10c-Python-3.3.3.tar.bz2
export RAPTOR_TARBALL := 284e768eeda0e2898b0d5bf7e26a016e-raptor-1.4.18.tar.gz
export RASQAL_TARBALL := fca8706f2c4619e2fa3f8f42f8fc1e9d-rasqal-0.9.16.tar.gz
export REDLAND_TARBALL := ca66e26082cab8bb817185a116db809b-redland-1.0.8.tar.gz
diff --git a/python3/UnpackedTarball_python3.mk b/python3/UnpackedTarball_python3.mk
index d8c0862324c7..9bf696138787 100644
--- a/python3/UnpackedTarball_python3.mk
+++ b/python3/UnpackedTarball_python3.mk
@@ -22,19 +22,20 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
python3/i100492-freebsd.patch.1 \
python3/python-3.3.0-i42553.patch.2 \
- python3/python-3.3.0-aix.patch.1 \
+ python3/python-3.3.3-aix.patch.1 \
python3/python-3.3.0-darwin.patch.1 \
python3/python-3.3.0-msvc2012.patch.1 \
python3/python-3.3.0-msvc-disable.patch.1 \
python3/python-3.3.0-msvc-x64.patch.1 \
python3/python-3.3.0-ssl.patch.1 \
python3/python-3.3.0-implicit-int.patch.1 \
- python3/python-3.3.0-ffi-clang.patch.1 \
+ python3/python-3.3.0-gcc-4.8.patch.1 \
+ python3/python-3.3.0-pythreadstate.patch.1 \
))
-ifneq ($(OS),WNT)
+ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
- python3/python-3.3.0-15833.patch.1 \
+ python3/python-3.3.3-elf-rpath.patch.1 \
))
endif
diff --git a/python3/i100492-freebsd.patch.1 b/python3/i100492-freebsd.patch.1
index d797ac14f826..7189a7e81956 100644
--- a/python3/i100492-freebsd.patch.1
+++ b/python3/i100492-freebsd.patch.1
@@ -22,7 +22,7 @@ FreeBSD porting fixes, patch by maho@openoffice.org
# on platforms known to behave badly.
- platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
+ platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5',
- 'os2emx')
+ 'os2emx', 'hp-ux11')
def _run_and_join(self, script):
--- Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:00:41.097955124 +0000
diff --git a/python3/python-3.3.0-15833.patch.1 b/python3/python-3.3.0-15833.patch.1
deleted file mode 100644
index 71cef94535b1..000000000000
--- a/python3/python-3.3.0-15833.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-iff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
---- a/Lib/importlib/_bootstrap.py
-+++ b/Lib/importlib/_bootstrap.py
-@@ -1066,17 +1066,17 @@ class SourceFileLoader(FileLoader, Sourc
- except FileExistsError:
- # Probably another Python process already created the dir.
- continue
-- except PermissionError:
-- # If can't get proper access, then just forget about writing
-- # the data.
-+ except OSError as exc:
-+ # Could be a permission error, read-only filesystem: just forget
-+ # about writing the data.
-+ _verbose_message('could not create {!r}: {!r}', parent, exc)
- return
- try:
- _write_atomic(path, data, _mode)
- _verbose_message('created {!r}', path)
-- except (PermissionError, FileExistsError):
-- # Don't worry if you can't write bytecode or someone is writing
-- # it at the same time.
-- pass
-+ except OSError as exc:
-+ # Same as above: just don't write the bytecode.
-+ _verbose_message('could not create {!r}: {!r}', path, exc)
diff --git a/python3/python-3.3.0-ffi-clang.patch.1 b/python3/python-3.3.0-ffi-clang.patch.1
deleted file mode 100644
index 0dcbc42d13a4..000000000000
--- a/python3/python-3.3.0-ffi-clang.patch.1
+++ /dev/null
@@ -1,40 +0,0 @@
-fix clang build problem:
-
-python3/Modules/_ctypes/libffi/src/x86/sysv.S:389:17: error: invalid variant ´rel´
-Patch by: Rafael Avila de Espindola <respindola at mozilla dot com>
-https://417179.bugs.gentoo.org/attachment.cgi?id=313299
-
-diff -ru python3.old/Modules/_ctypes/libffi/configure.ac python3/Modules/_ctypes/libffi/configure.ac
---- python3.old/Modules/_ctypes/libffi/configure.ac 2012-09-29 10:00:42.000000000 +0200
-+++ python3/Modules/_ctypes/libffi/configure.ac 2012-11-27 16:12:44.421564130 +0100
-@@ -303,10 +303,10 @@
- if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
- AC_CACHE_CHECK([assembler supports pc related relocs],
- libffi_cv_as_x86_pcrel, [
-- libffi_cv_as_x86_pcrel=yes
-+ libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-- libffi_cv_as_x86_pcrel=no
-+ if $CC $CFLAGS -c conftest.s > /dev/null; then
-+ libffi_cv_as_x86_pcrel=yes
- fi
- ])
- if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-diff -ru python3.old/Modules/_ctypes/libffi/configure python3/Modules/_ctypes/libffi/configure
---- python3.old/Modules/_ctypes/libffi/configure 2012-09-29 10:00:42.000000000 +0200
-+++ python3/Modules/_ctypes/libffi/configure 2012-11-27 16:12:44.420564130 +0100
-@@ -14322,10 +14322,10 @@
- $as_echo_n "(cached) " >&6
- else
-
-- libffi_cv_as_x86_pcrel=yes
-+ libffi_cv_as_x86_pcrel=no
- echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-- libffi_cv_as_x86_pcrel=no
-+ if $CC $CFLAGS -c conftest.s > /dev/null; then
-+ libffi_cv_as_x86_pcrel=yes
- fi
-
- fi
diff --git a/python3/python-3.3.0-gcc-4.8.patch.1 b/python3/python-3.3.0-gcc-4.8.patch.1
new file mode 100644
index 000000000000..8fb7107ff299
--- /dev/null
+++ b/python3/python-3.3.0-gcc-4.8.patch.1
@@ -0,0 +1,15 @@
+--- Python-3.3.0/Include/modsupport.h 2012-09-29 10:00:26.000000000 +0200
++++ Python-3.3.0/Include/modsupport.h 2013-03-08 10:46:28.671938738 +0100
+@@ -26,7 +26,11 @@
+ /* Due to a glitch in 3.2, the _SizeT versions weren't exported from the DLL. */
+ #if !defined(PY_SSIZE_T_CLEAN) || !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
+ PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
+-PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3);
++PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...)
++#ifdef PY_SSIZE_T_CLEAN
++ Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3)
++#endif
++ ;
+ PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
+ const char *, char **, ...);
+ PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *);
diff --git a/python3/python-3.3.0-pythreadstate.patch.1 b/python3/python-3.3.0-pythreadstate.patch.1
new file mode 100644
index 000000000000..66350e2c8112
--- /dev/null
+++ b/python3/python-3.3.0-pythreadstate.patch.1
@@ -0,0 +1,15 @@
+disable a check in PyThreadState_Swap that is hopefully not a "real" problem
+
+--- python3/Python/pystate.c 2013-04-17 22:45:00.799800000 +0200
++++ python3/Python/pystate.c 2013-04-17 22:46:53.743800000 +0200
+@@ -437,7 +437,9 @@
+ to be used for a thread. Check this the best we can in debug
+ builds.
+ */
+-#if defined(Py_DEBUG) && defined(WITH_THREAD)
++#if defined(Py_DEBUG) && defined(WITH_THREAD) && 0
++ /* disable this for LO - it is triggered by nested PyThreadAttach
++ which do not appear to be a real problem */
+ if (newts) {
+ /* This can be called from PyEval_RestoreThread(). Similar
+ to it, we need to ensure errno doesn't change.
diff --git a/python3/python-3.3.0-aix.patch.1 b/python3/python-3.3.3-aix.patch.1
index 33f0426b5c94..f510a81da840 100644
--- a/python3/python-3.3.0-aix.patch.1
+++ b/python3/python-3.3.3-aix.patch.1
@@ -1,7 +1,7 @@
build with GCC on AIX
---- Python-3.3.0/configure 2012-11-28 09:05:45.990529603 +0000
-+++ Python-3.3.0/configure 2012-11-28 09:06:23.037963934 +0000
+--- Python-3.3.3/configure 2012-11-28 09:05:45.990529603 +0000
++++ Python-3.3.3/configure 2012-11-28 09:06:23.037963934 +0000
@@ -3426,8 +3426,6 @@
else
@@ -49,8 +49,8 @@ build with GCC on AIX
;;
IRIX/5*) LDSHARED="ld -shared";;
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
---- Python-3.3.0/configure.ac 2012-11-28 09:05:45.990529603 +0000
-+++ Python-3.3.0/configure.ac 2012-11-28 09:06:23.038963946 +0000
+--- Python-3.3.3/configure.ac 2012-11-28 09:05:45.990529603 +0000
++++ Python-3.3.3/configure.ac 2012-11-28 09:06:23.038963946 +0000
@@ -545,8 +545,6 @@
without_gcc=$withval;;
esac], [
@@ -98,9 +98,9 @@ build with GCC on AIX
;;
IRIX/5*) LDSHARED="ld -shared";;
IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
---- Python-3.3.0/Makefile.pre.in 2012-11-28 09:05:45.861528086 +0000
-+++ Python-3.3.0/Makefile.pre.in 2012-11-28 09:06:23.046964040 +0000
-@@ -493,7 +493,10 @@
+--- Python-3.3.3/Makefile.pre.in 2012-11-28 09:05:45.861528086 +0000
++++ Python-3.3.3/Makefile.pre.in 2012-11-28 09:06:23.046964040 +0000
+@@ -493,14 +493,20 @@
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
@@ -112,28 +112,28 @@ build with GCC on AIX
$(LN) -f $(INSTSONAME) $@; \
else \
$(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-@@ -1106,6 +1109,8 @@
+ fi
+
+ libpython3.so: libpython$(LDVERSION).so
+- $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
++ if [ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" != "aix" ]; then \
++ SONAME="-Wl,-h$@"; \
++ fi; \
++ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ $(SONAME) $^
+
+ libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
+ $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+@@ -1106,6 +1112,8 @@
export PATH; PATH="`pwd`:$$PATH"; \
export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
+ export LD_LIBRARY_PATH; LD_LIBRARY_PATH="`pwd`${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"; \
+ export LIBPATH; LIBPATH="`pwd`${LIBPATH:+:$LIBPATH}"; \
export EXE; EXE="$(BUILDEXE)"; \
- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-
---- Python-3.3.0/Modules/_ctypes/libffi/fficonfig.py.in 2012-11-28 09:05:45.889528418 +0000
-+++ Python-3.3.0/Modules/_ctypes/libffi/fficonfig.py.in 2012-11-28 09:06:23.046964040 +0000
-@@ -16,7 +16,7 @@
- 'M32R': ['src/m32r/sysv.S', 'src/m32r/ffi.c'],
- 'M68K': ['src/m68k/ffi.c', 'src/m68k/sysv.S'],
- 'POWERPC': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S', 'src/powerpc/linux64.S', 'src/powerpc/linux64_closure.S'],
-- 'POWERPC_AIX': ['src/powerpc/ffi.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'],
-+ 'POWERPC_AIX': ['src/powerpc/ffi_darwin.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'],
- 'POWERPC_FREEBSD': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S'],
- 'ARM': ['src/arm/sysv.S', 'src/arm/ffi.c'],
- 'LIBFFI_CRIS': ['src/cris/sysv.S', 'src/cris/ffi.c'],
---- Python-3.3.0/Modules/Setup.dist 2012-11-28 09:05:45.935528957 +0000
-+++ Python-3.3.0/Modules/Setup.dist 2012-11-28 09:06:23.052964111 +0000
+ if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
+ export PYTHON_FOR_BUILD; \
+--- Python-3.3.3/Modules/Setup.dist 2012-11-28 09:05:45.935528957 +0000
++++ Python-3.3.3/Modules/Setup.dist 2012-11-28 09:06:23.052964111 +0000
@@ -177,7 +177,7 @@
#_bisect _bisectmodule.c # Bisection algorithms
#_heapq _heapqmodule.c # Heap queue algorithm
diff --git a/python3/python-3.3.3-elf-rpath.patch.1 b/python3/python-3.3.3-elf-rpath.patch.1
new file mode 100644
index 000000000000..33de913e09f4
--- /dev/null
+++ b/python3/python-3.3.3-elf-rpath.patch.1
@@ -0,0 +1,13 @@
+set RPATH (only to be used on ELF platforms)
+
+--- python3/Makefile.pre.in 2013-04-19 15:08:43.637715422 +0200
++++ python3/Makefile.pre.in 2013-04-19 15:07:32.685711138 +0200
+@@ -464,7 +464,7 @@
+
+ # Build the interpreter
+ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+- $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) -Wl,-rpath,\$$ORIGIN
+
+ platform: $(BUILDPYTHON) pybuilddir.txt
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform