Update to Python 3.8

- sync patch 189 with the python3.8 package
 - remove ppc64 only patch, since it did not apply and we don't have ppc64 since F29
   https://fedoraproject.org/wiki/Changes/DiscontinuePPC64
 - supplement tox
   https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
This commit is contained in:
Miro Hrončok 2021-11-11 11:43:54 +01:00
parent cde65b8b85
commit d56524c195
6 changed files with 31 additions and 66 deletions

1
.gitignore vendored
View File

@ -15,3 +15,4 @@
/pypy3.7-v7.3.5-src.tar.bz2
/pypy3.7-v7.3.6-src.tar.bz2
/pypy3.7-v7.3.7-src.tar.bz2
/pypy3.8-v7.3.7-src.tar.bz2

View File

@ -1,40 +0,0 @@
commit ea4d6a12548eea7ce0424feea13a499fb7085e96
Author: rpm-build <rpm-build>
Date: Wed Mar 29 04:31:55 2017 +0200
011-no-faulthandler.patch
diff --git a/lib-python/3/test/support/__init__.py b/lib-python/3/test/support/__init__.py
index faa1ba7..2edadc9 100644
--- a/lib-python/3/test/support/__init__.py
+++ b/lib-python/3/test/support/__init__.py
@@ -7,7 +7,6 @@ import collections.abc
import contextlib
import datetime
import errno
-import faulthandler
import fnmatch
import functools
import gc
@@ -70,6 +69,11 @@ try:
except ImportError:
resource = None
+try:
+ import faulthandler
+except ImportError:
+ faulthandler = None
+
__all__ = [
# globals
"PIPE_MAX_SIZE", "verbose", "max_memuse", "use_resources", "failfast",
@@ -2231,7 +2235,8 @@ def start_threads(threads, unlock=None):
finally:
started = [t for t in started if t.is_alive()]
if started:
- faulthandler.dump_traceback(sys.stdout)
+ if faulthandler is not None:
+ faulthandler.dump_traceback(sys.stdout)
raise AssertionError('Unable to join %d threads' % len(started))
@contextlib.contextmanager

View File

@ -1,21 +1,24 @@
diff --git a/lib-python/3/ensurepip/__init__.py b/lib-python/3/ensurepip/__init__.py
index 94d40b0..9135b80 100644
index 597a1ef9ee..3bfab52083 100644
--- a/lib-python/3/ensurepip/__init__.py
+++ b/lib-python/3/ensurepip/__init__.py
@@ -1,3 +1,5 @@
@@ -1,6 +1,7 @@
+import distutils.version
+import glob
import os
import os.path
import pkgutil
@@ -9,9 +11,24 @@ import tempfile
-import pkgutil
import sys
import runpy
import tempfile
@@ -9,9 +10,24 @@ import subprocess
__all__ = ["version", "bootstrap"]
-_SETUPTOOLS_VERSION = "47.1.0"
-_SETUPTOOLS_VERSION = "56.0.0"
+_WHEEL_DIR = "/usr/share/python-wheels/"
-_PIP_VERSION = "20.1.1"
-_PIP_VERSION = "21.1.1"
+_wheels = {}
+
+def _get_most_recent_wheel_version(pkg):
@ -35,7 +38,7 @@ index 94d40b0..9135b80 100644
_PROJECTS = [
("setuptools", _SETUPTOOLS_VERSION, "py3"),
@@ -103,13 +120,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
@@ -101,13 +117,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
# additional paths that need added to sys.path
additional_paths = []
for project, version, py_tag in _PROJECTS:
@ -50,6 +53,6 @@ index 94d40b0..9135b80 100644
+ with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp:
+ with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
+ fp.write(sfp.read())
additional_paths.append(os.path.join(tmpdir, wheel_name))

View File

@ -1,5 +1,5 @@
%global basever 7.3
%global pyversion 3.7
%global pyversion 3.8
Name: pypy%{pyversion}
Version: %{basever}.7
Release: 1%{?dist}
@ -127,7 +127,7 @@ URL: http://pypy.org/
# We refer to this subdir of the source tree in a few places during the build:
%global goal_dir pypy/goal
%if 0%{?fedora} >= 35
%if 0%{?fedora} >= 36
%bcond_without main_pypy3
%else
%bcond_with main_pypy3
@ -163,9 +163,6 @@ Patch7: 007-remove-startup-message.patch
# https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
Patch9: 009-add-libxcrypt-support.patch
# It seems ppc64 has no faulthandler
Patch11: 011-no-faulthandler.patch
# Instead of bundled wheels, use our RPM packaged wheels from
# /usr/share/python-wheels
# We conditionally apply this, but we use autosetup, so we use Source here
@ -283,8 +280,8 @@ Obsoletes: pypy3-libs < 7.3.4-4
Requires: python-setuptools-wheel
Requires: python-pip-wheel
%else
Provides: bundled(python3dist(pip)) = 20.1.1
Provides: bundled(python3dist(setuptools)) = 47.1.0
Provides: bundled(python3dist(pip)) = 21.1.1
Provides: bundled(python3dist(setuptools)) = 56.0.0
%endif
# Provides for the bundled libmpdec
@ -319,6 +316,8 @@ Provides: pypy3-devel%{?_isa} = %{version}-%{release}
Obsoletes: pypy3-devel < 7.3.4-4
%endif
Supplements: tox
%description devel
Header files for building C extension modules against PyPy%{pyversion}.
@ -844,11 +843,11 @@ CheckPyPy pypy3-c
%doc README.rst
%dir %{pypyprefix}
%dir %{pypyprefix}/lib-python
%license %{pypyprefix}/LICENSE
%{pypyprefix}/lib-python/%{pylibver}/
%{pypyprefix}/lib_pypy/
%license %{pypyprefix}/lib_pypy/*/LICENSE
%license %{pypyprefix}/lib/pypy%{pyversion}/_cffi_ssl/LICENSE
%license %{pypyprefix}/lib/pypy%{pyversion}/cffi/_pycparser/ply/LICENSE
%license %{pypyprefix}/lib/pypy%{pyversion}/hpy.dist-info/LICENSE
%{pypyprefix}/lib/pypy%{pyversion}/
%{pypyprefix}/site-packages/
%if %{with_emacs}
%{_emacs_sitelispdir}/pypy%{pyversion}trace-mode.el
@ -866,6 +865,8 @@ CheckPyPy pypy3-c
%files devel
%dir %{pypy_include_dir}
%{pypy_include_dir}/*.h
%dir %{pypy_include_dir}/pypy%{pyversion}
%{pypy_include_dir}/pypy%{pyversion}/*.h
%if %{with main_pypy3}
%{_rpmconfigdir}/macros.d/macros.pypy3
%endif
@ -873,8 +874,8 @@ CheckPyPy pypy3-c
%changelog
* Thu Nov 11 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.7-1
- Update to 7.3.7
- Fixes: rhbz#2003682
- Initial pypy3.8 package
- Supplement tox
* Tue Oct 26 2021 Tomáš Hrnčiar <thrnciar@redhat.com> - 7.3.6-1
- Update to 7.3.6

View File

@ -1 +1 @@
SHA512 (pypy3.7-v7.3.7-src.tar.bz2) = 99099f17682b606864753b76a6a0cdf860bc2bf79588ee53e7d0586d3f8f6ab6820240666bd3646ade6523dd5adc6999116d4db4285c688984dc33d4fa7743c6
SHA512 (pypy3.8-v7.3.7-src.tar.bz2) = 9e6701cc441d5535968656cfb0cfa9076c364f9ba32bc6f0ef64f06ab343281e2458dbe88791c0e02401457fbf80d367f397fc904f6146bff68e04a15e05fda2

View File

@ -10,8 +10,8 @@
tests:
- smoke:
dir: python/smoke
run: PYTHON=pypy3.7 VERSION=3.7 ./venv.sh
run: PYTHON=pypy3.8 VERSION=3.8 ./venv.sh
required_packages:
- gcc
- python3-tox
- pypy3.7-devel
- pypy3.8-devel