The package rpms/pypy3.7.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/pypy3.7.git/commit/?id=2fbd4c4869....
Change:
-%ifarch s390 s390x
Thanks.
Full change:
============
commit 2fbd4c4869045b62a3f198b1b2155f59bf55e3e3
Author: Miro Hrončok <miro(a)hroncok.cz>
Date: Thu Sep 29 22:45:57 2022 +0200
No longer supported upstream, use a newer PyPy version instead
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedorapr...
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index e5fae54..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-/pypy3-2.4.0-src.tar.bz2
-/pypy3.3-v5.2.0-alpha1-src.tar.bz2
-/pypy3.3-v5.5.0-alpha-src.tar.bz2
-/pypy3-v5.7.0-src.tar.bz2
-/pypy3-v5.9.0-src.tar.bz2
-/pypy3-v5.10.0-src.tar.bz2
-/pypy3-v5.10.1-src.tar.bz2
-/pypy3-v6.0.0-src.tar.bz2
-/pypy3.5-v7.0.0-src.tar.bz2
-/pypy3.6-v7.1.1-src.tar.bz2
-/pypy3.6-v7.2.0-src.tar.bz2
-/pypy3.6-v7.3.0-src.tar.bz2
-/pypy3.6-v7.3.1-src.tar.bz2
-/pypy3.7-v7.3.4-src.tar.bz2
-/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.7-v7.3.8-src.tar.bz2
-/pypy3.7-v7.3.9-src.tar.bz2
diff --git a/001-nevertty.patch b/001-nevertty.patch
deleted file mode 100644
index b1db988..0000000
--- a/001-nevertty.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/rpython/tool/ansi_print.py b/rpython/tool/ansi_print.py
-index bfa40be..29dd332 100644
---- a/rpython/tool/ansi_print.py
-+++ b/rpython/tool/ansi_print.py
-@@ -7,7 +7,7 @@ from py.io import ansi_print
- from rpython.tool.ansi_mandelbrot import Driver
-
-
--isatty = getattr(sys.stderr, 'isatty', lambda: False)
-+isatty = lambda: False
- mandelbrot_driver = Driver()
- wrote_dot = False # global shared state
-
diff --git a/006-always-log-stdout.patch b/006-always-log-stdout.patch
deleted file mode 100644
index 0635200..0000000
--- a/006-always-log-stdout.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/rpython/translator/platform/__init__.py
b/rpython/translator/platform/__init__.py
-index 051668b..6e59acc 100644
---- a/rpython/translator/platform/__init__.py
-+++ b/rpython/translator/platform/__init__.py
-@@ -140,6 +140,8 @@ class Platform(object):
- self._handle_error(returncode, stdout, stderr, outname)
-
- def _handle_error(self, returncode, stdout, stderr, outname):
-+ for line in stdout.splitlines():
-+ log.message(line)
- if returncode != 0:
- errorfile = outname.new(ext='errors')
- errorfile.write(stderr, 'wb')
diff --git a/007-remove-startup-message.patch b/007-remove-startup-message.patch
deleted file mode 100644
index 9654d1c..0000000
--- a/007-remove-startup-message.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/lib_pypy/_pypy_interact.py b/lib_pypy/_pypy_interact.py
-index 9542f54..5e44fb4 100644
---- a/lib_pypy/_pypy_interact.py
-+++ b/lib_pypy/_pypy_interact.py
-@@ -13,19 +13,6 @@ def interactive_console(mainmodule=None, quiet=False):
- sys.ps1 = '>>>> '
- if not hasattr(sys, 'ps2'):
- sys.ps2 = '.... '
-- #
-- if not quiet:
-- try:
-- from _pypy_irc_topic import some_topic
-- text = "%s: ``%s''" % ( irc_header, some_topic())
-- while len(text) >= 80:
-- i = text[:80].rfind(' ')
-- print(text[:i])
-- text = text[i+1:]
-- print(text)
-- except ImportError:
-- pass
-- #
- run_interactive = run_simple_interactive_console
- try:
- if not os.isatty(sys.stdin.fileno()):
diff --git a/009-add-libxcrypt-support.patch b/009-add-libxcrypt-support.patch
deleted file mode 100644
index f3c9a7d..0000000
--- a/009-add-libxcrypt-support.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pypy/module/crypt/interp_crypt.py b/pypy/module/crypt/interp_crypt.py
-index bd13f6f..1022c9e 100644
---- a/pypy/module/crypt/interp_crypt.py
-+++ b/pypy/module/crypt/interp_crypt.py
-@@ -9,7 +9,7 @@ elif sys.platform.startswith('linux'):
- # crypt() is defined only in crypt.h on some Linux variants (eg. Fedora 28)
- eci = ExternalCompilationInfo(libraries=['crypt'],
includes=["crypt.h"])
- else:
-- eci = ExternalCompilationInfo(libraries=['crypt'])
-+ eci = ExternalCompilationInfo(libraries=['crypt'],
includes=['crypt.h'])
- c_crypt = rffi.llexternal('crypt', [rffi.CCHARP, rffi.CCHARP], rffi.CCHARP,
- compilation_info=eci, releasegil=False)
-
diff --git a/011-no-faulthandler.patch b/011-no-faulthandler.patch
deleted file mode 100644
index c0dd76b..0000000
--- a/011-no-faulthandler.patch
+++ /dev/null
@@ -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
diff --git a/189-use-rpm-wheels.patch b/189-use-rpm-wheels.patch
deleted file mode 100644
index 4da4d7d..0000000
--- a/189-use-rpm-wheels.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/lib-python/3/ensurepip/__init__.py b/lib-python/3/ensurepip/__init__.py
-index 8289c49..f0d7106 100644
---- a/lib-python/3/ensurepip/__init__.py
-+++ b/lib-python/3/ensurepip/__init__.py
-@@ -1,3 +1,5 @@
-+import distutils.version
-+import glob
- import os
- import os.path
- import pkgutil
-@@ -7,9 +9,26 @@ import tempfile
-
-
- __all__ = ["version", "bootstrap"]
--_PACKAGE_NAMES = ('setuptools', 'pip')
--_SETUPTOOLS_VERSION = "47.1.0"
--_PIP_VERSION = "22.0.4"
-+
-+_WHEEL_DIR = "/usr/share/python-wheels/"
-+
-+_wheels = {}
-+
-+def _get_most_recent_wheel_version(pkg):
-+ prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
-+ _wheels[pkg] = {}
-+ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl":
-+ pattern = "{}*{}".format(prefix, suffix)
-+ for path in glob.glob(pattern):
-+ version_str = path[len(prefix):-len(suffix)]
-+ _wheels[pkg][version_str] = os.path.basename(path)
-+ return str(max(_wheels[pkg], key=distutils.version.LooseVersion))
-+
-+
-+_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
-+
-+_PIP_VERSION = _get_most_recent_wheel_version("pip")
-+
- _PROJECTS = [
- ("setuptools", _SETUPTOOLS_VERSION, "py3"),
- ("pip", _PIP_VERSION, "py3"),
-@@ -100,13 +119,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:
-- wheel_name = "{}-{}-{}-none-any.whl".format(project, version,
py_tag)
-- whl = pkgutil.get_data(
-- "ensurepip",
-- "_bundled/{}".format(wheel_name),
-- )
-- with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
-- fp.write(whl)
-+ wheel_name = _wheels[project][version]
-+ 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))
-
diff --git a/382-cve-2015-20107.patch b/382-cve-2015-20107.patch
deleted file mode 100644
index 4860ad8..0000000
--- a/382-cve-2015-20107.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From c3caa02fe5e48e02a2ff2c0f409317022b05d34f Mon Sep 17 00:00:00 2001
-From: Petr Viktorin <encukou(a)gmail.com>
-Date: Fri, 3 Jun 2022 11:43:35 +0200
-Subject: [PATCH] 00382: CVE-2015-20107
-
-Make mailcap refuse to match unsafe filenames/types/params (GH-91993)
-
-Upstream:
https://github.com/python/cpython/issues/68966
-
-Tracker bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2075390
----
- lib-python/3/mailcap.py | 26 ++++++++++++++++++++++++--
- lib-python/3/test/test_mailcap.py | 8 ++++++--
- 2 files changed, 30 insertions(+), 4 deletions(-)
-
-diff --git a/lib-python/3/mailcap.py b/lib-python/3/mailcap.py
-index ae416a8..444c640 100644
---- a/lib-python/3/mailcap.py
-+++ b/lib-python/3/mailcap.py
-@@ -2,6 +2,7 @@
-
- import os
- import warnings
-+import re
-
- __all__ = ["getcaps","findmatch"]
-
-@@ -13,6 +14,11 @@ def lineno_sort_key(entry):
- else:
- return 1, 0
-
-+_find_unsafe = re.compile(r'[^\xa1-\U0010FFFF\w@+=:,./-]').search
-+
-+class UnsafeMailcapInput(Warning):
-+ """Warning raised when refusing unsafe input"""
-+
-
- # Part 1: top-level interface.
-
-@@ -165,15 +171,22 @@ def findmatch(caps, MIMEtype, key='view',
filename="/dev/null", plist=[]):
- entry to use.
-
- """
-+ if _find_unsafe(filename):
-+ msg = "Refusing to use mailcap with filename %r. Use a safe temporary
filename." % (filename,)
-+ warnings.warn(msg, UnsafeMailcapInput)
-+ return None, None
- entries = lookup(caps, MIMEtype, key)
- # XXX This code should somehow check for the needsterminal flag.
- for e in entries:
- if 'test' in e:
- test = subst(e['test'], filename, plist)
-+ if test is None:
-+ continue
- if test and os.system(test) != 0:
- continue
- command = subst(e[key], MIMEtype, filename, plist)
-- return command, e
-+ if command is not None:
-+ return command, e
- return None, None
-
- def lookup(caps, MIMEtype, key=None):
-@@ -206,6 +219,10 @@ def subst(field, MIMEtype, filename, plist=[]):
- elif c == 's':
- res = res + filename
- elif c == 't':
-+ if _find_unsafe(MIMEtype):
-+ msg = "Refusing to substitute MIME type %r into a shell
command." % (MIMEtype,)
-+ warnings.warn(msg, UnsafeMailcapInput)
-+ return None
- res = res + MIMEtype
- elif c == '{':
- start = i
-@@ -213,7 +230,12 @@ def subst(field, MIMEtype, filename, plist=[]):
- i = i+1
- name = field[start:i]
- i = i+1
-- res = res + findparam(name, plist)
-+ param = findparam(name, plist)
-+ if _find_unsafe(param):
-+ msg = "Refusing to substitute parameter %r (%s) into a shell
command" % (param, name)
-+ warnings.warn(msg, UnsafeMailcapInput)
-+ return None
-+ res = res + param
- # XXX To do:
- # %n == number of parts if type is multipart/*
- # %F == list of alternating type and filename for parts
-diff --git a/lib-python/3/test/test_mailcap.py b/lib-python/3/test/test_mailcap.py
-index c08423c..920283d 100644
---- a/lib-python/3/test/test_mailcap.py
-+++ b/lib-python/3/test/test_mailcap.py
-@@ -121,7 +121,8 @@ class HelperFunctionTest(unittest.TestCase):
- (["", "audio/*", "foo.txt"], ""),
- (["echo foo", "audio/*", "foo.txt"],
"echo foo"),
- (["echo %s", "audio/*", "foo.txt"], "echo
foo.txt"),
-- (["echo %t", "audio/*", "foo.txt"], "echo
audio/*"),
-+ (["echo %t", "audio/*", "foo.txt"], None),
-+ (["echo %t", "audio/wav", "foo.txt"],
"echo audio/wav"),
- (["echo \\%t", "audio/*", "foo.txt"],
"echo %t"),
- (["echo foo", "audio/*", "foo.txt", plist],
"echo foo"),
- (["echo %{total}", "audio/*", "foo.txt",
plist], "echo 3")
-@@ -205,7 +206,10 @@ class FindmatchTest(unittest.TestCase):
- ('"An audio fragment"', audio_basic_entry)),
- ([c, "audio/*"],
- {"filename": fname},
-- ("/usr/local/bin/showaudio audio/*", audio_entry)),
-+ (None, None)),
-+ ([c, "audio/wav"],
-+ {"filename": fname},
-+ ("/usr/local/bin/showaudio audio/wav", audio_entry)),
- ([c, "message/external-body"],
- {"plist": plist},
- ("showexternal /dev/null default john
python.org /tmp foo
bar", message_entry))
---
-2.35.3
-
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..4a434ab
--- /dev/null
+++ b/dead.package
@@ -0,0 +1,3 @@
+No longer supported upstream, use a newer PyPy version instead
+
+https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/755PXJKDEJAX3SN76B6ORRT4UJQ67IRX/
diff --git a/macros.pypy3 b/macros.pypy3
deleted file mode 100644
index d11474b..0000000
--- a/macros.pypy3
+++ /dev/null
@@ -1,5 +0,0 @@
-%__pypy3 /usr/bin/pypy3
-%pypy3_sitelib %(%{__pypy3} -c "from distutils.sysconfig import get_python_lib;
print(get_python_lib())")
-%pypy3_sitearch %(%{__pypy3} -c "from distutils.sysconfig import get_python_lib;
print(get_python_lib(1))")
-%pypy3_version %(%{__pypy3} -c "import sys;
sys.stdout.write('{0.major}.{0.minor}'.format(sys.version_info))")
-%pypy3_pypy_version %(%{__pypy3} -c "import sys;
sys.stdout.write('{}.{}'.format(sys.pypy_version_info.major,
sys.pypy_version_info.minor))")
diff --git a/pypy3.7.spec b/pypy3.7.spec
deleted file mode 100644
index 7daa489..0000000
--- a/pypy3.7.spec
+++ /dev/null
@@ -1,1349 +0,0 @@
-%global basever 7.3
-%global pyversion 3.7
-Name: pypy%{pyversion}
-Version: %{basever}.9
-# The Python version is included in Release to workaround debuginfo conflicts
-# and make pypy versions with otherwise the same version-release always sorted
-# by Python version as well.
-# This potentially allows tags like Obsoletes: pypy3 < %%{version}-%%{release}.
-#
https://bugzilla.redhat.com/2053880
-%global baserelease 4
-Release: %{baserelease}.%{pyversion}%{?dist}
-Summary: Python %{pyversion} implementation with a Just-In-Time compiler
-
-# PyPy is MIT
-# Python standard library is Python
-# pypy/module/unicodedata is UCD
-# Bundled cffi is is MIT
-# Bundled pycparser is is BSD
-# Bundled pycparser.ply is BSD
-# Bundled bits from cryptography are ASL 2.0 or BSD
-# Bundled hpy is MIT
-# LGPL and another free license we'd need to ask spot about are present in some
-# java jars that we're not building with atm (in fact, we're deleting them
-# before building). If we restore those we'll have to work out the new
-# licensing terms
-License: MIT and Python and UCD and BSD and (ASL 2.0 or BSD)
-URL:
http://pypy.org/
-
-#
https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
-%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10
-ExcludeArch: %{ix86}
-%endif
-
-# High-level configuration of the build:
-
-# libmpdec (mpdecimal package in Fedora) is tightly coupled with the
-# decimal module. We keep it bundled as to avoid incompatibilities
-# with the packaged version.
-# The version information can be found at lib_pypy/_libmpdec/mpdecimal.h
-# defined as MPD_VERSION.
-# See
https://foss.heptapod.net/pypy/pypy/-/issues/3024
-# With PyPy 7.3.4, the decimal module is not compiled
-#%%global libmpdec_version 2.4.1
-
-# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package
-# Uses upstream bundled prebuilt wheels otherwise
-%bcond_without rpmwheels
-
-# PyPy consists of an implementation of an interpreter (with JIT compilation)
-# for the full Python language written in a high-level language, leaving many
-# of the implementation details as "pluggable" policies.
-#
-# The implementation language is then compiled down to .c code, from which we
-# obtain a binary.
-#
-# This allows us to build a near-arbitrary collection of different
-# implementations of Python with differing tradeoffs
-#
-# (As it happens, the implementation language is itself Python, albeit a
-# restricted subset "RPython", chosen to making it amenable to being compiled.
-# The result implements the full Python language though)
-
-# We could build many different implementations of Python.
-# For now, let's focus on the implementation that appears to be receiving the
-# most attention upstream: the JIT-enabled build, with all standard
-# optimizations
-
-# Building a configuration can take significant time:
-
-# A build of pypy (with jit) on i686 took 77 mins:
-# [Timer] Timings:
-# [Timer] annotate --- 583.3 s
-# [Timer] rtype_lltype --- 760.9 s
-# [Timer] pyjitpl_lltype --- 567.3 s
-# [Timer] backendopt_lltype --- 375.6 s
-# [Timer] stackcheckinsertion_lltype --- 54.1 s
-# [Timer] database_c --- 852.2 s
-# [Timer] source_c --- 1007.3 s
-# [Timer] compile_c --- 419.9 s
-# [Timer] ===========================================
-# [Timer] Total: --- 4620.5 s
-#
-# A build of pypy (nojit) on x86_64 took about an hour:
-# [Timer] Timings:
-# [Timer] annotate --- 537.5 s
-# [Timer] rtype_lltype --- 667.3 s
-# [Timer] backendopt_lltype --- 385.4 s
-# [Timer] stackcheckinsertion_lltype --- 42.5 s
-# [Timer] database_c --- 625.3 s
-# [Timer] source_c --- 1040.2 s
-# [Timer] compile_c --- 273.9 s
-# [Timer] ===========================================
-# [Timer] Total: --- 3572.0 s
-
-
-# We will build a "pypy" binary.
-#
-# Unfortunately, the JIT support is only available on some architectures.
-#
-# rpython/jit/backend/detect_cpu.py:getcpuclassname currently supports the
-# following options:
-# 'i386', 'x86'
-# 'x86-without-sse2':
-# 'x86_64'
-# 'armv6', 'armv7' (versions 6 and 7, hard- and soft-float ABI)
-# 'cli'
-# 'llvm'
-#
-# We will only build with JIT support on those architectures, and build without
-# it on the other archs. The resulting binary will typically be slower than
-# CPython for the latter case.
-
-%ifarch %{ix86} x86_64 %{arm} %{power64} s390x aarch64
-%global with_jit 1
-%else
-%global with_jit 0
-%endif
-
-# Should we build the emacs JIT-viewing mode?
-%if 0%{?rhel} == 6
-%global with_emacs 0
-%else
-%global with_emacs 1
-%endif
-
-# Easy way to enable/disable verbose logging:
-%global verbose_logs 0
-
-# Forcibly use the shadow-stack option for detecting GC roots, rather than
-# relying on hacking up generated assembler with regexps:
-%global shadow_stack 1
-
-# Easy way to turn off the selftests:
-%global run_selftests 1
-
-%global pypyprefix %{_libdir}/pypy%{pyversion}
-%global pylibver 3
-
-# 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
-%bcond_without main_pypy3
-%else
-%bcond_with main_pypy3
-%endif
-
-%ifarch %{ix86} x86_64 %{arm}
-%global _package_note_linker gold
-%endif
-
-# Source and patches:
-Source0:
https://downloads.python.org/pypy/pypy%{pyversion}-v%{version}-src.tar.bz2
-
-# Supply various useful RPM macros for building python modules against pypy:
-# __pypy, pypy_sitelib, pypy_sitearch
-Source2: macros.pypy3
-
-# By default, if built at a tty, the translation process renders a Mandelbrot
-# set to indicate progress.
-# This obscures useful messages, and may waste CPU cycles, so suppress it, and
-# merely render dots:
-Patch1: 001-nevertty.patch
-
-# Patch pypy.translator.platform so that stdout from "make" etc gets logged,
-# rather than just stderr, so that the command-line invocations of the compiler
-# and linker are captured:
-Patch6: 006-always-log-stdout.patch
-
-# Disable the printing of a quote from IRC on startup (these are stored in
-# ROT13 form in lib_pypy/_pypy_irc_topic.py). Some are cute, but some could
-# cause confusion for end-users (and many are in-jokes within the PyPy
-# community that won't make sense outside of it). [Sorry to be a killjoy]
-Patch7: 007-remove-startup-message.patch
-
-# Glibc's libcrypt was replaced with libxcrypt in f28, crypt.h header has
-# to be added to privent compilation error.
-#
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
-Source189: 189-use-rpm-wheels.patch
-
-# 00382 #
-# CVE-2015-20107
-#
-# Make mailcap refuse to match unsafe filenames/types/params (GH-91993)
-#
-# Upstream:
https://github.com/python/cpython/issues/68966
-#
-# Tracker bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2075390
-Patch382: 382-cve-2015-20107.patch
-
-# Build-time requirements:
-
-# pypy's can be rebuilt using itself, rather than with CPython; doing so
-# halves the build time.
-#
-# Turn it off with this boolean, to revert back to rebuilding using CPython
-# and avoid a cycle in the build-time dependency graph:
-# Note, pypy3 is built with pypy2, so no dependency cycle
-
-%global use_self_when_building 1
-%if 0%{use_self_when_building}
-# pypy3 can only be build with pypy2
-BuildRequires: pypy2
-%global bootstrap_python_interp pypy2
-%else
-# pypy3 can only be build with python2
-# exception to use Python 2:
https://pagure.io/fesco/issue/2130
-BuildRequires: python27
-%global bootstrap_python_interp python2
-
-%endif
-
-BuildRequires: gcc
-
-BuildRequires: libffi-devel
-BuildRequires: tcl-devel
-BuildRequires: tk-devel
-
-BuildRequires: sqlite-devel
-
-BuildRequires: zlib-devel
-BuildRequires: bzip2-devel
-BuildRequires: ncurses-devel
-BuildRequires: expat-devel
-BuildRequires: openssl-devel
-BuildRequires: gdbm-devel
-BuildRequires: xz-devel
-
-BuildRequires: python-rpm-macros
-
-%ifnarch s390
-BuildRequires: valgrind-devel
-%endif
-
-%if %{run_selftests}
-# Used by the selftests, though not by the build:
-BuildRequires: gc-devel
-
-# For use in the selftests, for recording stats:
-BuildRequires: time
-BuildRequires: /usr/bin/free
-
-# For use in the selftests, for imposing a per-test timeout:
-BuildRequires: perl-interpreter
-%endif
-
-BuildRequires: /usr/bin/execstack
-
-# For byte-compiling the JIT-viewing mode:
-%if %{with_emacs}
-BuildRequires: emacs
-%endif
-
-# For %%autosetup -S git
-BuildRequires: %{_bindir}/git
-
-%if %{with rpmwheels}
-BuildRequires: python-setuptools-wheel
-BuildRequires: python-pip-wheel
-%endif
-
-# Metadata for the core package (the JIT build):
-Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-%if %{with main_pypy3}
-Provides: %{name}(abi) = %{basever}
-Provides: pypy3 = %{version}-%{release}
-Provides: pypy3%{?_isa} = %{version}-%{release}
-Obsoletes: pypy3 < 7.3.4-4
-%endif
-
-%description
-PyPy's implementation of Python %{pyversion}, featuring a Just-In-Time compiler
-on some CPU architectures, and various optimized implementations
-of the standard types (strings, dictionaries, etc.).
-
-%if 0%{with_jit}
-This build of PyPy has JIT-compilation enabled.
-%else
-This build of PyPy has JIT-compilation disabled, as it is not supported on this
-CPU architecture.
-%endif
-
-
-%package libs
-Summary: Run-time libraries used by PyPy implementations of Python %{pyversion}
-
-# We supply an emacs mode for the JIT viewer.
-# (This doesn't bring in all of emacs, just the directory structure)
-%if %{with_emacs}
-Requires: emacs-filesystem >= %{_emacs_version}
-%endif
-
-%if %{with main_pypy3}
-Provides: pypy3-libs = %{version}-%{release}
-Provides: pypy3-libs%{?_isa} = %{version}-%{release}
-Obsoletes: pypy3-libs < 7.3.4-4
-%endif
-
-%if %{with rpmwheels}
-Requires: python-setuptools-wheel
-Requires: python-pip-wheel
-%else
-Provides: bundled(python3dist(pip)) = 22.0.4
-Provides: bundled(python3dist(setuptools)) = 47.1.0
-%endif
-
-# Provides for the bundled libmpdec
-%{?libmpdec_version:
-Provides: bundled(mpdecimal) = %{libmpdec_version}
-Provides: bundled(libmpdec) = %{libmpdec_version}
-}
-
-# Find the version in lib_pypy/cffi.dist-info/METADATA
-Provides: bundled(python3dist(cffi)) = 1.15.0
-
-# Find the version in lib_pypy/cffi/_pycparser/__init__.py
-Provides: bundled(python3dist(pycparser)) = 2.21
-
-# Find the version in lib_pypy/cffi/_pycparser/ply/__init__.py
-Provides: bundled(python3dist(ply)) = 3.9
-
-# Find the version in lib_pypy/_cffi_ssl/cryptography/__about__.py
-Provides: bundled(python3dist(cryptography)) = 2.7
-
-# Find the version in lib_pypy/hpy.dist-info/METADATA
-Provides: bundled(python3dist(hpy)) = 0.0.3
-
-%description libs
-Libraries required by the various PyPy implementations of Python %{pyversion}.
-
-
-%package devel
-Summary: Development tools for working with PyPy%{pyversion}
-Requires: pypy%{pyversion}%{?_isa} = %{version}-%{release}
-
-%if %{with main_pypy3}
-Provides: pypy3-devel = %{version}-%{release}
-Provides: pypy3-devel%{?_isa} = %{version}-%{release}
-Obsoletes: pypy3-devel < 7.3.4-4
-%endif
-
-%description devel
-Header files for building C extension modules against PyPy%{pyversion}.
-
-
-%prep
-%autosetup -n pypy%{pyversion}-v%{version}-src -p1 -S git
-
-# Temporary workaround for
https://bugzilla.redhat.com/show_bug.cgi?id=1954999
-%{?!apply_patch:%define apply_patch(qp:m:) {%__apply_patch %**}}
-
-%if %{with rpmwheels}
-%apply_patch -m %(basename %{SOURCE189}) %{SOURCE189}
-rm lib-python/3/ensurepip/_bundled/*.whl
-rmdir lib-python/3/ensurepip/_bundled
-%else
-# we don't want to ship the old ones anyway
-rm lib-python/3/ensurepip/_bundled/pip-20.0*
-rm lib-python/3/ensurepip/_bundled/setuptools-44*
-%endif
-
-
-# Replace /usr/local/bin/python or /usr/bin/env python shebangs with /usr/bin/python2 or
pypy2:
-find -name "*.py" -exec \
- sed \
- -i -r -e "s@/usr/(local/)?bin/(env
)?python(2|3)?@/usr/bin/%{bootstrap_python_interp}@" \
- "{}" \
- \;
-
-for f in rpython/translator/goal/bpnn.py ; do
- # Detect shebang lines && remove them:
- sed -e '/^#!/Q 0' -e 'Q 1' $f \
- && sed -i '1d' $f
- chmod a-x $f
-done
-
-# Replace all lib-python and lib_pypy python shebangs with pypy3 (those will be shipped
with pypy3-libs)
-find lib-python/%{pylibver} lib_pypy -name "*.py" -exec \
- sed -r -i '1s@^#!\s*/usr/bin.*(python|pypy).*@#!/usr/bin/%{name}(a)' \
- "{}" \
- \;
-
-# Not needed on Linux
-rm lib-python/3/idlelib/idle.bat
-
-%ifarch %{ix86} x86_64 %{arm}
- sed -i -r 's/\$\(LDFLAGSEXTRA\)/& -fuse-ld=gold/'
./rpython/translator/platform/posix.py
-%endif
-
-%if ! 0%{use_self_when_building}
- # use the pycparser from PyPy even on CPython
- ln -s lib_pypy/cffi/_pycparser pycparser
-%endif
-
-# Remove windows executable binaries
-rm lib-python/3/distutils/command/*.exe
-
-%build
-%ifarch s390 s390x
-# pypy3 requires z10 at least
-%global optflags %(echo %{optflags} | sed 's/-march=z9-109 /-march=z10 /')
-%endif
-
-# Top memory usage is about 4.5GB on arm7hf
-free
-
-BuildPyPy() {
- ExeName=$1
- Options=$2
-
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "STARTING BUILD OF: $ExeName"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
-
- pushd %{goal_dir}
-
- # The build involves invoking a python script, passing in particular
- # arguments, environment variables, etc.
- # Some notes on those follow:
-
- # The generated binary embeds copies of the values of all environment
- # variables. We need to unset "RPM_BUILD_ROOT" to avoid a fatal error from
- # /usr/lib/rpm/check-buildroot
- # during the postprocessing of the rpmbuild, complaining about this
- # reference to the buildroot
-
-
- # By default, pypy's autogenerated C code is placed in
- # /tmp/usession-N
- #
- # and it appears that this stops rpm from extracting the source code to the
- # debuginfo package
- #
- # The logic in pypy-1.4/pypy/tool/udir.py indicates that it is generated in:
- # $PYPY_USESSION_DIR/usession-$PYPY_USESSION_BASENAME-N
- # and so we set PYPY_USESSION_DIR so that this tempdir is within the build
- # location, and set $PYPY_USESSION_BASENAME so that the tempdir is unique
- # for each invocation of BuildPyPy
-
- # Compilation flags for C code:
- # pypy-1.4/pypy/translator/c/genc.py:gen_makefile
- # assembles a Makefile within
- # THE_UDIR/testing_1/Makefile
- # calling out to platform.gen_makefile
- # For us, that's
- # pypy-1.4/pypy/translator/platform/linux.py: class BaseLinux(BasePosix):
- # which by default has:
- # CFLAGS = ['-O3', '-pthread', '-fomit-frame-pointer',
- # '-Wall', '-Wno-unused']
- # plus all substrings from CFLAGS in the environment.
- # This is used to generate a value for CFLAGS that's written into the Makefile
-
- # How will we track garbage-collection roots in the generated code?
- #
http://pypy.readthedocs.org/en/latest/config/translation.gcrootfinder.html
-
-%if 0%{shadow_stack}
- # This is the most portable option, and avoids a reliance on non-guaranteed
- # behaviors within GCC's code generator: use an explicitly-maintained stack
- # of root pointers:
- %global gcrootfinder_options --gcrootfinder=shadowstack
-
- export CFLAGS=$(echo "$RPM_OPT_FLAGS")
-
-%else
- # Go with the default, which is "asmgcc"
-
- %global gcrootfinder_options %{nil}
-
- #
https://bugzilla.redhat.com/show_bug.cgi?id=588941#c18
- # The generated Makefile compiles the .c files into assembler (.s), rather
- # than direct to .o It then post-processes this assembler to locate
- # garbage-collection roots (building .lbl.s and .gcmap files, and a
- # "gcmaptable.s"). (The modified .lbl.s files have extra code injected
- # within them).
- # Unfortunately, the code to do this:
- # pypy-1.4/pypy/translator/c/gcc/trackgcroot.py
- # doesn't interract well with the results of using our standard build flags.
- # For now, filter our CFLAGS of everything that could be conflicting with
- # pypy. Need to check these and reenable ones that are okay later.
- # Filed as
https://bugzilla.redhat.com/show_bug.cgi?id=666966
- export CFLAGS=$(echo "$RPM_OPT_FLAGS" | sed -e
's/-Wp,-D_FORTIFY_SOURCE=2//' -e 's/-fexceptions//' -e
's/-fstack-protector//' -e 's/--param=ssp-buffer-size=4//' -e
's/-O2//' -e 's/-fasynchronous-unwind-tables//' -e
's/-march=i686//' -e 's/-mtune=atom//')
-
-%endif
-
- # The generated C code leads to many thousands of warnings of the form:
- # warning: variable 'l_v26003' set but not used [-Wunused-but-set-variable]
- # Suppress them:
- export CFLAGS=$(echo "$CFLAGS" -Wno-unused -fPIC)
-
- # If we're already built the JIT-enabled "pypy", then use it for
subsequent
- # builds (of other configurations):
- if test -x './pypy' ; then
- INTERP='./pypy'
- else
- # First pypy build within this rpm build?
- # Fall back to using the bootstrap python interpreter, which might be a
- # system copy of pypy from an earlier rpm, or be cpython's /usr/bin/python:
- INTERP='%{bootstrap_python_interp}'
- fi
-
- # Here's where we actually invoke the build:
- time \
- RPM_BUILD_ROOT= \
- PYPY_USESSION_DIR=$(pwd) \
- PYPY_USESSION_BASENAME=$ExeName \
- $INTERP ../../rpython/bin/rpython \
- %{gcrootfinder_options} \
- $Options \
- targetpypystandalone
-
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "FINISHED BUILDING: $ExeName"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
-
- popd
-}
-
-BuildPyPy \
- pypy3 \
-%if 0%{with_jit}
- "-Ojit" \
-%else
- "-O2" \
-%endif
- %{nil}
-
-%if %{with_emacs}
-%{_emacs_bytecompile} rpython/jit/tool/pypytrace-mode.el
-%endif
-
-
-%install
-mkdir -p %{buildroot}/%{_bindir}
-mkdir -p %{buildroot}/%{pypyprefix}
-
-
-# Run installing script, archive-name pypy%{pyversion} in %{buildroot}/%{_libdir} ==
%{pypyprefix}
-%{bootstrap_python_interp} pypy/tool/release/package.py --archive-name pypy%{pyversion}
--builddir %{buildroot}/%{_libdir} --no-embedded-dependencies
-
-
-# Remove shebang lines from .py files that aren't executable, and
-# remove executability from .py files that don't have a shebang line:
-find \
- %{buildroot} \
- -name "*.py" \
- \( \
- \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \;
\
- -print -exec sed -i '1d' {} \; \
- \) \
- -o \
- \( \
- -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
- -exec chmod a-x {} \; \
- \) \
- \)
-
-mkdir -p %{buildroot}/%{pypyprefix}/site-packages
-
-# The generated machine code doesn't need an executable stack, but
-# one of the assembler files (gcmaptable.s) doesn't have the necessary
-# metadata to inform gcc of that, and thus gcc pessimistically assumes
-# that the built binary does need an executable stack.
-#
-# Reported upstream as:
https://codespeak.net/issue/pypy-dev/issue610
-#
-# I tried various approaches involving fixing the build, but the simplest
-# approach is to postprocess the ELF file:
-execstack --clear-execstack %{buildroot}/%{pypyprefix}/bin/pypy3
-
-ln -s %{pypyprefix}/bin/pypy%{pyversion} %{buildroot}%{_bindir}/pypy%{pyversion}
-%if %{with main_pypy3}
-ln -s pypy%{pyversion} %{buildroot}%{_bindir}/pypy3
-%endif
-
-# pypy uses .pyc files by default (--objspace-usepycfiles), but has a slightly
-# different bytecode format to CPython. It doesn't use .pyo files: the -O flag
-# is treated as a "dummy optimization flag for compatibility with C Python"
-#
-# pypy-1.4/pypy/module/imp/importing.py has this comment:
- # XXX picking a magic number is a mess. So far it works because we
- # have only two extra opcodes, which bump the magic number by +1 and
- # +2 respectively, and CPython leaves a gap of 10 when it increases
- # its own magic number. To avoid assigning exactly the same numbers
- # as CPython we always add a +2. We'll have to think again when we
- # get at the fourth new opcode :-(
- #
- # * CALL_LIKELY_BUILTIN +1
- # * CALL_METHOD +2
- #
- # In other words:
- #
- # default_magic -- used by CPython without the -U option
- # default_magic + 1 -- used by CPython with the -U option
- # default_magic + 2 -- used by PyPy without any extra opcode
- # ...
- # default_magic + 5 -- used by PyPy with both extra opcodes
-#
-
-# pypy-1.4/pypy/interpreter/pycode.py has:
-#
-# default_magic = (62141+2) | 0x0a0d0000 # this PyPy's magic
-# # (62131=CPython 2.5.1)
-# giving a value for "default_magic" for PyPy of 0xa0df2bf.
-# Note that this corresponds to the "default_magic + 2" from the comment above
-
-# In my builds:
-# $ ./pypy --info | grep objspace.opcodes
-# objspace.opcodes.CALL_LIKELY_BUILTIN: False
-# objspace.opcodes.CALL_METHOD: True
-# so I'd expect the magic number to be:
-# 0x0a0df2bf + 2 (the flag for CALL_METHOD)
-# giving
-# 0x0a0df2c1
-#
-# I'm seeing
-# c1 f2 0d 0a
-# as the first four bytes of the .pyc files, which is consistent with this.
-
-
-# Bytecompile all of the .py files we ship, using our pypy binary, giving us
-# .pyc files for pypy.
-#
-# Note that some of the test files deliberately contain syntax errors, so
-# we are running it in subshell, to be able to ignore the failures and not to terminate
the build.
-(%{py_byte_compile %{buildroot}%{pypyprefix}/bin/pypy3 %{buildroot}%{pypyprefix}}) || :
-
-
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import _tkinter'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import tkinter'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import _sqlite3'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import _curses'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import curses'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'import syslog'
-%{buildroot}%{pypyprefix}/bin/pypy3 -c 'from _sqlite3 import *'
-
-# Header files for C extension modules.
-# Upstream's packaging process (pypy/tool/release/package.py)
-# creates an "include" subdir and copies all *.h/*.inl from "include"
there
-# (it also has an apparently out-of-date comment about copying them from
-# pypy/_interfaces, but this directory doesn't seem to exist, and it doesn't
-# seem to do this as of 2011-01-13)
-
-# FIXME: arguably these should be instead put into a subdir below /usr/include,
-# it's not yet clear to me how upstream plan to deal with the C extension
-# interface going forward, so let's just mimic upstream for now.
-%global pypy_include_dir %{pypyprefix}/include
-mkdir -p %{buildroot}%{pypy_include_dir}
-rm -f %{buildroot}%{pypy_include_dir}/README
-
-
-# Capture the RPython source code files from the build within the debuginfo
-# package (rhbz#666975)
-%global pypy_debuginfo_dir /usr/src/debug/pypy%{pyversion}-%{version}-src
-mkdir -p %{buildroot}%{pypy_debuginfo_dir}
-
-# copy over everything:
-cp -a pypy %{buildroot}%{pypy_debuginfo_dir}
-
-# ...then delete files that aren't:
-# - *.py files
-# - the Makefile
-# - typeids.txt
-# - dynamic-symbols-*
-find \
- %{buildroot}%{pypy_debuginfo_dir} \
- \( -type f \
- -a \
- \! \( -name "*.py" \
- -o \
- -name "Makefile" \
- -o \
- -name "typeids.txt" \
- -o \
- -name "dynamic-symbols-*" \
- \) \
- \) \
- -delete
-
-# Alternatively, we could simply keep everything. This leads to a ~350MB
-# debuginfo package, but it makes it easy to hack on the Makefile and C build
-# flags by rebuilding/linking the sources.
-# To do so, remove the above "find" command.
-
-# We don't need bytecode for these files; they are being included for reference
-# purposes.
-# There are some rpmlint warnings from these files:
-# non-executable-script
-# wrong-script-interpreter
-# zero-length
-# script-without-shebang
-# dangling-symlink
-# but given that the objective is to preserve a copy of the source code, those
-# are acceptable.
-
-# Install the JIT trace mode for Emacs:
-%if %{with_emacs}
-mkdir -p %{buildroot}/%{_emacs_sitelispdir}
-cp -a rpython/jit/tool/pypytrace-mode.el
%{buildroot}/%{_emacs_sitelispdir}/pypy%{pyversion}trace-mode.el
-cp -a rpython/jit/tool/pypytrace-mode.elc
%{buildroot}/%{_emacs_sitelispdir}/pypy%{pyversion}trace-mode.elc
-%endif
-
-%if %{with main_pypy3}
-# Install macros for rpm:
-install -m0644 -p -D -t %{buildroot}/%{_rpmconfigdir}/macros.d %{SOURCE2}
-%endif
-
-# Remove files we don't want:
-rm -f %{buildroot}%{_libdir}/%{name}.tar.bz2 \
- %{buildroot}%{pypyprefix}/README.rst
-
-# wtf? This is probably masking some bigger problem, but let's do this for now
-mv -v lib-python/3/test/regrtest.py-new lib-python/3/test/regrtest.py || :
-
-# since 5.10.0, the debug binaries are built and shipped, making the
-# pypy3 package ~350 MiB. let's remove them here for now and TODO figure out why
-rm -f %{buildroot}%{pypyprefix}/bin/pypy3.debug
-rm -f %{buildroot}%{pypyprefix}/bin/libpypy3-c.so.debug
-
-
-%check
-
-%{?libmpdec_version:
-# Verify that the bundled libmpdec version python was compiled with, is the same version
we have virtual
-# provides for in the SPEC.
-test "$(%{goal_dir}/pypy3-c -c 'import decimal;
print(decimal.__libmpdec_version__.decode("ascii"))')" = \
- "%{libmpdec_version}"
-}
-
-topdir=$(pwd)
-
-SkipTest() {
- TEST_NAME=$1
- sed -i -e"s|^$TEST_NAME$||g" testnames.txt
-}
-
-CheckPyPy() {
- # We'll be exercising one of the freshly-built binaries using the
- # test suite from the standard library (overridden in places by pypy's
- # modified version)
- ExeName=$1
-
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "STARTING TEST OF: $ExeName"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
-
- pushd %{goal_dir}
-
- # I'm seeing numerous cases where tests seem to hang, or fail unpredictably
- # So we'll run each test in its own process, with a timeout
-
- # Use regrtest to explicitly list all tests:
- ( ./$ExeName -c \
- "from test.libregrtest.runtest import findtests;
print('\n'.join(findtests()))"
- ) > testnames.txt
-
- # Skip some tests:
- # "audioop" doesn't exist for pypy yet:
- SkipTest test_audioop
-
- # The gdb CPython hooks haven't been ported to cpyext:
- SkipTest test_gdb
-
- # hotshot relies heavily on _hotshot, which doesn't exist:
- SkipTest test_hotshot
-
- # "strop" module doesn't exist for pypy yet:
- SkipTest test_strop
-
- # I'm seeing Koji builds hanging e.g.:
- #
http://koji.fedoraproject.org/koji/getfile?taskID=3386821&name=build.log
- # The only test that seems to have timed out in that log is
- # test_multiprocessing, so skip it for now:
- SkipTest test_multiprocessing
-
- echo "== Test names =="
- cat testnames.txt
- echo "================="
-
- echo "" > failed-tests.txt
-
- for TestName in $(cat testnames.txt) ; do
-
- echo "===================" $TestName "===================="
-
- # Use /usr/bin/time (rather than the shell "time" builtin) to gather
- # info on the process (time/CPU/memory). This passes on the exit
- # status of the underlying command
- #
- # Use perl's alarm command to impose a timeout
- # 900 seconds is 15 minutes per test.
- # If a test hangs, that test should get terminated, allowing the build
- # to continue.
- #
- # Invoke pypy on test.regrtest to run the specific test suite
- # verbosely
- #
- # For now, || true, so that any failures don't halt the build:
- ( /usr/bin/time \
- perl -e 'alarm shift @ARGV; exec @ARGV' 900 \
- ./$ExeName -m test.regrtest -v $TestName ) \
- || (echo $TestName >> failed-tests.txt) \
- || true
- done
-
- echo "== Failed tests =="
- cat failed-tests.txt
- echo "================="
-
- popd
-
- # Doublecheck pypy's own test suite, using the built pypy binary:
-
- # Disabled for now:
- # x86_64 shows various failures inside:
- # jit/backend/x86/test
- # followed by a segfault inside
- # jit/backend/x86/test/test_runner.py
- #
- # i686 shows various failures inside:
- # jit/backend/x86/test
- # with the x86_64 failure leading to cancellation of the i686 build
-
- # Here's the disabled code:
- # pushd pypy
- # time translator/goal/$ExeName test_all.py
- # popd
-
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "FINISHED TESTING: $ExeName"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
- echo "--------------------------------------------------------------"
-}
-
-#python testrunner/runner.py --logfile=pytest-A.log --config=pypy/pytest-A.cfg
--config=pypy/pytest-A.py --root=pypy --timeout=3600
-#python pypy/test_all.py --pypy=pypy/goal/pypy --timeout=3600 --resultlog=cpython.log
lib-python
-#python pypy/test_all.py --pypy=pypy/goal/pypy --resultlog=pypyjit.log
pypy/module/pypyjit/test
-#pypy/goal/pypy pypy/test_all.py --resultlog=pypyjit_new.log
-
-%if %{run_selftests}
-CheckPyPy pypy3-c
-%endif # run_selftests
-
-# Because there's a bunch of binary subpackages and creating
-# /usr/share/doc/pypy3-this and /usr/share/doc/pypy3-that
-# is just confusing for the user.
-%global _docdir_fmt %{name}
-
-%files libs
-%doc README.rst
-
-%dir %{pypyprefix}
-%dir %{pypyprefix}/lib-python
-%license %{pypyprefix}/LICENSE
-%{pypyprefix}/lib-python/%{pylibver}/
-%{pypyprefix}/lib_pypy/
-%license %{pypyprefix}/lib_pypy/*/LICENSE
-%{pypyprefix}/site-packages/
-%if %{with_emacs}
-%{_emacs_sitelispdir}/pypy%{pyversion}trace-mode.el
-%{_emacs_sitelispdir}/pypy%{pyversion}trace-mode.elc
-%endif
-
-%files
-%doc README.rst
-%if %{with main_pypy3}
-%{_bindir}/pypy3
-%endif
-%{_bindir}/pypy%{pyversion}
-%{pypyprefix}/bin/
-
-%files devel
-%dir %{pypy_include_dir}
-%{pypy_include_dir}/*.h
-%if %{with main_pypy3}
-%{_rpmconfigdir}/macros.d/macros.pypy3
-%endif
-
-
-%changelog
-* Fri Jul 22 2022 Fedora Release Engineering <releng(a)fedoraproject.org> -
7.3.9-4.3.7
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Mon Jul 18 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.9-3.3.7
-- Use OpenSSL 3 on Fedora 36+
--
https://fedoraproject.org/wiki/Changes/OpenSSL3.0
--
https://fedoraproject.org/wiki/Changes/DeprecateOpensslCompat
-
-* Tue Jun 28 2022 Charalampos Stratakis <cstratak(a)redhat.com> - 7.3.9-2.3.7
-- Security fix for CVE-2015-20107
-- Fixes: rhbz#2075390
-
-* Wed Mar 30 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.9-1.3.7
-- Update to 7.3.9
-- Fixes: rhbz#2069873
-
-* Tue Mar 01 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.8-1.3.7
-- Include the Python version in Release to workaround debuginfo conflicts
- and make same builds of different PyPy sort in a predictable way (e.g. wrt Obsoletes)
-- Namespace the debugsources to fix installation conflict with other PyPys
-- Fixes: rhbz#2053880
-
-* Tue Mar 01 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.8-1
-- Update to 7.3.8
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.7-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Sat Jan 08 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.7-3
-- Rebuilt for
https://fedoraproject.org/wiki/Changes/LIBFFI34
-
-* Fri Dec 10 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.7-2
-- No longer own and provide /usr/bin/pypy3 on Fedora 36+
-- That is now owned by pypy3.8
-
-* Thu Nov 11 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.7-1
-- Update to 7.3.7
-- Fixes: rhbz#2003682
-
-* Tue Oct 26 2021 Tomáš Hrnčiar <thrnciar(a)redhat.com> - 7.3.6-1
-- Update to 7.3.6
-- Remove windows executable binaries
-- Fixes: rhbz#2003682
-
-* Mon Sep 20 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.5-2
-- Explicitly buildrequire OpenSSL 1.1, as Python 3.7 is not compatible with OpenSSL 3.0
-
-* Mon Aug 16 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.5-1
-- Update to 7.3.5
-- Fixes: rhbz#1992600
-
-* Mon Aug 09 2021 Tomas Hrnciar <thrnciar(a)redhat.com> - 7.3.4-4
-- Rename pypy3 to pypy3.7
-- pypy-stackless was removed
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.4-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jul 21 2021 Tomas Hrnciar <thrnciar(a)redhat.com> - 7.3.4-2
-- Replace removed /usr/lib/rpm/brp-python-bytecompile with %%py_byte_compile macros
-- Fixes: rhbz#1976656
-
-* Tue May 25 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.4-1
-- Update to 7.3.4
-- pypy3 is now Python 3.7
-- Fixes rhbz#1961933
-
-* Tue May 25 2021 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.1-6
-- Provide missing bundled library information
-
-* Wed May 19 2021 Charalampos Stratakis <cstratak(a)redhat.com> - 7.3.1-5
-- Add virtual provides for the bundled libmpdec (rhbz#1943359)
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.1-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Sat Aug 01 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.1-3
-- Second attempt - Rebuilt for
-
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.1-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Wed Apr 15 2020 Tomas Hrnciar <thrnciar(a)redhat.com> - 7.3.1-1
-- Update to 7.3.1
-
-* Wed Feb 12 2020 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.0-3
-- Update the ensurepip module to work with setuptools >= 45
-
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.3.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Sat Dec 28 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.3.0-1
-- Update to 7.3.0
-
-* Wed Oct 23 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.2.0-2
-- Enable JIT on aarch64
-
-* Mon Oct 14 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.2.0-1
-- Update to 7.2.0 (#1757707)
-- Enable aarch64 (without JIT)
-- Enable power64 (with JIT)
-
-* Fri Jul 26 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.1.1-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Fri May 24 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.1.1-1
-- Update to 7.1.1 (#1689198)
-- pypy3 is now Python 3.6
-
-* Thu May 16 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.0.0-2
-- Show the version as 7.0.0
-
-* Thu Feb 28 2019 Miro Hrončok <mhroncok(a)redhat.com> - 7.0.0-1
-- Update to 7.0.0 (#1673127)
-
-* Sat Feb 02 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Jan 14 2019 Björn Esser <besser82(a)fedoraproject.org> - 6.0.0-4
-- Rebuilt for libcrypt.so.2 (#1666033)
-
-* Tue Aug 21 2018 Miro Hrončok <mhroncok(a)redhat.com> - 6.0.0-3
-- Use RPM packaged wheels
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Apr 25 2018 Miro Hrončok <mhroncok(a)redhat.com> - 6.0.0-1
-- Fix failing taskotron check
-- New release 6.0.0 (#1571489)
-- Fix multiprocessing regression on newer glibcs (#1569933)
-
-* Wed Apr 11 2018 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.1-7
-- Provide pypy3(abi) = 5.10
-
-* Wed Apr 11 2018 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.1-6
-- RPM macros improvements
-
-* Tue Apr 10 2018 Michal Cyprian <mcyprian(a)redhat.com> - 5.10.1-5
-- Remove the rightmost version number from the path
-- rhbz#1516885:
https://bugzilla.redhat.com/show_bug.cgi?id=1516885
-
-* Thu Mar 29 2018 Michal Cyprian <mcyprian(a)redhat.com> - 5.10.1-4
-- Add patch for libxcrypt
-
-* Fri Feb 09 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.10.1-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 20 2018 Björn Esser <besser82(a)fedoraproject.org> - 5.10.1-2
-- Rebuilt for switch to libxcrypt
-
-* Fri Jan 12 2018 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.1-1
-- Update to 5.10.1 (#1533689)
-- Removed two upstreamed patches
-
-* Fri Dec 29 2017 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.0-3
-- Remove never used InstallPyPy function
-- Actually call execstack as originally intended
-- Use execstack on all arches (it's available now)
-- Don't ship the debug binaries
-- On power, use cpython2 to build pypy3
-
-* Thu Dec 28 2017 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.0-2
-- Fixed upstream issues #2717 and #2718 (re-enable test_socket)
-- Use pypy2 when building (it's faster and works this time)
-
-* Mon Dec 25 2017 Miro Hrončok <mhroncok(a)redhat.com> - 5.10.0-1
-- Update to 5.10 (#1528841)
-- Use pypy2 and python2-pycparser (note the twos)
-- Enable JIT on power and s390x
-- Temporarily skip test_socket on ix86
-
-* Fri Oct 20 2017 Miro Hrončok <mhroncok(a)redhat.com> - 5.9.0-1
-- Update to 5.9 (#1504427)
-- Remove merged patches
-- Reindex the patches to match the filenames
-- Rebase the faulthandler Patch11
-- BR python-pycparser
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.5.0-6
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.5.0-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.5.0-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Sun Nov 13 2016 Dan Horák <dan[at]danny.cz> - 5.5.0-3
-- set z10 as the base CPU for s390(x) build
-
-* Sat Nov 12 2016 Zbigniew Jędrzejewski-Szmek <zbyszek(a)in.waw.pl> - 5.5.0-2
-- Also build on arm and s390*
-
-* Sat Oct 15 2016 Miro Hrončok <mhroncok(a)redhat.com> - 5.5.0-1
-- PyPy 3.3 5.5.0
-- On Fedora 26+, BR compat-openssl10-devel
-
-* Sat Jul 02 2016 Miro Hrončok <mhroncok(a)redhat.com> - 5.2.0-0.1.alpha1
-- First alpha build of PyPy 3.3
-
-* Fri Jul 01 2016 Miro Hrončok <mhroncok(a)redhat.com> - 2.4.0-3
-- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack
-- Raise an error when STARTTLS fails
-- rhbz#1303647:
https://bugzilla.redhat.com/show_bug.cgi?id=1303647
-- rhbz#1351680:
https://bugzilla.redhat.com/show_bug.cgi?id=1351680
-- Fixed upstream:
https://hg.python.org/cpython/rev/d590114c2394
-- Fix for: CVE-2016-5699 python: http protocol steam injection attack
-- rhbz#1303699:
https://bugzilla.redhat.com/show_bug.cgi?id=1303699
-- rhbz#1351687:
https://bugzilla.redhat.com/show_bug.cgi?id=1351687
-- Fixed upstream:
https://hg.python.org/cpython/rev/bf3e1c9b80e9
-
-* Thu Jun 18 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
2.4.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Sep 10 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.4.0-1
-- Update to 2.4.0
-
-* Tue Sep 02 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.3.1-4
-- Move devel subpackage requires so that it gets picked up by rpm
-
-* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
2.3.1-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Mon Jul 7 2014 Peter Robinson <pbrobinson(a)fedoraproject.org> 2.3.1-2
-- ARMv7 is supported for JIT
-- no prelink on aarch64/ppc64le
-
-* Sun Jun 08 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.3.1-1
-- Update to 2.3.1
-
-* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
2.3-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Tue May 27 2014 Dennis Gilmore <dennis(a)ausil.us> - 2.3-4
-- valgrind is available everywhere except 31 bit s390
-
-* Wed May 21 2014 Jaroslav Škarvada <jskarvad(a)redhat.com> - 2.3-3
-- Rebuilt for
https://fedoraproject.org/wiki/Changes/f21tcl86
-
-* Thu May 15 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.3-2
-- Rebuilt (f21-python)
-
-* Tue May 13 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.3-1
-- Updated to 2.3
-
-* Mon Mar 10 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.2.1-3
-- Put RPM macros in proper location
-
-* Thu Jan 16 2014 Matej Stuchlik <mstuchli(a)redhat.com> - 2.2.1-2
-- Fixed errors due to missing __pycache__
-
-* Thu Dec 05 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.2.1-1
-- Updated to 2.2.1
-- Several bundled modules (tkinter, sqlite3, curses, syslog) were
- not bytecompiled properly during build, that is now fixed
-- prepared new tests, not enabled yet
-
-* Thu Nov 14 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.2.0-1
-- Updated to 2.2.0
-
-* Thu Aug 15 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.1-1
-- Updated to 2.1.0
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
2.0.2-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Jun 24 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.0.2-4
-- Patch1 fix
-
-* Mon Jun 24 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.0.2-3
-- Yet another Sources fix
-
-* Mon Jun 24 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.0.2-2
-- Fixed Source URL
-
-* Mon Jun 24 2013 Matej Stuchlik <mstuchli(a)redhat.com> - 2.0.2-1
-- 2.0.2, patch 8 does not seem necessary anymore
-
-* Thu Feb 14 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
2.0-0.2.b1
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
-
-* Tue Dec 11 2012 David Malcolm <dmalcolm(a)redhat.com> - 2.0-0.1.b1
-- 2.0b1 (drop upstreamed patch 9)
-
-* Sat Jul 21 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
1.9-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Tue Jul 10 2012 David Malcolm <dmalcolm(a)redhat.com> - 1.9-3
-- log all output from "make" (patch 6)
-- disable the MOTD at startup (patch 7)
-- hide symbols from the dynamic linker (patch 8)
-- add PyInt_AsUnsignedLongLongMask (patch 9)
-- capture the Makefile, the typeids.txt, and the dynamic-symbols file within
-the debuginfo package
-
-* Mon Jun 18 2012 Peter Robinson <pbrobinson(a)fedoraproject.org> - 1.9-2
-- Compile with PIC, fixes FTBFS on ARM
-
-* Fri Jun 8 2012 David Malcolm <dmalcolm(a)redhat.com> - 1.9-1
-- 1.9
-
-* Fri Feb 10 2012 David Malcolm <dmalcolm(a)redhat.com> - 1.8-2
-- disable C readability patch for now (patch 4)
-
-* Thu Feb 9 2012 David Malcolm <dmalcolm(a)redhat.com> - 1.8-1
-- 1.8; regenerate config patch (patch 0); drop selinux patch (patch 2);
-regenerate patch 5
-
-* Tue Jan 31 2012 David Malcolm <dmalcolm(a)redhat.com> - 1.7-4
-- fix an incompatibility with virtualenv (rhbz#742641)
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
1.7-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Fri Dec 16 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.7-2
-- use --gcrootfinder=shadowstack, and use standard Fedora compilation flags,
-with -Wno-unused (rhbz#666966 and rhbz#707707)
-
-* Mon Nov 21 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.7-1
-- 1.7: refresh patch 0 (configuration) and patch 4 (readability of generated
-code)
-
-* Tue Oct 4 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-7
-- skip test_multiprocessing
-
-* Tue Sep 13 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-6
-- don't ship the emacs JIT-viewer on el5 and el6 (missing emacs-filesystem;
-missing _emacs_bytecompile macro on el5)
-
-* Mon Sep 12 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-5
-- build using python26 on el5 (2.4 is too early)
-* Thu Aug 25 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-4
-- fix SkipTest function to avoid corrupting the name of "test_gdbm"
-
-* Thu Aug 25 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-3
-- add rpm macros file to the devel subpackage (source 2)
-- skip some tests that can't pass yet
-
-* Sat Aug 20 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-2
-- work around test_subprocess failure seen in koji (patch 5)
-
-* Thu Aug 18 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.6-1
-- 1.6
-- rewrite the %%check section, introducing per-test timeouts
-
-* Tue Aug 2 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.5-2
-- add pypytrace-mode.el to the pypy-libs subpackage, for viewing JIT trace
-logs in emacs
-
-* Mon May 2 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.5-1
-- 1.5
-
-* Wed Apr 20 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-10
-- build a /usr/bin/pypy (but without the JIT compiler) on architectures that
-don't support the JIT, so that they do at least have something that runs
-
-* Tue Feb 08 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
1.4.1-9
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Fri Jan 14 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-8
-- disable self-hosting for now, due to fatal error seen JIT-compiling the
-translator
-
-* Fri Jan 14 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-7
-- skip test_ioctl for now
-
-* Thu Jan 13 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-6
-- add a "pypy-devel" subpackage, and install the header files there
-- in %%check, re-run failed tests in verbose mode
-
-* Fri Jan 7 2011 Dan Horák <dan[at]danny.cz> - 1.4.1-5
-- valgrind available only on selected architectures
-
-* Wed Jan 5 2011 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-4
-- rebuild pypy using itself, for speed, with a boolean to break this cycle in
-the build-requirement graph (falling back to using "python-devel" aka CPython)
-- add work-in-progress patch to try to make generated c more readable
-(rhbz#666963)
-- capture the RPython source code files from the build within the debuginfo
-package (rhbz#666975)
-
-* Wed Dec 22 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-3
-- try to respect the FHS by installing libraries below libdir, rather than
-datadir; patch app_main.py to look in this installation location first when
-scanning for the pypy library directories.
-- clarifications and corrections to the comments in the specfile
-
-* Wed Dec 22 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-2
-- remove .svn directories
-- disable verbose logging
-- add a %%check section
-- introduce %%goal_dir variable, to avoid repetition
-- remove shebang line from demo/bpnn.py, as we're treating this as a
-documentation file
-- regenerate patch 2 to apply without generating a .orig file
-
-* Tue Dec 21 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.4.1-1
-- 1.4.1; fixup %%setup to reflect change in toplevel directory in upstream
-source tarball
-- apply SELinux fix to the bundled test_commands.py (patch 2)
-
-* Wed Dec 15 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.4-4
-- rename the jit build and subpackge to just "pypy", and remove the nojit and
-sandbox builds, as upstream now seems to be focussing on the JIT build (with
-only stackless called out in the getting-started-python docs); disable
-stackless for now
-- add a verbose_logs specfile boolean; leave it enabled for now (whilst fixing
-build issues)
-- add more comments, and update others to reflect 1.2 -> 1.4 changes
-- re-enable debuginfo within CFLAGS ("-g")
-- add the LICENSE and README to all subpackages
-- ensure the built binaries don't have the "I need an executable stack"
flag
-- remove DOS batch files during %%prep (idlelib.bat)
-- remove shebang lines from .py files that aren't executable, and remove
-executability from .py files that don't have a shebang line (taken from
-our python3.spec)
-- bytecompile the .py files into .pyc files in pypy's bytecode format
-
-* Sun Nov 28 2010 Toshio Kuratomi <toshio(a)fedoraproject.org> - 1.4-3
-- BuildRequire valgrind-devel
-- Install pypy library from the new directory
-- Disable building with our CFLAGS for now because they are causing a build failure.
-- Include site-packages directory
-
-* Sat Nov 27 2010 Toshio Kuratomi <toshio(a)fedoraproject.org> - 1.4-2
-- Add patch to configure the build to use our CFLAGS and link libffi
- dynamically
-
-* Sat Nov 27 2010 Toshio Kuratomi <toshio(a)fedoraproject.org> - 1.4-1
-- Update to 1.4
-- Drop patch for py2.6 that's in this build
-- Switch to building pypy with itself once pypy is built once as recommended by
- upstream
-- Remove bundled, prebuilt java libraries
-- Fix license tag
-- Fix source url
-- Version pypy-libs Req
-
-* Tue May 4 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.2-2
-- cherrypick r72073 from upstream SVN in order to fix the build against
-python 2.6.5 (patch 2)
-
-* Wed Apr 28 2010 David Malcolm <dmalcolm(a)redhat.com> - 1.2-1
-- initial packaging
-
diff --git a/sources b/sources
deleted file mode 100644
index 3667e49..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (pypy3.7-v7.3.9-src.tar.bz2) =
81812f40bb4386721934bca4f8b18660b9ff5c2fa8b87e6618c95068f7493db8b165590f703054e82fd327fcd1da135e7c86df0de3caa4af48300ce6065289a0
diff --git a/tests/tests.yml b/tests/tests.yml
deleted file mode 100644
index 5242663..0000000
--- a/tests/tests.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-- hosts: localhost
- roles:
- - role: standard-test-basic
- tags:
- - classic
- repositories:
- - repo: "https://src.fedoraproject.org/tests/python.git"
- dest: "python"
- tests:
- - smoke:
- dir: python/smoke
- run: PYTHON=pypy3.7 VERSION=3.7 ./venv.sh
- required_packages:
- - gcc
- - python3-tox
- - pypy3.7-devel