2019-12-28 10:22:21 +00:00
%global basever 7.3
2022-12-31 20:49:54 +00:00
%global micro 11
2022-02-22 11:07:03 +00:00
#global pre ...
2022-01-26 23:30:08 +00:00
%global pyversion 3.9
2021-08-09 10:45:19 +00:00
Name : pypy%{pyversion}
2022-01-26 23:24:13 +00:00
Version : %{basever} .%{micro} %{?pre:~%{pre} }
%global version_ %{basever} .%{micro} %{?pre}
2022-03-01 23:00:43 +00:00
# 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
2023-07-21 06:47:43 +00:00
%global baserelease 5
2022-03-30 09:13:27 +00:00
Release : %{baserelease} .%{pyversion} %{?dist}
2021-12-10 11:14:57 +00:00
Summary : Python %{pyversion} implementation with a Just-In-Time compiler
2011-01-03 20:06:28 +00:00
2021-05-25 20:05:10 +00:00
# PyPy is MIT
# Python standard library is Python
# pypy/module/unicodedata is UCD
2022-02-09 11:21:52 +00:00
# Bundled cffi is is MIT
2021-05-25 20:05:10 +00:00
# Bundled pycparser is is BSD
# Bundled pycparser.ply is BSD
# Bundled bits from cryptography are ASL 2.0 or BSD
2022-01-04 18:35:25 +00:00
# Bundled hpy is MIT
2011-01-03 20:06:28 +00:00
# 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
2021-05-25 20:05:10 +00:00
License : MIT and Python and UCD and BSD and (ASL 2.0 or BSD)
2011-01-03 20:06:28 +00:00
URL : http://pypy.org/
2022-03-30 09:21:16 +00:00
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10
ExcludeArch : %{ix86}
%endif
2011-01-03 20:06:28 +00:00
# High-level configuration of the build:
2021-05-19 22:10:33 +00:00
# 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.
2021-05-20 23:35:55 +00:00
# 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
2021-05-19 22:10:33 +00:00
2018-08-21 10:10:46 +00:00
# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package
# Uses upstream bundled prebuilt wheels otherwise
%bcond_without rpmwheels
2011-04-30 22:24:07 +00:00
# We will build a "pypy" binary.
#
# Unfortunately, the JIT support is only available on some architectures.
# 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.
2019-10-23 15:03:00 +00:00
%ifarch %{ix86} x86_64 %{arm} %{power64} s390x aarch64
2022-02-09 12:00:46 +00:00
%bcond_without jit
2011-01-03 20:06:28 +00:00
%else
2022-02-09 12:00:46 +00:00
%bcond_with jit
2011-01-03 20:06:28 +00:00
%endif
2011-09-13 09:00:09 +00:00
# Should we build the emacs JIT-viewing mode?
2022-02-09 12:00:46 +00:00
%bcond_without emacs
2011-01-03 20:06:28 +00:00
2011-08-19 23:04:38 +00:00
# Easy way to turn off the selftests:
2022-02-09 12:00:46 +00:00
%bcond_without selftests
2011-08-19 23:04:38 +00:00
2011-01-03 20:06:28 +00:00
# We refer to this subdir of the source tree in a few places during the build:
2013-06-24 06:57:35 +00:00
%global goal_dir pypy/goal
2011-01-03 20:06:28 +00:00
2022-03-01 23:02:24 +00:00
%if 0%{?fedora} >= 36
2022-03-07 23:22:48 +00:00
# REMINDER: When updating the main pypy3 version for a certain Fedora release
# make sure to update the python-classroom group in https://pagure.io/fedora-comps/
# 1. locate comps-fXX.xml.in for each affected Fedora release
# 2. inside the <id>python-classroom</id> group locate <packagereq ...>pypy3.N-devel</packagereq>
# 3. change the package name to match the new version
# 4. submit changes as a pull request and make sure somebody merges it
2022-03-01 23:02:24 +00:00
%bcond_without main_pypy3
%else
2021-08-10 11:38:40 +00:00
%bcond_with main_pypy3
2022-03-01 23:02:24 +00:00
%endif
2021-08-10 11:38:40 +00:00
2022-01-25 21:13:36 +00:00
%ifarch %{ix86} x86_64 %{arm}
%global _package_note_linker gold
%endif
2011-01-03 20:06:28 +00:00
# Source and patches:
2022-01-26 23:24:13 +00:00
Source0 : https://downloads.python.org/pypy/pypy%{pyversion} -v%{version_} -src.tar.bz2
2011-01-03 20:06:28 +00:00
2011-08-25 15:58:55 +00:00
# Supply various useful RPM macros for building python modules against pypy:
# __pypy, pypy_sitelib, pypy_sitearch
2016-07-08 12:38:18 +00:00
Source2 : macros.pypy3
2011-01-03 20:06:28 +00:00
# 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:
2017-10-20 18:31:31 +00:00
Patch1 : 001-nevertty.patch
2011-01-06 22:09:03 +00:00
2012-07-10 20:45:52 +00:00
# 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:
2017-10-20 18:31:31 +00:00
Patch6 : 006-always-log-stdout.patch
2012-07-10 20:45:52 +00:00
# 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]
2017-10-20 18:31:31 +00:00
Patch7 : 007-remove-startup-message.patch
2016-07-01 13:59:13 +00:00
2018-03-29 19:24:14 +00:00
# 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
2018-08-21 10:10:46 +00:00
# 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
2023-05-29 17:08:57 +00:00
# 00399 #
# CVE-2023-24329
#
# gh-102153: Start stripping C0 control and space chars in `urlsplit` (GH-102508)
#
# `urllib.parse.urlsplit` has already been respecting the WHATWG spec a bit GH-25595.
#
# This adds more sanitizing to respect the "Remove any leading C0 control or space from input" [rule](https://url.spec.whatwg.org/GH-url-parsing:~:text=Remove%%20any%%20leading%%20and%%20trailing%%20C0%%20control%%20or%%20space%%20from%%20input.) in response to [CVE-2023-24329](https://nvd.nist.gov/vuln/detail/CVE-2023-24329).
Patch399 : 399-cve-2023-24329.patch
2011-01-03 20:06:28 +00:00
# Build-time requirements:
2022-02-09 12:03:38 +00:00
# pypy's can be rebuilt using pypy2, rather than with CPython 2; doing so
2011-01-06 22:09:03 +00:00
# halves the build time.
#
2022-02-09 12:03:38 +00:00
# Turn it off with this bcond, to revert back to rebuilding using CPython
2011-01-06 22:09:03 +00:00
# and avoid a cycle in the build-time dependency graph:
2015-05-04 10:49:51 +00:00
# Note, pypy3 is built with pypy2, so no dependency cycle
2022-02-22 11:00:38 +00:00
%bcond_without build_using_pypy2
%if %{with build_using_pypy2}
2017-12-26 10:56:15 +00:00
BuildRequires : pypy2
2018-04-14 08:55:05 +00:00
%global bootstrap_python_interp pypy2
2011-01-06 22:09:03 +00:00
%else
2019-10-18 22:41:56 +00:00
# exception to use Python 2: https://pagure.io/fesco/issue/2130
2022-02-09 12:03:38 +00:00
BuildRequires : python2.7
2018-04-14 08:55:05 +00:00
%global bootstrap_python_interp python2
2011-01-06 22:09:03 +00:00
2011-09-13 01:01:16 +00:00
%endif
2011-01-06 22:09:03 +00:00
2018-07-15 14:23:25 +00:00
BuildRequires : gcc
2011-01-03 20:06:28 +00:00
BuildRequires : libffi-devel
2014-01-02 09:45:26 +00:00
BuildRequires : tcl-devel
BuildRequires : tk-devel
BuildRequires : sqlite-devel
2011-01-03 20:06:28 +00:00
BuildRequires : zlib-devel
BuildRequires : bzip2-devel
BuildRequires : ncurses-devel
BuildRequires : expat-devel
2022-01-27 15:09:13 +00:00
BuildRequires : openssl-devel
2016-07-08 12:38:18 +00:00
BuildRequires : gdbm-devel
BuildRequires : xz-devel
2021-07-21 14:19:29 +00:00
BuildRequires : python-rpm-macros
2022-02-10 19:58:24 +00:00
%ifarch %{valgrind_arches}
2011-01-03 20:06:28 +00:00
BuildRequires : valgrind-devel
2011-01-07 16:56:06 +00:00
%endif
2011-01-03 20:06:28 +00:00
2022-01-27 14:52:41 +00:00
# For recording stats:
BuildRequires : time
BuildRequires : /usr/bin/free
2022-02-09 12:00:46 +00:00
%if %{with selftests}
2011-01-03 20:06:28 +00:00
# Used by the selftests, though not by the build:
BuildRequires : gc-devel
2011-08-19 23:04:38 +00:00
# For use in the selftests, for imposing a per-test timeout:
2017-07-12 12:43:49 +00:00
BuildRequires : perl-interpreter
2011-08-19 23:04:38 +00:00
%endif
2011-01-03 20:06:28 +00:00
BuildRequires : /usr/bin/execstack
2022-02-08 20:02:33 +00:00
BuildRequires : /usr/bin/patchelf
2011-01-03 20:06:28 +00:00
2011-08-03 17:02:57 +00:00
# For byte-compiling the JIT-viewing mode:
2022-02-09 12:00:46 +00:00
%if %{with emacs}
2011-08-03 17:02:57 +00:00
BuildRequires : emacs
2011-09-13 09:00:09 +00:00
%endif
2011-08-03 17:02:57 +00:00
2015-05-04 10:48:44 +00:00
# For %%autosetup -S git
2018-01-19 15:19:55 +00:00
BuildRequires : %{_bindir} /git
2011-01-03 20:06:28 +00:00
2018-08-21 10:10:46 +00:00
%if %{with rpmwheels}
BuildRequires : python-setuptools-wheel
BuildRequires : python-pip-wheel
%endif
2011-01-03 20:06:28 +00:00
# Metadata for the core package (the JIT build):
2018-04-11 22:23:12 +00:00
Requires : %{name} -libs%{?_isa} = %{version} -%{release}
2021-08-10 11:38:40 +00:00
%if %{with main_pypy3}
2021-08-09 10:45:19 +00:00
Provides : pypy3 = %{version} -%{release}
Provides : pypy3%{?_isa} = %{version} -%{release}
2022-01-04 16:21:30 +00:00
# This is when pypy3 package was replaced:
2021-08-09 10:45:19 +00:00
Obsoletes : pypy3 < 7.3.4-4
2022-03-01 23:02:24 +00:00
# This is when pypy3 was provided by pypy3.8:
2022-03-03 11:02:29 +00:00
Conflicts : pypy3 < %{version} -%{release}
2022-12-02 17:03:32 +00:00
%if 0%{?fedora} >= 37
Obsoletes : pypy3.7 < 7.3.9-20
%endif
2023-02-17 15:25:14 +00:00
%if 0%{?fedora} >= 38
Obsoletes : pypy3.8 < 7.3.11-20
%endif
2021-08-10 11:38:40 +00:00
%endif
2011-01-03 20:06:28 +00:00
2022-02-09 11:54:42 +00:00
# This prevents ALL subpackages built from this spec to require
# /usr/bin/pypy*. Granularity per subpackage is impossible.
# It's intended for the libs package not to drag in the interpreter, see
# https://bugzilla.redhat.com/show_bug.cgi?id=1547131
# https://bugzilla.redhat.com/show_bug.cgi?id=1862082
2022-02-22 10:58:22 +00:00
# All other packages require the main package explicitly.
2022-02-09 11:54:42 +00:00
%global __requires_exclude ^/usr/bin/pypy
2011-01-03 20:06:28 +00:00
%description
2021-12-10 11:14:57 +00:00
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.).
2011-04-30 22:24:07 +00:00
2022-02-09 12:00:46 +00:00
%if %{with jit}
2011-04-30 22:24:07 +00:00
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
2011-01-03 20:06:28 +00:00
%package libs
2021-12-10 11:14:57 +00:00
Summary : Run-time libraries used by PyPy implementations of Python %{pyversion}
2011-08-03 17:02:57 +00:00
# We supply an emacs mode for the JIT viewer.
# (This doesn't bring in all of emacs, just the directory structure)
2022-02-09 12:00:46 +00:00
%if %{with emacs}
2011-08-03 17:02:57 +00:00
Requires : emacs-filesystem >= %{_emacs_version}
2011-09-13 09:00:09 +00:00
%endif
2011-08-03 17:02:57 +00:00
2021-08-10 11:38:40 +00:00
%if %{with main_pypy3}
2021-08-09 10:45:19 +00:00
Provides : pypy3-libs = %{version} -%{release}
Provides : pypy3-libs%{?_isa} = %{version} -%{release}
Obsoletes : pypy3-libs < 7.3.4-4
2022-12-02 17:03:32 +00:00
%if 0%{?fedora} >= 37
Obsoletes : pypy3.7-libs < 7.3.9-20
%endif
2023-02-17 15:25:14 +00:00
%if 0%{?fedora} >= 38
Obsoletes : pypy3.8-libs < 7.3.11-20
%endif
2021-08-10 11:38:40 +00:00
%endif
2019-02-28 23:06:59 +00:00
2018-08-21 10:10:46 +00:00
%if %{with rpmwheels}
Requires : python-setuptools-wheel
Requires : python-pip-wheel
%else
2022-03-30 09:19:29 +00:00
Provides : bundled(python3dist(pip)) = 22.0.4
2022-01-26 23:30:08 +00:00
Provides : bundled(python3dist(setuptools)) = 58.1.0
2018-08-21 10:10:46 +00:00
%endif
2021-05-19 22:10:33 +00:00
# Provides for the bundled libmpdec
2021-05-20 23:35:55 +00:00
%{?libmpdec_version:
2021-05-19 22:10:33 +00:00
Provides : bundled(mpdecimal) = %{libmpdec_version}
Provides : bundled(libmpdec) = %{libmpdec_version}
2021-05-20 23:35:55 +00:00
}
2021-05-19 22:10:33 +00:00
2022-02-09 11:21:52 +00:00
# Find the version in lib_pypy/cffi.dist-info/METADATA
Provides : bundled(python3dist(cffi)) = 1.15.0
2021-05-25 20:05:10 +00:00
# Find the version in lib_pypy/cffi/_pycparser/__init__.py
2022-01-26 23:24:13 +00:00
Provides : bundled(python3dist(pycparser)) = 2.21
2021-05-25 20:05:10 +00:00
# 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
2022-01-04 18:35:25 +00:00
# Find the version in lib_pypy/hpy.dist-info/METADATA
Provides : bundled(python3dist(hpy)) = 0.0.3
2011-01-03 20:06:28 +00:00
%description libs
2021-12-10 11:14:57 +00:00
Libraries required by the various PyPy implementations of Python %{pyversion} .
2011-01-03 20:06:28 +00:00
2011-01-14 00:51:26 +00:00
2022-02-09 17:02:54 +00:00
%package test
Summary : Tests for PyPy%{pyversion}
2022-02-22 10:58:22 +00:00
Requires : pypy%{pyversion} %{?_isa} = %{version} -%{release}
2022-02-09 17:02:54 +00:00
Requires : pypy%{pyversion} -libs%{?_isa} = %{version} -%{release}
%if %{with main_pypy3}
Provides : pypy3-test = %{version} -%{release}
Provides : pypy3-test%{?_isa} = %{version} -%{release}
2022-12-02 17:03:32 +00:00
%if 0%{?fedora} >= 37
Obsoletes : pypy3.7-test < 7.3.9-20
%endif
2023-02-17 15:25:14 +00:00
%if 0%{?fedora} >= 38
Obsoletes : pypy3.8-test < 7.3.11-20
%endif
2022-02-09 17:02:54 +00:00
%endif
%description test
Various testing modules of PyPy%{pyversion} .
Useful when you want to run the test suite of PyPy%{pyversion} .
2011-01-14 00:51:26 +00:00
%package devel
2021-12-10 11:14:57 +00:00
Summary : Development tools for working with PyPy%{pyversion}
2021-08-09 10:45:19 +00:00
Requires : pypy%{pyversion} %{?_isa} = %{version} -%{release}
2022-02-22 10:58:22 +00:00
Requires : pypy%{pyversion} -libs%{?_isa} = %{version} -%{release}
2014-09-02 07:57:46 +00:00
2021-08-10 11:38:40 +00:00
%if %{with main_pypy3}
2021-08-09 10:45:19 +00:00
Provides : pypy3-devel = %{version} -%{release}
Provides : pypy3-devel%{?_isa} = %{version} -%{release}
Obsoletes : pypy3-devel < 7.3.4-4
2022-12-02 17:03:32 +00:00
%if 0%{?fedora} >= 37
Obsoletes : pypy3.7-devel < 7.3.9-20
%endif
2023-02-17 15:25:14 +00:00
%if 0%{?fedora} >= 38
Obsoletes : pypy3.8-devel < 7.3.11-20
%endif
2021-08-10 11:38:40 +00:00
%endif
2019-02-28 23:06:59 +00:00
2021-11-11 10:43:54 +00:00
Supplements: tox
2011-01-14 00:51:26 +00:00
%description devel
2021-12-10 11:14:57 +00:00
Header files for building C extension modules against PyPy%{pyversion} .
2011-01-14 00:51:26 +00:00
2011-01-03 20:06:28 +00:00
%prep
2022-01-26 23:24:13 +00:00
%autosetup -n pypy%{pyversion} -v%{version_} -src -p1 -S git
2011-01-03 20:06:28 +00:00
2021-05-19 22:09:06 +00:00
# Temporary workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1954999
%{?!apply_patch:%define apply_patch(qp:m:) {%__apply_patch %**}}
2019-05-16 22:56:47 +00:00
2018-08-21 10:10:46 +00:00
%if %{with rpmwheels}
%apply_patch -m %(basename %{SOURCE189} ) %{SOURCE189}
rm lib-python/3/ensurepip/_bundled/*.whl
%endif
2018-04-14 08:55:05 +00:00
# Replace /usr/local/bin/python or /usr/bin/env python shebangs with /usr/bin/python2 or pypy2:
2011-01-03 20:06:28 +00:00
find -name " * . p y " -exec \
sed \
2018-04-14 08:55:05 +00:00
-i -r -e " s @ / u s r / ( l o c a l / ) ? b i n / ( e n v ) ? p y t h o n ( 2 | 3 ) ? @ / u s r / b i n / %{bootstrap_python_interp} @ " \
2011-01-03 20:06:28 +00:00
" { } " \
\;
2013-06-24 06:57:35 +00:00
for f in rpython/translator/goal/bpnn.py ; do
2011-01-03 20:06:28 +00:00
# Detect shebang lines && remove them:
sed -e '/^#!/Q 0' -e 'Q 1' $f \
&& sed -i '1d' $f
chmod a-x $f
done
2018-04-14 08:55:05 +00:00
# Replace all lib-python and lib_pypy python shebangs with pypy3 (those will be shipped with pypy3-libs)
2022-02-09 11:57:36 +00:00
find lib-python/3 lib_pypy -name " * . p y " -exec \
2018-04-14 08:55:05 +00:00
sed -r -i '1s@^#!\s*/usr/bin.*(python|pypy).*@#!/usr/bin/%{name}@' \
2015-05-05 16:32:38 +00:00
" { } " \
\;
2013-08-16 08:12:29 +00:00
2018-04-14 22:25:48 +00:00
# Not needed on Linux
rm lib-python/3/idlelib/idle.bat
2016-11-12 13:10:01 +00:00
%ifarch %{ix86} x86_64 %{arm}
sed -i -r 's/\$\(LDFLAGSEXTRA\)/& -fuse-ld=gold/' ./rpython/translator/platform/posix.py
%endif
2016-11-12 11:51:54 +00:00
2022-02-22 11:00:38 +00:00
%if %{without build_using_pypy2}
2019-10-18 22:41:56 +00:00
# use the pycparser from PyPy even on CPython
ln -s lib_pypy/cffi/_pycparser pycparser
%endif
2021-10-27 06:50:53 +00:00
# Remove windows executable binaries
rm lib-python/3/distutils/command/*.exe
2011-01-03 20:06:28 +00:00
%build
2016-11-12 11:51:54 +00:00
# Top memory usage is about 4.5GB on arm7hf
2016-11-08 12:50:10 +00:00
free
2011-01-03 20:06:28 +00:00
BuildPyPy() {
ExeName=$1
Options=$2
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " S T A R T I N G B U I L D O F : $ E x e N a m e "
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
2011-12-16 22:15:41 +00:00
# How will we track garbage-collection roots in the generated code?
# http://pypy.readthedocs.org/en/latest/config/translation.gcrootfinder.html
2016-07-08 12:38:18 +00:00
export CFLAGS=$(echo " $RPM_OPT_FLAGS " )
2011-12-16 22:15:41 +00:00
# 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:
2012-06-18 08:50:36 +00:00
export CFLAGS=$(echo " $ C F L A G S " -Wno-unused -fPIC)
2011-12-16 22:15:41 +00:00
2011-01-03 20:06:28 +00:00
# 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
2011-01-06 22:09:03 +00:00
# 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}'
2011-01-03 20:06:28 +00:00
fi
# Here's where we actually invoke the build:
time \
RPM_BUILD_ROOT= \
PYPY_USESSION_DIR=$(pwd) \
PYPY_USESSION_BASENAME=$ExeName \
2013-06-24 06:57:35 +00:00
$INTERP ../../rpython/bin/rpython \
2022-02-09 12:04:46 +00:00
--gcrootfinder=shadowstack \
2013-06-24 06:57:35 +00:00
$Options \
2022-01-27 15:09:54 +00:00
targetpypystandalone \
--platlibdir=%{_lib}
2011-01-03 20:06:28 +00:00
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " F I N I S H E D B U I L D I N G : $ E x e N a m e "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
popd
}
BuildPyPy \
2016-07-08 12:38:18 +00:00
pypy3 \
2022-02-09 12:00:46 +00:00
%if %{with jit}
2011-04-30 22:24:07 +00:00
" - O j i t " \
fix build on non-jit arches
Build on non-jit arch like s390 fails with
[translation:info] Translating target as defined by targetpypystandalone
[platform:msg] Setting platform to 'host' cc=None
Traceback (most recent call last):
File "translate.py", line 322, in <module>
main()
File "translate.py", line 208, in main
targetspec_dic, translateconfig, config, args = parse_options_and_load_target()
File "translate.py", line 176, in parse_options_and_load_target
targetspec_dic['handle_config'](config, translateconfig)
File "targetpypystandalone.py", line 109, in handle_config
raise Exception("You have to specify the --opt level.\n"
Exception: You have to specify the --opt level.
Try --opt=2 or --opt=jit, or equivalently -O2 or -Ojit .
2011-05-11 08:15:52 +00:00
%else
" - O 2 " \
2011-01-03 20:06:28 +00:00
%endif
2011-04-30 22:24:07 +00:00
%{nil}
2011-01-03 20:06:28 +00:00
2022-02-09 12:00:46 +00:00
%if %{with emacs}
2013-06-24 06:57:35 +00:00
%{_emacs_bytecompile} rpython/jit/tool/pypytrace-mode.el
2011-09-13 09:00:09 +00:00
%endif
2011-08-03 17:02:57 +00:00
2013-08-16 08:12:29 +00:00
2011-01-03 20:06:28 +00:00
%install
2022-02-09 16:52:43 +00:00
%global pypylibdir %{_libdir} /pypy%{pyversion}
2022-02-08 20:02:33 +00:00
# First, run packaging script, it will prep the installation tree in builddir
%global installation_archive_name pypy%{pyversion} -%{version_}
%global packaging_builddir builddir
%global packaged_prefix %{packaging_builddir} /%{installation_archive_name}
2022-02-22 11:04:57 +00:00
# We will set an arbitrary downstream-only soname version, as it is required
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
2022-02-08 20:02:33 +00:00
%global soname_version 0.1
%{bootstrap_python_interp} pypy/tool/release/package.py --archive-name '%{installation_archive_name}' --builddir '%{packaging_builddir}' --no-embedded-dependencies
# Mangle some paths to match CPython,
# see https://mail.python.org/pipermail/pypy-dev/2022-January/016310.html and the replies there
# 1. remove the "python" executables, we still want CPython as the python command
rm %{packaged_prefix} /bin/python*
# 2. remove the "pypy" symbolic link, we still want pypy2 to be that for now
rm %{packaged_prefix} /bin/pypy
2022-02-10 20:00:18 +00:00
# 3. remove the "pypy3" symbolic link, if this is not the main pypy3
2022-02-08 20:02:33 +00:00
%{!?with_main_pypy3:rm %{packaged_prefix} /bin/pypy3}
2022-02-10 20:00:18 +00:00
# 4. remove the .debug executbale and library
rm %{packaged_prefix} /bin/*.debug
# 5. move libpypy3.9-c.so to lib(64) and soname version it
2022-02-08 20:02:33 +00:00
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
mv %{packaged_prefix} /bin/libpypy%{pyversion} -c.so %{packaged_prefix} /%{_lib}/libpypy%{pyversion} -c.so.%{soname_version}
ln -s libpypy%{pyversion} -c.so.%{soname_version} %{packaged_prefix} /%{_lib}/libpypy%{pyversion} -c.so
2022-02-22 10:56:44 +00:00
patchelf --set-soname libpypy%{pyversion} -c.so.%{soname_version} %{packaged_prefix} /%{_lib}/libpypy%{pyversion} -c.so.%{soname_version}
2022-02-08 20:02:33 +00:00
patchelf --replace-needed libpypy%{pyversion} -c.so libpypy%{pyversion} -c.so.%{soname_version} %{packaged_prefix} /bin/pypy%{pyversion}
2022-02-10 20:00:18 +00:00
# 6. remove stray README
2022-02-08 20:02:33 +00:00
rm %{packaged_prefix} /include/README
2022-02-10 20:00:18 +00:00
# 7. copy the main LICENSE file to pypy's libdir, as does CPython
2022-02-08 20:02:33 +00:00
cp -a LICENSE %{packaged_prefix} /%{_lib}/pypy%{pyversion}
2022-02-10 20:00:18 +00:00
# 8. remove sources, we don't install them
2022-02-22 11:03:31 +00:00
# this list was created by inspecting rpmlint output before it was added
# sources that look like they might be tests are kept and included in the test subpackage
2022-02-10 10:11:52 +00:00
rm -r %{packaged_prefix} /%{_lib}/pypy%{pyversion} /_blake2/impl
rm -r %{packaged_prefix} /%{_lib}/pypy%{pyversion} /_libmpdec
rm -r %{packaged_prefix} /%{_lib}/pypy%{pyversion} /_sha3/kcp
rm -r %{packaged_prefix} /%{_lib}/pypy%{pyversion} /_cffi_ssl/_cffi_src/openssl/src
rm %{packaged_prefix} /%{_lib}/pypy%{pyversion} /_pypy_*.c
2022-02-08 20:02:33 +00:00
# Create the prefix and move stuff into it
mkdir -p %{buildroot} %{_prefix}
mv %{packaged_prefix} /bin %{buildroot} %{_bindir}
mv %{packaged_prefix} /include %{buildroot} %{_includedir}
mv %{packaged_prefix} /%{_lib} %{buildroot} %{_libdir}
# Create directories we want to own
2022-02-09 16:52:43 +00:00
install -d -m 0755 %{buildroot} %{pypylibdir} /site-packages/__pycache__
2022-02-08 20:02:33 +00:00
%if "%{_lib}" == "lib64"
# The 64-bit version needs to create "site-packages" in /usr/lib/ (for
# pure-Python modules) as well as in /usr/lib64/ (for packages with extension
# modules).
install -d -m 0755 %{buildroot} %{_prefix} /lib/pypy%{pyversion} /site-packages/__pycache__
%endif
2011-01-03 20:06:28 +00:00
2012-12-13 11:16:11 +00:00
2011-01-03 20:06:28 +00:00
# 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 " * . p y " \
\( \
\( \! -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 {} \; \
\) \
\)
2017-12-29 13:12:06 +00:00
# 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:
2022-02-08 20:02:33 +00:00
execstack --clear-execstack %{buildroot} %{_bindir} /pypy%{pyversion}
2011-01-03 20:06:28 +00:00
# Bytecompile all of the .py files we ship, using our pypy binary, giving us
2021-07-21 14:19:29 +00:00
# .pyc files for pypy.
2011-01-03 20:06:28 +00:00
#
# Note that some of the test files deliberately contain syntax errors, so
2021-07-21 14:19:29 +00:00
# we are running it in subshell, to be able to ignore the failures and not to terminate the build.
2022-02-08 20:02:33 +00:00
export LD_LIBRARY_PATH=%{buildroot} %{_libdir}
(%{py_byte_compile %{buildroot} %{_bindir} /pypy%{pyversion} %{buildroot} }) || :
2011-01-03 20:06:28 +00:00
2022-02-08 20:02:33 +00:00
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import _tkinter'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import tkinter'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import _sqlite3'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import _curses'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import curses'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'import syslog'
%{buildroot} %{_bindir} /pypy%{pyversion} -c 'from _sqlite3 import *'
2011-01-14 00:51:26 +00:00
2022-02-08 20:02:33 +00:00
unset LD_LIBRARY_PATH
2011-01-14 00:51:26 +00:00
2011-01-06 22:09:03 +00:00
# Capture the RPython source code files from the build within the debuginfo
# package (rhbz#666975)
2022-03-03 00:26:37 +00:00
%global pypy_debuginfo_dir /usr/src/debug/pypy%{pyversion} -%{version_} -src
2011-01-06 22:09:03 +00:00
mkdir -p %{buildroot} %{pypy_debuginfo_dir}
# copy over everything:
cp -a pypy %{buildroot} %{pypy_debuginfo_dir}
2012-07-10 20:45:52 +00:00
# ...then delete files that aren't:
# - *.py files
# - the Makefile
# - typeids.txt
# - dynamic-symbols-*
2011-01-06 22:09:03 +00:00
find \
2012-07-10 20:45:52 +00:00
%{buildroot} %{pypy_debuginfo_dir} \
\( -type f \
-a \
\! \( -name " * . p y " \
-o \
-name " M a k e f i l e " \
-o \
-name " t y p e i d s . t x t " \
-o \
-name " d y n a m i c - s y m b o l s - * " \
\) \
\) \
2011-01-06 22:09:03 +00:00
-delete
2012-07-10 20:45:52 +00:00
# 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.
2011-01-06 22:09:03 +00:00
# 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.
2011-08-03 17:02:57 +00:00
# Install the JIT trace mode for Emacs:
2022-02-09 12:00:46 +00:00
%if %{with emacs}
2016-11-12 14:29:11 +00:00
mkdir -p %{buildroot} /%{_emacs_sitelispdir}
2021-08-10 11:38:40 +00:00
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
2011-09-13 09:00:09 +00:00
%endif
2011-08-03 17:02:57 +00:00
2021-08-10 11:38:40 +00:00
%if %{with main_pypy3}
2011-08-25 15:58:55 +00:00
# Install macros for rpm:
2016-11-12 11:51:35 +00:00
install -m0644 -p -D -t %{buildroot} /%{_rpmconfigdir} /macros.d %{SOURCE2}
2021-08-10 11:38:40 +00:00
%endif
2011-08-25 15:58:55 +00:00
2017-12-29 13:12:06 +00:00
2011-01-03 20:06:28 +00:00
%check
2021-05-19 22:10:33 +00:00
2021-05-20 23:35:55 +00:00
%{?libmpdec_version:
2021-05-19 22:10:33 +00:00
# Verify that the bundled libmpdec version python was compiled with, is the same version we have virtual
# provides for in the SPEC.
2022-01-26 23:30:08 +00:00
test " $ ( %{goal_dir} / p y p y %{pyversion} - c - c ' i m p o r t d e c i m a l ; p r i n t ( d e c i m a l . _ _ l i b m p d e c _ v e r s i o n _ _ . d e c o d e ( " ascii" ) ) ' ) " = \
2021-05-19 22:10:33 +00:00
" %{libmpdec_version} "
2021-05-20 23:35:55 +00:00
}
2021-05-19 22:10:33 +00:00
2011-01-03 20:06:28 +00:00
topdir=$(pwd)
SkipTest() {
TEST_NAME=$1
2011-08-25 18:50:53 +00:00
sed -i -e" s | ^ $ T E S T _ N A M E $ | | g " testnames.txt
2011-01-03 20:06:28 +00:00
}
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 " S T A R T I N G T E S T O F : $ E x e N a m e "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
pushd %{goal_dir}
2011-08-19 23:04:38 +00:00
# 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 \
2019-05-24 08:29:13 +00:00
" f r o m t e s t . l i b r e g r t e s t . r u n t e s t i m p o r t f i n d t e s t s ; p r i n t ( ' \n ' . j o i n ( f i n d t e s t s ( ) ) ) "
2011-08-19 23:04:38 +00:00
) > testnames.txt
2011-08-25 15:58:55 +00:00
# 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
2011-10-04 18:37:40 +00:00
# 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
2011-08-19 23:04:38 +00:00
echo " = = T e s t n a m e s = = "
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 " = = F a i l e d t e s t s = = "
cat failed-tests.txt
echo " = = = = = = = = = = = = = = = = = "
2011-01-03 20:06:28 +00:00
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 " F I N I S H E D T E S T I N G : $ E x e N a m e "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
}
2022-02-09 12:00:46 +00:00
%if %{with selftests}
2022-01-26 23:30:08 +00:00
CheckPyPy pypy%{pyversion} -c
2022-02-09 12:00:46 +00:00
%endif # with selftests
2011-01-03 20:06:28 +00:00
2015-04-27 16:35:23 +00:00
# Because there's a bunch of binary subpackages and creating
2019-07-12 12:48:12 +00:00
# /usr/share/doc/pypy3-this and /usr/share/doc/pypy3-that
2015-04-27 16:35:23 +00:00
# is just confusing for the user.
%global _docdir_fmt %{name}
2011-01-03 20:06:28 +00:00
2022-02-09 16:54:33 +00:00
%files
%doc README.rst
%{?with_main_pypy3:%{_bindir} /pypy3}
%{_bindir} /pypy%{pyversion}
2011-01-03 20:06:28 +00:00
%files libs
2015-04-27 16:16:19 +00:00
%doc README.rst
2022-02-09 16:52:43 +00:00
%license %{pypylibdir} /LICENSE
%license %{pypylibdir} /_cffi_ssl/LICENSE
%license %{pypylibdir} /cffi.dist-info/LICENSE
%license %{pypylibdir} /cffi/_pycparser/ply/LICENSE
%license %{pypylibdir} /hpy.dist-info/LICENSE
%{pypylibdir} /
2022-02-22 10:55:45 +00:00
%if %{with rpmwheels}
%exclude %{pypylibdir} /ensurepip/_bundled
%endif
2022-02-08 20:02:33 +00:00
%if "%{_lib}" == "lib64"
%{_prefix} /lib/pypy%{pyversion} /
%endif
%{_libdir} /libpypy%{pyversion} -c.so.%{soname_version}
2011-01-03 20:06:28 +00:00
2022-02-09 12:00:46 +00:00
%if %{with emacs}
2021-08-10 11:38:40 +00:00
%{_emacs_sitelispdir} /pypy%{pyversion} trace-mode.el
%{_emacs_sitelispdir} /pypy%{pyversion} trace-mode.elc
2011-09-13 09:00:09 +00:00
%endif
2011-01-03 20:06:28 +00:00
2022-02-09 17:02:54 +00:00
# Keep this synced with %%files test below
%exclude %{pypylibdir} /_ctypes_test.*
%exclude %{pypylibdir} /_pypy_testcapi.*
%exclude %{pypylibdir} /_test*
%exclude %{pypylibdir} /__pycache__/_ctypes_test.*
%exclude %{pypylibdir} /__pycache__/_pypy_testcapi.*
%exclude %{pypylibdir} /__pycache__/_test*
%exclude %{pypylibdir} /test/
%exclude %{pypylibdir} /*/testing/
%exclude %{pypylibdir} /*/test/
%exclude %{pypylibdir} /*/tests/
%exclude %{pypylibdir} /idlelib/idle_test/
2022-02-10 10:11:52 +00:00
%exclude %{pypylibdir} /testcapi_long.h
# Keep this synced with %%files devel below
%exclude %{pypylibdir} /cffi/*.h
%exclude %{pypylibdir} /hpy/devel/
2022-02-09 17:02:54 +00:00
%files test
2022-02-22 11:02:10 +00:00
# Keep this synced with %%excluded %%files in libs
2022-02-09 17:02:54 +00:00
%{pypylibdir} /_ctypes_test.*
%{pypylibdir} /_pypy_testcapi.*
%{pypylibdir} /_test*
%{pypylibdir} /__pycache__/_ctypes_test.*
%{pypylibdir} /__pycache__/_pypy_testcapi.*
%{pypylibdir} /__pycache__/_test*
%{pypylibdir} /test/
%{pypylibdir} /*/testing/
%{pypylibdir} /*/test/
%{pypylibdir} /*/tests/
%{pypylibdir} /idlelib/idle_test/
2022-02-10 10:11:52 +00:00
%{pypylibdir} /testcapi_long.h
2022-02-09 17:02:54 +00:00
2022-02-08 20:02:33 +00:00
2011-01-14 00:51:26 +00:00
%files devel
2022-02-08 20:02:33 +00:00
%dir %{_includedir} /pypy%{pyversion}
%{_includedir} /pypy%{pyversion} /*.h
%{_libdir} /libpypy%{pyversion} -c.so
2021-08-09 10:45:19 +00:00
%if %{with main_pypy3}
2016-07-08 12:38:18 +00:00
%{_rpmconfigdir} /macros.d/macros.pypy3
2021-08-09 10:45:19 +00:00
%endif
2022-02-22 11:02:10 +00:00
# Keep this synced with %%excluded %%files in libs
2022-02-10 10:11:52 +00:00
%{pypylibdir} /cffi/*.h
%{pypylibdir} /hpy/devel/
2011-01-14 00:51:26 +00:00
2011-01-03 20:06:28 +00:00
%changelog
2023-07-21 06:47:43 +00:00
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.11-5.3.9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
2023-05-29 17:08:57 +00:00
* Mon May 29 2023 Charalampos Stratakis <cstratak@redhat.com> - 7.3.11-4.3.9
- Security fix for CVE-2023-24329
Resolves: rhbz#2174020
2023-02-17 15:25:14 +00:00
* Fri Feb 17 2023 Miro Hrončok <mhroncok@redhat.com> - 7.3.11-3.3.9
- On Fedora 38+, obsolete the pypy3.8 package which is no longer available
2023-01-20 10:43:37 +00:00
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.11-2.3.9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
2022-12-31 20:49:54 +00:00
* Fri Dec 30 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.11-1.3.9
- Update to 7.3.11
- Fixes: rhbz#2147520
2022-12-02 17:03:32 +00:00
* Fri Dec 02 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.9-5.3.9
- On Fedora 37+, obsolete the pypy3.7 package which is no longer available
2022-10-10 16:00:52 +00:00
* Mon Oct 10 2022 Lumír Balhar <lbalhar@redhat.com> - 7.3.9-4.3.9
- Backport fix for CVE-2021-28861
Resolves: rhbz#2120789
2022-07-22 15:51:59 +00:00
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.9-3.3.9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
2022-06-28 23:05:42 +00:00
* Tue Jun 28 2022 Charalampos Stratakis <cstratak@redhat.com> - 7.3.9-2.3.9
- Security fix for CVE-2015-20107
- Fixes: rhbz#2075390
2022-03-30 09:19:29 +00:00
* Wed Mar 30 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.9-1.3.9
- Update to 7.3.9
- Fixes: rhbz#2069873
2022-03-01 23:00:43 +00:00
* Tue Mar 01 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8-1.3.9
- 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)
2022-03-03 00:26:37 +00:00
- Namespace the debugsources to fix installation conflict with other PyPys
2022-03-01 23:00:43 +00:00
- Fixes: rhbz#2053880
2022-03-01 23:02:24 +00:00
- This is now the main PyPy 3 on Fedora 36+
- Fixes: rhbz#2059670
2022-03-01 23:00:43 +00:00
2022-02-22 11:07:03 +00:00
* Tue Feb 22 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8-1
- Update to 7.3.8 final
2022-02-11 08:54:04 +00:00
* Fri Feb 11 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8~rc2-1
- Update to 7.3.8rc2
2022-01-26 23:24:13 +00:00
* Wed Jan 26 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.8~rc1-1
- Update to 7.3.8rc1
2022-02-08 20:02:33 +00:00
- Move to a CPython-like installation layout
2022-02-09 11:54:42 +00:00
- Stop requiring pypy3.9 from pypy3.9-libs
2022-02-09 17:02:54 +00:00
- Split tests into pypy3.9-test
2022-01-26 23:24:13 +00:00
2022-01-21 09:52:45 +00:00
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2022-01-08 19:32:26 +00:00
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 7.3.7-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
2021-11-11 10:28:41 +00:00
* Thu Nov 11 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.7-1
2021-11-11 10:43:54 +00:00
- Initial pypy3.8 package
- Supplement tox
2021-11-11 10:28:41 +00:00
2021-10-27 06:48:25 +00:00
* Tue Oct 26 2021 Tomáš Hrnčiar <thrnciar@redhat.com> - 7.3.6-1
- Update to 7.3.6
2021-10-27 06:50:53 +00:00
- Remove windows executable binaries
2021-10-27 06:48:25 +00:00
- Fixes: rhbz#2003682
2021-09-20 12:42:23 +00:00
* Mon Sep 20 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.5-2
- Explicitly buildrequire OpenSSL 1.1, as Python 3.7 is not compatible with OpenSSL 3.0
2021-09-14 17:12:24 +00:00
2021-08-16 16:13:20 +00:00
* Mon Aug 16 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.5-1
- Update to 7.3.5
- Fixes: rhbz#1992600
2021-08-09 10:45:19 +00:00
* Mon Aug 09 2021 Tomas Hrnciar <thrnciar@redhat.com> - 7.3.4-4
- Rename pypy3 to pypy3.7
- pypy-stackless was removed
2021-07-23 04:30:08 +00:00
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-07-21 14:19:29 +00:00
* Wed Jul 21 2021 Tomas Hrnciar <thrnciar@redhat.com> - 7.3.4-2
- Replace removed /usr/lib/rpm/brp-python-bytecompile with %%py_byte_compile macros
- Fixes: rhbz#1976656
2021-05-20 23:35:55 +00:00
* Tue May 25 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.4-1
- Update to 7.3.4
- pypy3 is now Python 3.7
- Fixes rhbz#1961933
2021-05-25 20:05:10 +00:00
* Tue May 25 2021 Miro Hrončok <mhroncok@redhat.com> - 7.3.1-6
- Provide missing bundled library information
2021-05-19 22:10:33 +00:00
* Wed May 19 2021 Charalampos Stratakis <cstratak@redhat.com> - 7.3.1-5
- Add virtual provides for the bundled libmpdec (rhbz#1943359)
2021-01-27 08:56:57 +00:00
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2020-08-01 07:17:17 +00:00
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.1-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-07-28 23:22:44 +00:00
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-04-20 11:08:30 +00:00
* Wed Apr 15 2020 Tomas Hrnciar <thrnciar@redhat.com> - 7.3.1-1
- Update to 7.3.1
2020-02-12 12:30:25 +00:00
* Wed Feb 12 2020 Miro Hrončok <mhroncok@redhat.com> - 7.3.0-3
- Update the ensurepip module to work with setuptools >= 45
2020-01-30 10:15:13 +00:00
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2019-12-28 10:22:21 +00:00
* Sat Dec 28 2019 Miro Hrončok <mhroncok@redhat.com> - 7.3.0-1
- Update to 7.3.0
2019-10-23 15:03:00 +00:00
* Wed Oct 23 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.0-2
- Enable JIT on aarch64
2019-10-14 18:40:57 +00:00
* Mon Oct 14 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.0-1
- Update to 7.2.0 (#1757707)
2019-10-15 00:03:21 +00:00
- Enable aarch64 (without JIT)
2019-10-17 18:29:42 +00:00
- Enable power64 (with JIT)
2019-10-14 18:40:57 +00:00
2019-07-26 11:47:24 +00:00
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2019-05-24 08:29:13 +00:00
* Fri May 24 2019 Miro Hrončok <mhroncok@redhat.com> - 7.1.1-1
- Update to 7.1.1 (#1689198)
- pypy3 is now Python 3.6
2019-05-16 22:56:47 +00:00
* Thu May 16 2019 Miro Hrončok <mhroncok@redhat.com> - 7.0.0-2
- Show the version as 7.0.0
2019-02-28 23:06:59 +00:00
* Thu Feb 28 2019 Miro Hrončok <mhroncok@redhat.com> - 7.0.0-1
- Update to 7.0.0 (#1673127)
2019-02-02 05:16:48 +00:00
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2019-01-14 18:14:13 +00:00
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 6.0.0-4
- Rebuilt for libcrypt.so.2 (#1666033)
2018-08-21 10:10:46 +00:00
* Tue Aug 21 2018 Miro Hrončok <mhroncok@redhat.com> - 6.0.0-3
- Use RPM packaged wheels
2018-07-13 23:12:32 +00:00
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2018-04-25 12:20:20 +00:00
* Wed Apr 25 2018 Miro Hrončok <mhroncok@redhat.com> - 6.0.0-1
2018-04-14 08:55:05 +00:00
- Fix failing taskotron check
2018-04-25 12:20:20 +00:00
- New release 6.0.0 (#1571489)
- Fix multiprocessing regression on newer glibcs (#1569933)
2018-04-14 08:55:05 +00:00
2018-04-11 22:23:12 +00:00
* Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-7
- Provide pypy3(abi) = 5.10
2018-04-11 10:09:36 +00:00
* Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-6
- RPM macros improvements
2018-04-10 23:31:31 +00:00
* Tue Apr 10 2018 Michal Cyprian <mcyprian@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
2018-03-29 19:24:14 +00:00
* Thu Mar 29 2018 Michal Cyprian <mcyprian@redhat.com> - 5.10.1-4
- Add patch for libxcrypt
2018-02-09 06:17:45 +00:00
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.10.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2018-01-20 22:07:39 +00:00
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 5.10.1-2
- Rebuilt for switch to libxcrypt
2018-01-12 09:01:38 +00:00
* Fri Jan 12 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-1
- Update to 5.10.1 (#1533689)
- Removed two upstreamed patches
2017-12-29 13:12:06 +00:00
* Fri Dec 29 2017 Miro Hrončok <mhroncok@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
2017-12-29 18:50:56 +00:00
- On power, use cpython2 to build pypy3
2017-12-29 13:12:06 +00:00
2017-12-28 16:45:36 +00:00
* Thu Dec 28 2017 Miro Hrončok <mhroncok@redhat.com> - 5.10.0-2
- Fixed upstream issues #2717 and #2718 (re-enable test_socket)
2017-12-28 16:47:00 +00:00
- Use pypy2 when building (it's faster and works this time)
2017-12-28 16:45:36 +00:00
2017-12-26 10:56:15 +00:00
* Mon Dec 25 2017 Miro Hrončok <mhroncok@redhat.com> - 5.10.0-1
- Update to 5.10 (#1528841)
- Use pypy2 and python2-pycparser (note the twos)
2017-12-27 14:57:17 +00:00
- Enable JIT on power and s390x
2017-12-27 14:58:25 +00:00
- Temporarily skip test_socket on ix86
2017-12-26 10:56:15 +00:00
2017-10-20 18:31:31 +00:00
* Fri Oct 20 2017 Miro Hrončok <mhroncok@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
2017-08-03 06:35:52 +00:00
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
2017-07-27 09:23:17 +00:00
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2017-02-11 08:09:09 +00:00
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
2016-11-13 08:22:11 +00:00
* 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
2016-11-12 11:51:54 +00:00
* Sat Nov 12 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.5.0-2
- Also build on arm and s390*
2016-10-22 12:11:41 +00:00
* Sat Oct 15 2016 Miro Hrončok <mhroncok@redhat.com> - 5.5.0-1
- PyPy 3.3 5.5.0
- On Fedora 26+, BR compat-openssl10-devel
2016-07-08 12:38:18 +00:00
* Sat Jul 02 2016 Miro Hrončok <mhroncok@redhat.com> - 5.2.0-0.1.alpha1
- First alpha build of PyPy 3.3
* Fri Jul 01 2016 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-3
2016-07-01 13:59:13 +00:00
- 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
2015-06-18 18:15:59 +00:00
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2014-09-23 10:20:25 +00:00
* Wed Sep 10 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.4.0-1
- Update to 2.4.0
2014-09-02 08:01:18 +00:00
* Tue Sep 02 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.3.1-4
- Move devel subpackage requires so that it gets picked up by rpm
2014-08-17 20:41:57 +00:00
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2014-07-07 22:07:38 +00:00
* Mon Jul 7 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.3.1-2
- ARMv7 is supported for JIT
- no prelink on aarch64/ppc64le
2014-06-08 18:55:40 +00:00
* Sun Jun 08 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.3.1-1
- Update to 2.3.1
2014-06-07 18:12:20 +00:00
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-05-27 21:16:43 +00:00
* Tue May 27 2014 Dennis Gilmore <dennis@ausil.us> - 2.3-4
- valgrind is available everywhere except 31 bit s390
2014-05-21 10:32:28 +00:00
* Wed May 21 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
2014-05-15 10:20:24 +00:00
* Thu May 15 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.3-2
- Rebuilt (f21-python)
2014-05-14 10:40:14 +00:00
* Tue May 13 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.3-1
- Updated to 2.3
2014-03-10 08:17:48 +00:00
* Mon Mar 10 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.2.1-3
- Put RPM macros in proper location
2014-01-17 09:46:17 +00:00
* Thu Jan 16 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.2.1-2
- Fixed errors due to missing __pycache__
2014-01-02 09:47:41 +00:00
* Thu Dec 05 2013 Matej Stuchlik <mstuchli@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
2013-11-12 09:19:28 +00:00
* Thu Nov 14 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.2.0-1
- Updated to 2.2.0
2013-08-16 08:12:29 +00:00
* Thu Aug 15 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.1-1
- Updated to 2.1.0
2013-08-04 06:04:23 +00:00
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
2013-06-24 08:44:06 +00:00
* Mon Jun 24 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.0.2-4
- Patch1 fix
2013-06-24 08:29:01 +00:00
* Mon Jun 24 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.0.2-3
- Yet another Sources fix
2013-06-24 07:24:07 +00:00
* Mon Jun 24 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.0.2-2
- Fixed Source URL
2013-06-24 06:57:35 +00:00
* Mon Jun 24 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.0.2-1
- 2.0.2, patch 8 does not seem necessary anymore
2013-02-14 18:48:36 +00:00
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-0.2.b1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2012-12-13 11:16:11 +00:00
* Tue Dec 11 2012 David Malcolm <dmalcolm@redhat.com> - 2.0-0.1.b1
- 2.0b1 (drop upstreamed patch 9)
2012-07-21 04:22:27 +00:00
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-07-10 20:45:52 +00:00
* Tue Jul 10 2012 David Malcolm <dmalcolm@redhat.com> - 1.9-3
- log all output from " m a k e " (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
2012-06-18 08:50:36 +00:00
* Mon Jun 18 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.9-2
- Compile with PIC, fixes FTBFS on ARM
2012-06-09 00:18:15 +00:00
* Fri Jun 8 2012 David Malcolm <dmalcolm@redhat.com> - 1.9-1
- 1.9
2012-02-10 16:12:43 +00:00
* Fri Feb 10 2012 David Malcolm <dmalcolm@redhat.com> - 1.8-2
- disable C readability patch for now (patch 4)
2012-02-10 14:19:56 +00:00
* Thu Feb 9 2012 David Malcolm <dmalcolm@redhat.com> - 1.8-1
- 1.8; regenerate config patch (patch 0); drop selinux patch (patch 2);
regenerate patch 5
2012-01-31 09:53:38 +00:00
* Tue Jan 31 2012 David Malcolm <dmalcolm@redhat.com> - 1.7-4
- fix an incompatibility with virtualenv (rhbz#742641)
2012-01-14 01:29:18 +00:00
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2011-12-16 22:15:41 +00:00
* Fri Dec 16 2011 David Malcolm <dmalcolm@redhat.com> - 1.7-2
- use --gcrootfinder=shadowstack, and use standard Fedora compilation flags,
with -Wno-unused (rhbz#666966 and rhbz#707707)
2011-11-22 16:30:49 +00:00
* Mon Nov 21 2011 David Malcolm <dmalcolm@redhat.com> - 1.7-1
- 1.7: refresh patch 0 (configuration) and patch 4 (readability of generated
code)
2011-10-04 18:37:40 +00:00
* Tue Oct 4 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-7
- skip test_multiprocessing
2011-09-13 09:00:09 +00:00
* Tue Sep 13 2011 David Malcolm <dmalcolm@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)
2011-09-13 01:01:16 +00:00
* Mon Sep 12 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-5
- build using python26 on el5 (2.4 is too early)
2011-08-25 18:50:53 +00:00
* Thu Aug 25 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-4
- fix SkipTest function to avoid corrupting the name of " t e s t _ g d b m "
2011-08-25 15:58:55 +00:00
* Thu Aug 25 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-3
- add rpm macros file to the devel subpackage (source 2)
- skip some tests that can't pass yet
2011-08-20 15:59:48 +00:00
* Sat Aug 20 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-2
- work around test_subprocess failure seen in koji (patch 5)
2011-08-19 23:04:38 +00:00
* Thu Aug 18 2011 David Malcolm <dmalcolm@redhat.com> - 1.6-1
- 1.6
- rewrite the %%check section, introducing per-test timeouts
2011-08-03 17:02:57 +00:00
* Tue Aug 2 2011 David Malcolm <dmalcolm@redhat.com> - 1.5-2
- add pypytrace-mode.el to the pypy-libs subpackage, for viewing JIT trace
logs in emacs
Rebase to 1.5 (rhbz#701121)
Update patches:
patch 0: pypy-1.4-config.patch -> pypy-1.5-config.patch
patch 4: pypy-1.4.1-more-readable-c-code.patch -> pypy-1.5-more-readable-c-code.patch
Remove references to *.inl files, no longer present
Add the following tests to the skip list:
test_audioop, test_capi, test_distutils, test_gc, test_gdb, test_generators,
test_getargs2, test_hotshot, test_io, test_multiprocessing, test_posix,
test_readline, test_scope, test_strop, test_structmembers, test_subprocess,
test_symtable, test_sys_settrace, test_tempfile, test_thread, test_uuid,
test_zipimport_support
Add a couple of text files to the payload (TODO, stdlib-version.txt)
2011-05-02 18:46:32 +00:00
* Mon May 2 2011 David Malcolm <dmalcolm@redhat.com> - 1.5-1
- 1.5
2011-04-30 22:24:07 +00:00
* Wed Apr 20 2011 David Malcolm <dmalcolm@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
2011-02-09 02:23:05 +00:00
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2011-01-14 16:58:45 +00:00
* Fri Jan 14 2011 David Malcolm <dmalcolm@redhat.com> - 1.4.1-8
- disable self-hosting for now, due to fatal error seen JIT-compiling the
translator
2011-01-14 16:06:07 +00:00
* Fri Jan 14 2011 David Malcolm <dmalcolm@redhat.com> - 1.4.1-7
- skip test_ioctl for now
2011-01-14 00:51:26 +00:00
* Thu Jan 13 2011 David Malcolm <dmalcolm@redhat.com> - 1.4.1-6
- add a " p y p y - d e v e l " subpackage, and install the header files there
- in %%check, re-run failed tests in verbose mode
2011-01-07 16:56:06 +00:00
* Fri Jan 7 2011 Dan Horák <dan[at]danny.cz> - 1.4.1-5
- valgrind available only on selected architectures
2011-01-06 22:09:03 +00:00
* Wed Jan 5 2011 David Malcolm <dmalcolm@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 " p y t h o n - d e v e l " 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)
2011-01-03 20:06:28 +00:00
* Wed Dec 22 2010 David Malcolm <dmalcolm@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@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@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@redhat.com> - 1.4-4
- rename the jit build and subpackge to just " p y p y " , 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 n e e d a n e x e c u t a b l e s t a c k " 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@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@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@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@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@redhat.com> - 1.2-1
- initial packaging