diff options
author | Matti Picus <matti.picus@gmail.com> | 2021-10-08 11:15:15 +0300 |
---|---|---|
committer | Matti Picus <matti.picus@gmail.com> | 2021-10-08 11:15:15 +0300 |
commit | df6776f1e6b3f611c9986e99ef68a70d3fcd173c (patch) | |
tree | 0906eb84dc86ab61d2cded25a50a0db0b188b633 | |
parent | fix venv yet again: libpypy* was missing when using --copies (diff) | |
parent | fix doc build, add missing file from py3.7 (diff) | |
download | pypy-df6776f1e6b3f611c9986e99ef68a70d3fcd173c.tar.gz pypy-df6776f1e6b3f611c9986e99ef68a70d3fcd173c.tar.bz2 pypy-df6776f1e6b3f611c9986e99ef68a70d3fcd173c.zip |
merge default into py3.7
-rw-r--r-- | .hgtags | 3 | ||||
-rw-r--r-- | pypy/doc/build.rst | 20 | ||||
-rw-r--r-- | pypy/doc/contributing.rst | 23 | ||||
-rw-r--r-- | pypy/doc/index-of-release-notes.rst | 1 | ||||
-rw-r--r-- | pypy/doc/index-of-whatsnew.rst | 1 | ||||
-rw-r--r-- | pypy/doc/release-v7.3.6.rst | 6 | ||||
-rw-r--r-- | pypy/doc/whatsnew-pypy3-7.3.6.rst | 2 | ||||
-rw-r--r-- | pypy/tool/release/check_versions.py | 3 | ||||
-rw-r--r-- | pypy/tool/release/repackage.sh | 6 | ||||
-rw-r--r-- | pypy/tool/release/versions.json | 135 | ||||
-rw-r--r-- | rpython/translator/platform/posix.py | 14 |
11 files changed, 193 insertions, 21 deletions
@@ -118,3 +118,6 @@ cd00c77c619f02c43c23e6a2514e5b685230ef02 release-pypy3.7-v7.3.5rc2 dd033553d6918be9f2a72bb3ea03b3024bef2be2 release-pypy2.7-v7.3.6rc1 a5e5c18d11e9b7163722f1d31a723a4cb4a50f14 release-pypy3.7-v7.3.6rc1 7e233b73b92740ab7a20680a404ac100be1eb508 release-pypy3.8-v7.3.6rc1 +b89256933b0b12169977295224730039a58a1815 release-pypy2.7-v7.3.6rc2 +e4511a21ddfc921621a5a008f106eafb102206f2 release-pypy3.7-v7.3.6rc2 +28b8e9d917f109e3324feb0bac6b541a6482a57d release-pypy3.8-v7.3.6rc2 diff --git a/pypy/doc/build.rst b/pypy/doc/build.rst index 248e143ed8..b734456910 100644 --- a/pypy/doc/build.rst +++ b/pypy/doc/build.rst @@ -162,6 +162,26 @@ way to enable it for building pypy is to set an environment variable:: After setting this, translation (described next) will find the OpenSSL libs as expected. +Set environment variables that will affect translation +------------------------------------------------------ + +The following environment variables can be used to tweak the result: + ++------------------------+-----------------------------------------------------------+ +| value | result | ++------------------------+-----------------------------------------------------------+ +| CC | compiler to use | +| PYPY_MULTIARCH | pypy 3.7+: ends up in ``sys.platform._multiarch`` | +| .. | on posix | +| PYPY_USESSION_DIR | base directory for temporary files, usually ``$TMP`` | +| PYPY_USESSION_BASENAME | each call to ``from rpython.tools import udir`` will get | +| .. | a temporary directory | +| .. | ``$PYPY_USESSION_DIR/usession-$PYPY_USESSION_BASENAME-N`` | +| .. | where ``N`` increments on each call | +| PYPY_USESSION_KEEP | how many old temporary directories to keep, any older | +| .. | ones will be deleted. Defaults to 3 | ++---------------------+--------------------------------------------------------------+ + Run the translation ------------------- diff --git a/pypy/doc/contributing.rst b/pypy/doc/contributing.rst index 9a66feaa89..3b348ed622 100644 --- a/pypy/doc/contributing.rst +++ b/pypy/doc/contributing.rst @@ -267,23 +267,16 @@ of very high quality requirements for compilers and partly because there is simply no other way to get around such complex project, that will keep you sane. There are probably people out there who are smart enough not to need it, we're not one of those. You may consider familiarizing yourself with `pytest`_, -since this is a tool we use for tests. -This leads to the next issue: +since this is a tool we use for tests. We ship our own tweaked version of +pytest in the top of the tree, so ``python -m pytest`` will pick up our version, +which means our tests need to run with that version of pytest. -.. _pytest: https://pytest.org/ - -py.test and the py lib ----------------------- - -The `py.test testing tool`_ drives all our testing needs. +We also have post-translation tests in the ``extra_tests`` directory that are +run in a virtual environment from a separate directory, so they use a more +up-to-date version of pytest. As much as possible, these are meant to be +pass with CPython as well. -We use the `py library`_ for filesystem path manipulations, terminal -writing, logging and some other support functionality. - -You don't necessarily need to install these two libraries because -we also ship them inlined in the PyPy source tree. - -.. _py library: https://pylib.readthedocs.org/ +.. _pytest: https://pytest.org/ Running PyPy's unit tests ------------------------- diff --git a/pypy/doc/index-of-release-notes.rst b/pypy/doc/index-of-release-notes.rst index df595f8478..099071b883 100644 --- a/pypy/doc/index-of-release-notes.rst +++ b/pypy/doc/index-of-release-notes.rst @@ -82,6 +82,7 @@ CPython 3.3 compatible versions .. toctree:: + release-pypy3.3-5.5.0.rst release-pypy3.3-v5.5.0.rst release-pypy3.3-v5.2-alpha1.rst diff --git a/pypy/doc/index-of-whatsnew.rst b/pypy/doc/index-of-whatsnew.rst index 0551a62382..c2d83c73b9 100644 --- a/pypy/doc/index-of-whatsnew.rst +++ b/pypy/doc/index-of-whatsnew.rst @@ -49,6 +49,7 @@ CPython 3.7 compatible versions .. toctree:: whatsnew-pypy3-head.rst + whatsnew-pypy3-7.3.6.rst whatsnew-pypy3-7.3.4.rst CPython 3.6 compatible versions diff --git a/pypy/doc/release-v7.3.6.rst b/pypy/doc/release-v7.3.6.rst index 892f4c9ea9..9f11be1ad9 100644 --- a/pypy/doc/release-v7.3.6.rst +++ b/pypy/doc/release-v7.3.6.rst @@ -139,6 +139,10 @@ Bugfixes shared across versions the last tag (i.e. final) - Fix position bugs in the astcompiler stemming from the fact that ``SyntaxErrors`` use 1-based column offsets +- Fix an obscure corner of ``%``-formatting when a tuple is passed in that + triggered infinite recursion in the ``__repr__`` of a ``named_tuple`` with an + ``__iter__`` (issue 3555_) +- Fixed a PowerPC JIT bug that caused a stack overflow (issue 3463_) Speedups and enhancements shared across versions ------------------------------------------------ @@ -232,6 +236,7 @@ Python 3.7 C-API .. _3353: https://foss.heptapod.net/pypy/pypy/-/issues/3353 .. _3431: https://foss.heptapod.net/pypy/pypy/-/issues/3431 .. _3402: https://foss.heptapod.net/pypy/pypy/-/issues/3402 +.. _3463: https://foss.heptapod.net/pypy/pypy/-/issues/3463 .. _3472: https://foss.heptapod.net/pypy/pypy/-/issues/3472 .. _3483: https://foss.heptapod.net/pypy/pypy/-/issues/3483 .. _3490: https://foss.heptapod.net/pypy/pypy/-/issues/3490 @@ -242,6 +247,7 @@ Python 3.7 C-API .. _3531: https://foss.heptapod.net/pypy/pypy/-/issues/3531 .. _3538: https://foss.heptapod.net/pypy/pypy/-/issues/3538 .. _3546: https://foss.heptapod.net/pypy/pypy/-/issues/3546 +.. _3555: https://foss.heptapod.net/pypy/pypy/-/issues/3555 .. _`bpo 22557`: https://bugs.python.org/issue22557 .. _`bpo 44022`: https://bugs.python.org/issue44022 .. _`bpo 43650`: https://bugs.python.org/issue43650 diff --git a/pypy/doc/whatsnew-pypy3-7.3.6.rst b/pypy/doc/whatsnew-pypy3-7.3.6.rst index c559fe710c..f44e1ad7a9 100644 --- a/pypy/doc/whatsnew-pypy3-7.3.6.rst +++ b/pypy/doc/whatsnew-pypy3-7.3.6.rst @@ -18,10 +18,12 @@ suggestions which name could have been meant instead in case of typos). This follows the upcoming CPython 3.10 features. .. branch: distutils-implementation + Instantiate the ``distutils.command.install`` schema for the python implementation (issue 3436) .. branch: py3.7-bpo-30245 + Avoid overflow in ``struct.pack_into`` error message (BPO 30245) diff --git a/pypy/tool/release/check_versions.py b/pypy/tool/release/check_versions.py index 81f5b01a96..3461d48436 100644 --- a/pypy/tool/release/check_versions.py +++ b/pypy/tool/release/check_versions.py @@ -33,6 +33,9 @@ def assert_in(a, b): pypy_versions = { + '7.3.6rc2': {'python_version': ['3.8.12', '3.7.12', '2.7.18'], + 'date': '2021-10-06', + }, '7.3.6rc1': {'python_version': ['3.8.12', '3.7.12', '2.7.18'], 'date': '2021-09-13', }, diff --git a/pypy/tool/release/repackage.sh b/pypy/tool/release/repackage.sh index 0f82706845..fd3deca60c 100644 --- a/pypy/tool/release/repackage.sh +++ b/pypy/tool/release/repackage.sh @@ -1,12 +1,12 @@ #! /bin/bash # Edit these appropriately before running this script -pmaj=2 # python main version: 2 or 3 -pmin=7 # python minor version +pmaj=3 # python main version: 2 or 3 +pmin=8 # python minor version maj=7 min=3 rev=6 -rc=rc1 # comment this line for actual release +rc=rc2 # comment this line for actual release function maybe_exit { if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then diff --git a/pypy/tool/release/versions.json b/pypy/tool/release/versions.json index ee68599c26..464347e2de 100644 --- a/pypy/tool/release/versions.json +++ b/pypy/tool/release/versions.json @@ -1,5 +1,140 @@ [ { + "pypy_version": "7.3.6rc2", + "python_version": "3.8.12", + "stable": false, + "latest_pypy": false, + "date": "2021-10-06", + "files": [ + { + "filename": "pypy3.8-v7.3.6rc2-aarch64.tar.bz2", + "arch": "aarch64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-aarch64.tar.bz2" + }, + { + "filename": "pypy3.8-v7.3.6rc2-linux32.tar.bz2", + "arch": "i686", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-linux32.tar.bz2" + }, + { + "filename": "pypy3.8-v7.3.6rc2-linux64.tar.bz2", + "arch": "x64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-linux64.tar.bz2" + }, + { + "filename": "pypy3.8-v7.3.6rc2-osx64.tar.bz2", + "arch": "x64", + "platform": "darwin", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-osx64.tar.bz2" + }, + { + "filename": "pypy3.8-v7.3.6rc2-win64.zip", + "arch": "x64", + "platform": "win64", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-win64.zip" + }, + { + "filename": "pypy3.8-v7.3.6rc2-s390x.tar.bz2", + "arch": "s390x", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.8-v7.3.6rc2-s390x.tar.bz2" + } + ] + }, + { + "pypy_version": "7.3.6rc2", + "python_version": "3.7.12", + "stable": false, + "latest_pypy": false, + "date": "2021-10-06", + "files": [ + { + "filename": "pypy3.7-v7.3.6rc2-aarch64.tar.bz2", + "arch": "aarch64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-aarch64.tar.bz2" + }, + { + "filename": "pypy3.7-v7.3.6rc2-linux32.tar.bz2", + "arch": "i686", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-linux32.tar.bz2" + }, + { + "filename": "pypy3.7-v7.3.6rc2-linux64.tar.bz2", + "arch": "x64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-linux64.tar.bz2" + }, + { + "filename": "pypy3.7-v7.3.6rc2-osx64.tar.bz2", + "arch": "x64", + "platform": "darwin", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-osx64.tar.bz2" + }, + { + "filename": "pypy3.7-v7.3.6rc2-win64.zip", + "arch": "x64", + "platform": "win64", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-win64.zip" + }, + { + "filename": "pypy3.7-v7.3.6rc2-s390x.tar.bz2", + "arch": "s390x", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.6rc2-s390x.tar.bz2" + } + ] + }, + { + "pypy_version": "7.3.6rc2", + "python_version": "2.7.18", + "stable": false, + "latest_pypy": false, + "date": "2021-10-06", + "files": [ + { + "filename": "pypy2.7-v7.3.6rc2-aarch64.tar.bz2", + "arch": "aarch64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-aarch64.tar.bz2" + }, + { + "filename": "pypy2.7-v7.3.6rc2-linux32.tar.bz2", + "arch": "i686", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-linux32.tar.bz2" + }, + { + "filename": "pypy2.7-v7.3.6rc2-linux64.tar.bz2", + "arch": "x64", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-linux64.tar.bz2" + }, + { + "filename": "pypy2.7-v7.3.6rc2-osx64.tar.bz2", + "arch": "x64", + "platform": "darwin", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-osx64.tar.bz2" + }, + { + "filename": "pypy2.7-v7.3.6rc2-win64.zip", + "arch": "x64", + "platform": "win64", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-win64.zip" + }, + { + "filename": "pypy2.7-v7.3.6rc2-s390x.tar.bz2", + "arch": "s390x", + "platform": "linux", + "download_url": "https://downloads.python.org/pypy/pypy2.7-v7.3.6rc2-s390x.tar.bz2" + } + ] + }, + { "pypy_version": "7.3.6rc1", "python_version": "3.8.12", "stable": false, diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py index 74b81c4572..0a956c9267 100644 --- a/rpython/translator/platform/posix.py +++ b/rpython/translator/platform/posix.py @@ -94,9 +94,17 @@ class BasePosix(Platform): return result def get_multiarch(self): - from rpython.jit.backend import detect_cpu - model = detect_cpu.autodetect() - return model.replace('-', '_') + '-linux-gnu' + if 'DEB_HOST_MULTIARCH' in os.environ: + return os.environ['DEB_HOST_MULTIARCH'] + if 'PYPY_MULTIARCH' in os.environ: + return os.environ['PYPY_MULTIARCH'] + if sys.platform == 'cygwin': + return '' + try: + ret = self.execute(self.cc, args=['--print-multiarch']) + except CompilationError: + return '' + return ret.out.strip() def get_rpath_flags(self, rel_libdirs): # needed for cross-compilation i.e. ARM |