Date: Wednesday, April 8, 2020 @ 23:31:45 Author: felixonmars Revision: 612841
archrelease: copy trunk to community-staging-x86_64 Added: pypy3/repos/community-staging-x86_64/ pypy3/repos/community-staging-x86_64/PKGBUILD (from rev 612840, pypy3/trunk/PKGBUILD) pypy3/repos/community-staging-x86_64/a93dfb333afe.patch (from rev 612840, pypy3/trunk/a93dfb333afe.patch) --------------------+ PKGBUILD | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ a93dfb333afe.patch | 32 +++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) Copied: pypy3/repos/community-staging-x86_64/PKGBUILD (from rev 612840, pypy3/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-04-08 23:31:45 UTC (rev 612841) @@ -0,0 +1,52 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@gmail.com> + +pkgname=pypy3 +pkgver=7.3.0 +pkgrel=2 +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=('python2' 'sqlite' 'tk' 'python2-pycparser') +optdepends=('sqlite: sqlite module' + 'tk: tk module') +options=(!buildflags) +license=('MIT') +source=("https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v${pkgver}-src.tar.bz2") +sha512sums=('313a4254262dd8d8b995a50bddbc360cfb67add0818e51a3e9ce25bda6a9b639e9fea8efe7da6adda76dff0a86a364544a13faa516e51b9ea6c25ec99223b435') + +build() { + cd pypy3.6-v${pkgver}-src/pypy/goal + + python2 ../../rpython/bin/rpython -Ojit --shared targetpypystandalone + + # Compile binary modules + PYTHONPATH=../.. ./pypy3-c ../tool/build_cffi_imports.py +} + +package() { + cd pypy3.6-v${pkgver}-src + + # Prepare installation + python2 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 612840, pypy3/trunk/a93dfb333afe.patch) =================================================================== --- community-staging-x86_64/a93dfb333afe.patch (rev 0) +++ community-staging-x86_64/a93dfb333afe.patch 2020-04-08 23:31:45 UTC (rev 612841) @@ -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":