Date: Sunday, October 10, 2021 @ 23:53:44 Author: felixonmars Revision: 1029364
archrelease: copy trunk to community-staging-x86_64 Added: pypy3/repos/community-staging-x86_64/ pypy3/repos/community-staging-x86_64/PKGBUILD (from rev 1029363, pypy3/trunk/PKGBUILD) pypy3/repos/community-staging-x86_64/a93dfb333afe.patch (from rev 1029363, pypy3/trunk/a93dfb333afe.patch) --------------------+ PKGBUILD | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ a93dfb333afe.patch | 32 +++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) Copied: pypy3/repos/community-staging-x86_64/PKGBUILD (from rev 1029363, pypy3/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2021-10-10 23:53:44 UTC (rev 1029364) @@ -0,0 +1,52 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@gmail.com> + +pkgname=pypy3 +pkgver=7.3.5 +pkgrel=3 +pkgdesc="A Python3 implementation written in Python, JIT enabled" +url="https://pypy.org" +arch=('x86_64') +depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib' 'ncurses') +makedepends=('pypy' 'sqlite' 'tk') +optdepends=('sqlite: sqlite module' + 'tk: tk module') +options=(!buildflags) +license=('MIT') +source=("https://downloads.python.org/pypy/pypy3.7-v${pkgver}-src.zip") +sha512sums=('aaa01e4fdb731e97ec5a0528d4502f08631dde817e31cf78a361a1802567b9f609281cde7cd6297792eed9b77c2f0904d863f696e06e99dd37c6beb434f680c9') + +build() { + cd pypy3.7-v${pkgver}-src/pypy/goal + + pypy ../../rpython/bin/rpython -Ojit --shared targetpypystandalone + + # Compile binary modules + PYTHONPATH=../.. ./pypy3-c ../../lib_pypy/pypy_tools/build_cffi_imports.py +} + +package() { + cd pypy3.7-v${pkgver}-src + + # Prepare installation + pypy pypy/tool/release/package.py --archive-name pypy --targetdir . + mkdir unpacked + tar xf pypy.tar.bz2 -C unpacked + + # Install pypy + cd unpacked + install -Dm755 pypy/bin/pypy3 "${pkgdir}"/opt/pypy3/bin/pypy3 + install -Dm755 pypy/bin/libpypy3-c.so "${pkgdir}"/opt/pypy3/bin/libpypy3-c.so + cp -r pypy/include pypy/lib_pypy pypy/lib-python pypy/site-packages "${pkgdir}"/opt/pypy3 + cd .. + + # Install symlinks + mkdir -p "${pkgdir}"/usr/bin "${pkgdir}"/usr/lib + ln -s /opt/pypy3/bin/pypy3 "${pkgdir}"/usr/bin/pypy3 + ln -s /opt/pypy3/bin/libpypy3-c.so "${pkgdir}"/usr/lib/libpypy3-c.so + + # Install misc stuff + install -Dm644 README.rst "${pkgdir}"/opt/pypy3/README.rst + install -Dm644 LICENSE "${pkgdir}"/opt/pypy3/LICENSE + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/pypy3/LICENSE +} +# vim: ts=2 sw=2 et: Copied: pypy3/repos/community-staging-x86_64/a93dfb333afe.patch (from rev 1029363, pypy3/trunk/a93dfb333afe.patch) =================================================================== --- community-staging-x86_64/a93dfb333afe.patch (rev 0) +++ community-staging-x86_64/a93dfb333afe.patch 2021-10-10 23:53:44 UTC (rev 1029364) @@ -0,0 +1,32 @@ +# HG changeset patch +# User Matti Picus <matti.pi...@gmail.com> +# Date 1554034536 -10800 +# Node ID a93dfb333afe34ac02b15e997749cd3902ed96c0 +# Parent 9f383b2e30c6ac084fe95fd781abfc2fceffdc9f +preserve order on extra effects (sets are not ordered on cpython2) + +diff --git a/rpython/jit/codewriter/effectinfo.py b/rpython/jit/codewriter/effectinfo.py +--- a/rpython/jit/codewriter/effectinfo.py ++++ b/rpython/jit/codewriter/effectinfo.py +@@ -326,14 +326,17 @@ + # a read or a write to an interiorfield, inside an array of + # structs, is additionally recorded as a read or write of + # the array itself +- extraef = set() ++ extraef = list() + for tup in effects: + if tup[0] == "interiorfield" or tup[0] == "readinteriorfield": + T = deref(tup[1]) + if isinstance(T, lltype.Array) and consider_array(T): +- extraef.add((tup[0].replace("interiorfield", "array"), +- tup[1])) +- effects |= extraef ++ val = (tup[0].replace("interiorfield", "array"), ++ tup[1]) ++ if val not in effects: ++ extraef.append(val) ++ # preserve order in the added effects issue bitbucket #2984 ++ effects = tuple(effects) + tuple(extraef) + + for tup in effects: + if tup[0] == "struct":