[packages/python3] - update to 3.8.0

arekm arekm at pld-linux.org
Wed Oct 16 11:17:23 CEST 2019


commit 3e35963a43b07457bfd48aafb12cc1b0656eae77
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Oct 16 11:15:07 2019 +0200

    - update to 3.8.0
    
    m suffix dropped upstream; test_embed broken in similar way as
    https://bugs.python.org/issue35313

 python-distro.patch         | 11 -----------
 python3-db.patch            | 12 ++++++------
 python3-multilib.patch      | 48 +++++++++++++++++++++++++++++++--------------
 python3-profile-tests.patch | 14 ++++++-------
 python3.spec                | 38 +++++++++++++++++++++++------------
 5 files changed, 71 insertions(+), 52 deletions(-)
---
diff --git a/python3.spec b/python3.spec
index 261b7e6..a75a6c3 100644
--- a/python3.spec
+++ b/python3.spec
@@ -21,10 +21,10 @@
 %define		broken_tests_x32	-x test_time
 %undefine	with_optimizations
 %endif
-%define		broken_tests	-x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
+%define		broken_tests	-x test_embed -x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
 
-%define py_ver		3.7
-%define py_abi		%{py_ver}m
+%define py_ver		3.8
+%define py_abi		%{py_ver}
 %define	py_platform	%{py_abi}-%{_target_base_arch}-%{_target_os}%{?_gnu}
 %define py_prefix	%{_prefix}
 %define py_libdir	%{py_prefix}/%{_lib}/python%{py_ver}
@@ -41,13 +41,13 @@ Summary(ru.UTF-8):	Язык программирования очень высо
 Summary(tr.UTF-8):	X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
 Summary(uk.UTF-8):	Мова програмування дуже високого рівня з X-інтерфейсом
 Name:		python3
-Version:	%{py_ver}.4
-Release:	3
+Version:	%{py_ver}.0
+Release:	1
 Epoch:		1
 License:	PSF
 Group:		Development/Languages/Python
 Source0:	https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5:	d33e4aae66097051c2eca45ee3604803
+# Source0-md5:	dbac8df9d8b9edc678d0f4cacdb7dbb0
 Source1:	pyconfig.h.in
 Patch0:		%{name}-pythonpath.patch
 Patch1:		%{name}-ac_fixes.patch
@@ -55,7 +55,7 @@ Patch2:		%{name}-multilib.patch
 Patch3:		%{name}-no_cmdline_tests.patch
 Patch4:		%{name}-makefile-location.patch
 Patch5:		%{name}-config.patch
-Patch6:		python-distro.patch
+
 Patch7:		%{name}-db.patch
 Patch8:		%{name}-install_prefix.patch
 Patch9:		%{name}-tests_with_pythonpath.patch
@@ -490,7 +490,7 @@ Moduły testowe dla Pythona.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1
+
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
@@ -503,7 +503,7 @@ Moduły testowe dla Pythona.
 
 %{__rm} -r Modules/expat
 
-for SUBDIR in darwin libffi_msvc libffi_osx; do
+for SUBDIR in darwin libffi_osx; do
 	%{__rm} -r Modules/_ctypes/$SUBDIR/*
 done
 
@@ -667,7 +667,9 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/python%{py_ver}
+%if "%{py_ver}" != "%{py_abi}"
 %attr(755,root,root) %{_bindir}/python%{py_abi}
+%endif
 %attr(755,root,root) %{_bindir}/python3
 %{_mandir}/man1/python%{py_ver}.1*
 %{_mandir}/man1/python3.1*
@@ -771,8 +773,6 @@ rm -rf $RPM_BUILD_ROOT
 %files modules
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules*
-%attr(755,root,root) %{_bindir}/pyvenv
-%attr(755,root,root) %{_bindir}/pyvenv-%{py_ver}
 %{py_libdir}/__future__.py
 %{py_libdir}/__phello__.foo.py
 %{py_libdir}/_bootlocale.py
@@ -838,7 +838,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/inspect.py
 %{py_libdir}/ipaddress.py
 %{py_libdir}/lzma.py
-%{py_libdir}/macpath.py
 %{py_libdir}/mailbox.py
 %{py_libdir}/mailcap.py
 %{py_libdir}/mimetypes.py
@@ -908,6 +907,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/xdrlib.py
 %{py_libdir}/zipapp.py
 %{py_libdir}/zipfile.py
+%{py_libdir}/zipimport.py
 %{py_libdir}/__pycache__/__future__.cpython-*.py[co]
 %{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co]
 %{py_libdir}/__pycache__/_bootlocale.cpython-*.py[co]
@@ -973,7 +973,6 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/inspect.cpython-*.py[co]
 %{py_libdir}/__pycache__/ipaddress.cpython-*.py[co]
 %{py_libdir}/__pycache__/lzma.cpython-*.py[co]
-%{py_libdir}/__pycache__/macpath.cpython-*.py[co]
 %{py_libdir}/__pycache__/mailbox.cpython-*.py[co]
 %{py_libdir}/__pycache__/mailcap.cpython-*.py[co]
 %{py_libdir}/__pycache__/mimetypes.cpython-*.py[co]
@@ -1043,6 +1042,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/__pycache__/xdrlib.cpython-*.py[co]
 %{py_libdir}/__pycache__/zipapp.cpython-*.py[co]
 %{py_libdir}/__pycache__/zipfile.cpython-*.py[co]
+%{py_libdir}/__pycache__/zipimport.cpython-*.py[co]
 
 #
 # list .so modules to be sure that all of them are built
@@ -1081,6 +1081,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_opcode.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_posixshmem.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_queue.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
@@ -1088,11 +1089,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{py_dyndir}/_sha3.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_statistics.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_testinternalcapi.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testimportmultiple.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_testmultiphase.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_uuid.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_xxsubinterpreters.cpython-*.so
 %attr(755,root,root) %{py_dyndir}/_xxtestfuzz.cpython-*.so
 
 # for openssl < 0.9.8 package sha256 and sha512 modules
@@ -1211,6 +1215,7 @@ rm -rf $RPM_BUILD_ROOT
 %{py_libdir}/venv/*.py
 %dir %{py_libdir}/venv/scripts
 %dir %{py_libdir}/venv/scripts/common
+%{py_libdir}/venv/scripts/common/Activate.ps1
 %{py_libdir}/venv/scripts/common/activate
 %dir %{py_libdir}/venv/scripts/posix
 %{py_libdir}/venv/scripts/posix/activate.csh
@@ -1272,12 +1277,15 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
 %attr(755,root,root) %{_bindir}/python%{py_ver}-config
+%if "%{py_ver}" != "%{py_abi}"
 %attr(755,root,root) %{_bindir}/python%{py_abi}-config
+%endif
 %attr(755,root,root) %{_bindir}/python3-config
 %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
 %attr(755,root,root) %{_libdir}/libpython3.so
 %{py_incdir}/*.h
 %exclude %{py_incdir}/pyconfig.h
+%{py_incdir}/cpython
 %{py_incdir}/internal
 %attr(755,root,root) %{py_libdir}/config-%{py_platform}/makesetup
 %attr(755,root,root) %{py_libdir}/config-%{py_platform}/install-sh
@@ -1288,7 +1296,11 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{py_libdir}/config-%{py_platform}/__pycache__
 %{py_libdir}/config-%{py_platform}/__pycache__/python-config.*
 %{_pkgconfigdir}/python-%{py_ver}.pc
+%{_pkgconfigdir}/python-%{py_ver}-embed.pc
+%{_pkgconfigdir}/python3-embed.pc
+%if "%{py_ver}" != "%{py_abi}"
 %{_pkgconfigdir}/python-%{py_abi}.pc
+%endif
 %{_pkgconfigdir}/python3.pc
 
 %files devel-tools
diff --git a/python-distro.patch b/python-distro.patch
deleted file mode 100644
index a052d76..0000000
--- a/python-distro.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Python-3.3.1/Lib/platform.py~	2013-04-06 09:41:39.000000000 +0200
-+++ Python-3.3.1/Lib/platform.py	2013-05-11 16:25:29.566791008 +0200
-@@ -261,7 +261,7 @@
- _supported_dists = (
-     'SuSE', 'debian', 'fedora', 'redhat', 'centos',
-     'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo',
--    'UnitedLinux', 'turbolinux', 'arch', 'mageia')
-+    'pld', 'UnitedLinux', 'turbolinux', 'arch', 'mageia')
- 
- def _parse_release_file(firstline):
- 
diff --git a/python3-db.patch b/python3-db.patch
index 5674108..928aa62 100644
--- a/python3-db.patch
+++ b/python3-db.patch
@@ -9,18 +9,18 @@
          min_db_ver = (3, 3)
          db_setup_debug = False   # verbose debug prints from this script?
  
---- Python-3.6.0/setup.py~	2016-12-27 23:21:52.000000000 +0100
-+++ Python-3.6.0/setup.py	2016-12-27 23:28:54.720208583 +0100
-@@ -1252,16 +1252,7 @@ class PyBuildExt(build_ext):
+--- Python-3.8.0/setup.py~	2019-10-15 10:03:10.000000000 +0200
++++ Python-3.8.0/setup.py	2019-10-15 10:03:52.493993277 +0200
+@@ -1275,16 +1275,7 @@ class PyBuildExt(build_ext):
              for cand in dbm_order:
                  if cand == "ndbm":
-                     if find_file("ndbm.h", inc_dirs, []) is not None:
+                     if find_file("ndbm.h", self.inc_dirs, []) is not None:
 -                        # Some systems have -lndbm, others have -lgdbm_compat,
 -                        # others don't have either
--                        if self.compiler.find_library_file(lib_dirs,
+-                        if self.compiler.find_library_file(self.lib_dirs,
 -                                                               'ndbm'):
 -                            ndbm_libs = ['ndbm']
--                        elif self.compiler.find_library_file(lib_dirs,
+-                        elif self.compiler.find_library_file(self.lib_dirs,
 -                                                             'gdbm_compat'):
 -                            ndbm_libs = ['gdbm_compat']
 -                        else:
diff --git a/python3-multilib.patch b/python3-multilib.patch
index 4898f2b..b546e49 100644
--- a/python3-multilib.patch
+++ b/python3-multilib.patch
@@ -215,15 +215,15 @@ diff -dur Python-3.5.0.orig/Modules/getpath.c Python-3.5.0/Modules/getpath.c
  
  #if !defined(PREFIX) || !defined(EXEC_PREFIX) || !defined(VERSION) || !defined(VPATH)
  #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined"
-@@ -753,7 +753,7 @@ calculate_zip_path(PyCalculatePath *calc
-     else {
-         wcsncpy(calculate->zip_path, calculate->prefix, MAXPATHLEN);
+@@ -1078,7 +1078,7 @@ calculate_zip_path(PyCalculatePath *calc
+             return PATHLEN_ERR();
+         }
+     }
+-    status = joinpath(zip_path, L"lib/python00.zip", zip_path_len);
++    status = joinpath(zip_path, L"" LIB_PYTHON "00.zip", zip_path_len);
+     if (_PyStatus_EXCEPTION(status)) {
+         return status;
      }
--    joinpath(calculate->zip_path, L"lib/python00.zip");
-+    joinpath(calculate->zip_path, L"" LIB_PYTHON "00.zip");
- 
-     /* Replace "00" with version */
-     size_t bufsz = wcslen(calculate->zip_path);
 @@ -878,7 +878,7 @@ calculate_init(PyCalculatePath *calculat
      if (!calculate->prefix) {
          return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
@@ -347,17 +347,35 @@ diff -dur Python-3.5.0.orig/setup.py Python-3.5.0/setup.py
          system_include_dirs = ['/usr/include']
          # lib_dirs and inc_dirs are used to search for files;
          # if a file is found in one of those directories, it can
-@@ -750,11 +749,11 @@
+@@ -953,11 +953,11 @@ class PyBuildExt(build_ext):
              elif curses_library:
                  readline_libs.append(curses_library)
-             elif self.compiler.find_library_file(lib_dirs +
+             elif self.compiler.find_library_file(self.lib_dirs +
 -                                                     ['/usr/lib/termcap'],
 +                                                     ['/usr/' + sys.lib + '/termcap'],
                                                       'termcap'):
                  readline_libs.append('termcap')
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/lib/termcap'],
-+                                   library_dirs=['/usr/' + sys.lib + '/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
+             self.add(Extension('readline', ['readline.c'],
+-                               library_dirs=['/usr/lib/termcap'],
++                               library_dirs=['/usr/' + sys.lib + '/termcap'],
+                                extra_link_args=readline_extra_link_args,
+                                libraries=readline_libs))
          else:
+
+--- Python-3.8.0/Lib/test/test_embed.py~	2019-10-14 15:34:47.000000000 +0200
++++ Python-3.8.0/Lib/test/test_embed.py	2019-10-15 11:53:55.299065729 +0200
+@@ -1071,11 +1071,11 @@ class InitConfigTests(EmbeddingTestsMixi
+         else:
+             ver = sys.version_info
+             return [
+-                os.path.join(prefix, 'lib',
++                os.path.join(prefix, sys.lib,
+                              f'python{ver.major}{ver.minor}.zip'),
+-                os.path.join(prefix, 'lib',
++                os.path.join(prefix, sys.lib,
+                              f'python{ver.major}.{ver.minor}'),
+-                os.path.join(exec_prefix, 'lib',
++                os.path.join(exec_prefix, sys.lib,
+                              f'python{ver.major}.{ver.minor}', 'lib-dynload'),
+             ]
+ 
diff --git a/python3-profile-tests.patch b/python3-profile-tests.patch
index 11c0dc6..1148214 100644
--- a/python3-profile-tests.patch
+++ b/python3-profile-tests.patch
@@ -1,11 +1,11 @@
---- Python-3.7.4/Makefile.pre.in~	2019-08-05 14:10:46.000000000 +0200
-+++ Python-3.7.4/Makefile.pre.in	2019-08-05 14:37:01.691326225 +0200
+--- Python-3.8.0/Makefile.pre.in~	2019-10-15 10:04:12.000000000 +0200
++++ Python-3.8.0/Makefile.pre.in	2019-10-15 10:09:54.901153005 +0200
 @@ -260,7 +260,7 @@ TCLTK_LIBS=	@TCLTK_LIBS@
- # The task to run while instrumented when building the profile-opt target.
- # We exclude unittests with -x that take a rediculious amount of time to
- # run in the instrumented training build or do not provide much value.
--PROFILE_TASK=-m test.regrtest --pgo
-+PROFILE_TASK=-m test.regrtest --pgo $(TESTOPTS)
+ # To speed up profile generation, we don't run the full unit test suite
+ # by default. The default is "-m test --pgo". To run more tests, use
+ # PROFILE_TASK="-m test --pgo-extended"
+-PROFILE_TASK=	@PROFILE_TASK@
++PROFILE_TASK=	@PROFILE_TASK@ $(TESTOPTS)
  
  # report files for gcov / lcov coverage report
  COVERAGE_INFO=	$(abs_builddir)/coverage.info
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python3.git/commitdiff/3e35963a43b07457bfd48aafb12cc1b0656eae77



More information about the pld-cvs-commit mailing list