diff --git a/.gitignore b/.gitignore index 2025c8c..1361620 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /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 diff --git a/009-add-libxcrypt-support.patch b/009-add-libxcrypt-support.patch index ec17216..f3c9a7d 100644 --- a/009-add-libxcrypt-support.patch +++ b/009-add-libxcrypt-support.patch @@ -1,13 +1,13 @@ diff --git a/pypy/module/crypt/interp_crypt.py b/pypy/module/crypt/interp_crypt.py -index d227b6a..da969e6 100644 +index bd13f6f..1022c9e 100644 --- a/pypy/module/crypt/interp_crypt.py +++ b/pypy/module/crypt/interp_crypt.py -@@ -6,7 +6,7 @@ import sys - if sys.platform.startswith('darwin'): - eci = ExternalCompilationInfo() +@@ -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/302-fix-multiprocessing-regression-on-newer-glibcs.patch b/302-fix-multiprocessing-regression-on-newer-glibcs.patch deleted file mode 100644 index db723a8..0000000 --- a/302-fix-multiprocessing-regression-on-newer-glibcs.patch +++ /dev/null @@ -1,35 +0,0 @@ -# HG changeset patch -# User Miro Hrončok -# Date 1524655710 -7200 -# Wed Apr 25 13:28:30 2018 +0200 -# Branch issue33329 -# Node ID 6501fdc3a80fa2bc3b8c70bfaf94a31c3b3432c0 -# Parent a07f07034d281bec8c776f9e1ee7c5b9aea74007 -Fix multiprocessing regression on newer glibcs - -Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some -reserved signal numbers between 1 and NSIG. The `range(1, NSIG)` idiom -is commonly used to select all signals for blocking with `pthread_sigmask`. -So we ignore the sigaddset() return value until we expose sigfillset() -to provide a better idiom. - -Co-authored-by: Antoine Pitrou - -diff -r a07f07034d28 -r 6501fdc3a80f pypy/module/signal/interp_signal.py ---- a/pypy/module/signal/interp_signal.py Tue Apr 24 10:00:00 2018 +0200 -+++ b/pypy/module/signal/interp_signal.py Wed Apr 25 13:28:30 2018 +0200 -@@ -379,10 +379,10 @@ - for w_signum in space.unpackiterable(self.w_signals): - signum = space.int_w(w_signum) - check_signum_in_range(space, signum) -- err = c_sigaddset(self.mask, signum) -- if err: -- raise oefmt(space.w_ValueError, -- "signal number %d out of range", signum) -+ # bpo-33329: ignore c_sigaddset() return value as it can fail -+ # for some reserved signals, but we want the `range(1, NSIG)` -+ # idiom to allow selecting all valid signals. -+ c_sigaddset(self.mask, signum) - return self.mask - - def __exit__(self, *args): diff --git a/pypy3.spec b/pypy3.spec index 00494e3..6c452df 100644 --- a/pypy3.spec +++ b/pypy3.spec @@ -1,8 +1,8 @@ -%global basever 6.0 +%global basever 7.0 Name: pypy3 Version: %{basever}.0 %global pyversion 3.5 -Release: 5%{?dist} +Release: 1%{?dist} Summary: Python 3 implementation with a Just-In-Time compiler # LGPL and another free license we'd need to ask spot about are present in some @@ -138,7 +138,7 @@ ExcludeArch: aarch64 %{power64} %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') # Source and patches: -Source0: https://bitbucket.org/pypy/pypy/downloads/pypy3-v%{version}-src.tar.bz2 +Source0: https://bitbucket.org/pypy/pypy/downloads/pypy%{pyversion}-v%{version}-src.tar.bz2 # Supply various useful RPM macros for building python modules against pypy: # __pypy, pypy_sitelib, pypy_sitearch @@ -174,12 +174,6 @@ Patch11: 011-no-faulthandler.patch # We conditionally apply this, but we use autosetup, so we use Source here Source189: 189-use-rpm-wheels.patch -# Fix multiprocessing regression on newer glibcs -# See: https://bugzilla.redhat.com/show_bug.cgi?id=1569933 -# and: https://bugs.python.org/issue33329 -# and: https://bitbucket.org/pypy/pypy/pull-requests/607 -Patch302: 302-fix-multiprocessing-regression-on-newer-glibcs.patch - # Build-time requirements: # pypy's can be rebuilt using itself, rather than with CPython; doing so @@ -224,18 +218,13 @@ BuildRequires: zlib-devel BuildRequires: bzip2-devel BuildRequires: ncurses-devel BuildRequires: expat-devel +BuildRequires: openssl-devel BuildRequires: gdbm-devel BuildRequires: xz-devel %ifnarch s390 BuildRequires: valgrind-devel %endif -%if 0%{?fedora} >= 26 -BuildRequires: compat-openssl10-devel -%else -BuildRequires: openssl-devel -%endif - %if %{run_selftests} # Used by the selftests, though not by the build: BuildRequires: gc-devel @@ -266,6 +255,8 @@ BuildRequires: python-pip-wheel # Metadata for the core package (the JIT build): Requires: %{name}-libs%{?_isa} = %{version}-%{release} Provides: %{name}(abi) = %{basever} +Provides: pypy%{pyversion} = %{version}-%{release} +Provides: pypy%{pyversion}%{?_isa} = %{version}-%{release} %description PyPy's implementation of Python 3, featuring a Just-In-Time compiler on some CPU @@ -289,6 +280,9 @@ Summary: Run-time libraries used by PyPy implementations of Python 3 Requires: emacs-filesystem >= %{_emacs_version} %endif +Provides: pypy%{pyversion}-libs = %{version}-%{release} +Provides: pypy%{pyversion}-libs%{?_isa} = %{version}-%{release} + %if %{with rpmwheels} Requires: python-setuptools-wheel Requires: python-pip-wheel @@ -305,6 +299,9 @@ Libraries required by the various PyPy implementations of Python 3. Summary: Development tools for working with PyPy3 Requires: pypy3%{?_isa} = %{version}-%{release} +Provides: pypy%{pyversion}-devel = %{version}-%{release} +Provides: pypy%{pyversion}-devel%{?_isa} = %{version}-%{release} + %description devel Header files for building C extension modules against PyPy3 @@ -313,12 +310,16 @@ Header files for building C extension modules against PyPy3 %package stackless Summary: Stackless Python interpreter built using PyPy3 Requires: pypy3-libs%{?_isa} = %{version}-%{release} + +Provides: pypy%{pyversion}-stackless = %{version}-%{release} +Provides: pypy%{pyversion}-stackless%{?_isa} = %{version}-%{release} + %description stackless Build of PyPy3 with support for micro-threads for massive concurrency %endif %prep -%autosetup -n pypy3-v%{version}-src -p1 -S git +%autosetup -n pypy%{pyversion}-v%{version}-src -p1 -S git %if %{with rpmwheels} %apply_patch -m %(basename %{SOURCE189}) %{SOURCE189} @@ -868,6 +869,9 @@ CheckPyPy %{name}-stackless %changelog +* Thu Feb 28 2019 Miro Hrončok - 7.0.0-1 +- Update to 7.0.0 (#1673127) + * Sat Feb 02 2019 Fedora Release Engineering - 6.0.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 2a76651..294934f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pypy3-v6.0.0-src.tar.bz2) = ea406c4dd1837a6ab13026de01330790f3c18f6e2bfb83e8553e52acf78b43dfb559ce75c2d91395055c771db359356c8183ed950da6f01a21bf09128935af5e +SHA512 (pypy3.5-v7.0.0-src.tar.bz2) = 3facac26e06e254cbf244841824b35ec211859123f6ba9f095dc980292c10d9cf1d11de62cc6372cf77e92ee1cd2358bbd794b3ff25cb7172e1b21c02c8ce6c2