This is a major update to the latest stable version of the
Python 3 series.
Fixes #11086.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
---
...-3.4.3-lib64.patch => python-3.6.0-lib64.patch} | 118 ++++++++++-----------
python3/python3.nm | 40 +++----
2 files changed, 77 insertions(+), 81 deletions(-)
rename python3/{python-3.4.3-lib64.patch => python-3.6.0-lib64.patch} (67%)
diff --git a/python3/python-3.4.3-lib64.patch b/python3/python-3.6.0-lib64.patch
similarity index 67%
rename from python3/python-3.4.3-lib64.patch
rename to python3/python-3.6.0-lib64.patch
index db5fd95..8e9ae4e 100644
--- a/python3/python-3.4.3-lib64.patch
+++ b/python3/python-3.6.0-lib64.patch
@@ -1,6 +1,8 @@
---- Python-3.4.0b1/Lib/distutils/command/install.py.lib64 2013-11-24 21:36:54.000000000 +0100
-+++ Python-3.4.0b1/Lib/distutils/command/install.py 2013-11-27 11:10:43.821150774 +0100
-@@ -45,14 +45,14 @@ else:
+diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
+index 9474e9c..c0ce4c6 100644
+--- a/Lib/distutils/command/install.py
++++ b/Lib/distutils/command/install.py
+@@ -30,14 +30,14 @@ WINDOWS_SCHEME = {
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
@@ -17,9 +19,11 @@
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
---- Python-3.4.0b1/Lib/distutils/sysconfig.py.lib64 2013-11-24 21:36:54.000000000 +0100
-+++ Python-3.4.0b1/Lib/distutils/sysconfig.py 2013-11-27 11:10:43.821150774 +0100
-@@ -141,8 +141,12 @@
+diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
+index 026cca7..6d3e077 100644
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -132,8 +132,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
@@ -33,9 +37,11 @@
if standard_lib:
return libpython
else:
---- Python-3.4.0b1/Lib/site.py.lib64 2013-11-24 21:36:54.000000000 +0100
-+++ Python-3.4.0b1/Lib/site.py 2013-11-27 11:10:43.822150773 +0100
-@@ -304,12 +304,16 @@
+diff --git a/Lib/site.py b/Lib/site.py
+index a84e3bb..ba0d3ea 100644
+--- a/Lib/site.py
++++ b/Lib/site.py
+@@ -303,11 +303,15 @@ def getsitepackages(prefixes=None):
seen.add(prefix)
if os.sep == '/':
@@ -43,18 +49,19 @@
+ "python" + sys.version[:3],
+ "site-packages"))
sitepackages.append(os.path.join(prefix, "lib",
- "python" + sys.version[:3],
+ "python%d.%d" % sys.version_info[:2],
"site-packages"))
- sitepackages.append(os.path.join(prefix, "lib", "site-python"))
else:
sitepackages.append(prefix)
+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
---- Python-3.4.0b1/Lib/sysconfig.py.lib64 2013-11-24 21:36:54.000000000 +0100
-+++ Python-3.4.0b1/Lib/sysconfig.py 2013-11-27 11:10:43.822150773 +0100
-@@ -20,10 +20,10 @@
+diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
+index b9bbfe5..2a5f29c 100644
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -20,10 +20,10 @@ __all__ = [
_INSTALL_SCHEMES = {
'posix_prefix': {
@@ -68,7 +75,7 @@
'include':
'{installed_base}/include/python{py_version_short}{abiflags}',
'platinclude':
-@@ -61,10 +61,10 @@
+@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = {
'data': '{userbase}',
},
'posix_user': {
@@ -82,30 +89,26 @@
'include': '{userbase}/include/python{py_version_short}',
'scripts': '{userbase}/bin',
'data': '{userbase}',
---- Python-3.4.0b1/Lib/test/test_site.py.lib64 2013-11-24 21:36:55.000000000 +0100
-+++ Python-3.4.0b1/Lib/test/test_site.py 2013-11-27 11:10:43.822150773 +0100
-@@ -244,12 +244,15 @@
- self.assertEqual(dirs[2], wanted)
+diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
+index f698927..bc977b5 100644
+--- a/Lib/test/test_site.py
++++ b/Lib/test/test_site.py
+@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase):
+ self.assertEqual(dirs[1], wanted)
elif os.sep == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
-- self.assertEqual(len(dirs), 2)
-- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
-+ self.assertEqual(len(dirs), 3)
-+ wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3],
+- self.assertEqual(len(dirs), 1)
+- wanted = os.path.join('xoxo', 'lib',
++ self.assertEqual(len(dirs), 2)
++ wanted = os.path.join('xoxo', 'lib64',
+ 'python%d.%d' % sys.version_info[:2],
'site-packages')
self.assertEqual(dirs[0], wanted)
-- wanted = os.path.join('xoxo', 'lib', 'site-python')
-+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
-+ 'site-packages')
- self.assertEqual(dirs[1], wanted)
-+ wanted = os.path.join('xoxo', 'lib', 'site-python')
-+ self.assertEqual(dirs[2], wanted)
- else:
- # other platforms
- self.assertEqual(len(dirs), 2)
---- Python-3.4.0b1/Makefile.pre.in.lib64 2013-11-27 11:10:43.814150786 +0100
-+++ Python-3.4.0b1/Makefile.pre.in 2013-11-27 11:10:43.823150771 +0100
-@@ -115,7 +115,7 @@
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 8fa7934..a693917 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -126,7 +126,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
@@ -114,29 +117,20 @@
ABIFLAGS= @ABIFLAGS@
# Detailed destination directories
---- Python-3.4.0b1/Modules/getpath.c.lib64 2013-11-24 21:36:56.000000000 +0100
-+++ Python-3.4.0b1/Modules/getpath.c 2013-11-27 11:17:33.619449704 +0100
-@@ -122,8 +122,8 @@
- #endif
-
- #ifndef PYTHONPATH
--#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
-- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
-+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \
-+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload"
- #endif
-
- #ifndef LANDMARK
-@@ -498,7 +498,7 @@
- _pythonpath = _Py_char2wchar(PYTHONPATH, NULL);
- _prefix = _Py_char2wchar(PREFIX, NULL);
- _exec_prefix = _Py_char2wchar(EXEC_PREFIX, NULL);
-- lib_python = _Py_char2wchar("lib/python" VERSION, NULL);
-+ lib_python = _Py_char2wchar("lib64/python" VERSION, NULL);
+diff --git a/Modules/getpath.c b/Modules/getpath.c
+index 65b47a3..eaa756c 100644
+--- a/Modules/getpath.c
++++ b/Modules/getpath.c
+@@ -494,7 +494,7 @@ calculate_path(void)
+ _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL);
+ _prefix = Py_DecodeLocale(PREFIX, NULL);
+ _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL);
+- lib_python = Py_DecodeLocale("lib/python" VERSION, NULL);
++ lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL);
if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) {
Py_FatalError(
-@@ -687,7 +687,7 @@
+@@ -683,7 +683,7 @@ calculate_path(void)
}
else
wcsncpy(zip_path, _prefix, MAXPATHLEN);
@@ -145,7 +139,7 @@
bufsz = wcslen(zip_path); /* Replace "00" with version */
zip_path[bufsz - 6] = VERSION[0];
zip_path[bufsz - 5] = VERSION[2];
-@@ -699,7 +699,7 @@
+@@ -695,7 +695,7 @@ calculate_path(void)
fprintf(stderr,
"Could not find platform dependent libraries <exec_prefix>\n");
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
@@ -154,9 +148,11 @@
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
---- Python-3.4.0b1/setup.py.lib64 2013-11-24 21:36:56.000000000 +0100
-+++ Python-3.4.0b1/setup.py 2013-11-27 11:10:43.824150769 +0100
-@@ -441,7 +441,7 @@
+diff --git a/setup.py b/setup.py
+index 0f2dfc4..da37896 100644
+--- a/setup.py
++++ b/setup.py
+@@ -492,7 +492,7 @@ class PyBuildExt(build_ext):
# directories (i.e. '.' and 'Include') must be first. See issue
# 10520.
if not cross_compiling:
@@ -165,7 +161,7 @@
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# only change this for cross builds for 3.3, issues on Mageia
if cross_compiling:
-@@ -718,11 +718,11 @@
+@@ -780,11 +780,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs +
@@ -179,7 +175,7 @@
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
-@@ -759,8 +759,8 @@
+@@ -821,8 +821,8 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
diff --git a/python3/python3.nm b/python3/python3.nm
index 26343d5..cc26941 100644
--- a/python3/python3.nm
+++ b/python3/python3.nm
@@ -4,9 +4,9 @@
###############################################################################
name = python3
-major_ver = 3.4
-version = %{major_ver}.3
-release = 2
+major_ver = 3.6
+version = %{major_ver}.0
+release = 1
thisapp = Python-%{version}
groups = Development/Languages
@@ -63,7 +63,7 @@ build
prepare_cmds
if [ "%{lib}" = "lib64" ]; then
- patch -Np1 -i %{DIR_SOURCE}/python-3.4.3-lib64.patch
+ patch -Np1 -i %{DIR_SOURCE}/python-3.6.0-lib64.patch
fi
# Remove embedded copies of expat and libffi
@@ -86,24 +86,24 @@ build
--enable-shared \
--without-ensurepip
- #test
- # LD_LIBRARY_PATH=$(pwd) $(pwd)/python \
- # -m test.regrtest \
- # --verbose \
- # --findleaks \
- # -x test_distutils \
- # -x test_faulthandler \
- # -x test_gdb \
- # -x test_email \
- # -x test_subprocess \
- # -x test_float \
- # -x test_cmath \
- # -x test_asynchat \
- # -x test_asyncore
- #
+ test
+ LD_LIBRARY_PATH=$(pwd) $(pwd)/python \
+ -m test.regrtest \
+ --verbose \
+ --findleaks \
+ -x test_distutils \
+ -x test_faulthandler \
+ -x test_gdb \
+ -x test_email \
+ -x test_subprocess \
+ -x test_float \
+ -x test_cmath \
+ -x test_asynchat \
+ -x test_asyncore
+
# # test_subprocess won't work on grsecurity-enabled kernels
# # test_float and test_cmath do not work on armv5tel (soft FPU)
- #end
+ end
install_cmds
install -d -m 0755 %{BUILDROOT}%{pylibdir}/site-packages/__pycache__
--
2.9.3