Package: pypy3 / 7.3.19+dfsg-2

Metadata

Package Version Patches format
pypy3 7.3.19+dfsg-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
tests/test_fsync eatmydata | (download)

lib-python/3/test/test_os.py | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 tests: skip fsync tests when building with eatmydata

tests/skip test_multiprocessing | (download)

lib-python/3/test/_test_multiprocessing.py | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 tests: disable test_multiprocessing

It leaves stray processes.

tests/skip hurd deadlock | (download)

pypy/module/thread/test/test_lock.py | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 tests: skip test that deadlocks on gnu hurd

Per Samuel Thibault:

> That's probably because pypy uses pthread_mutexes (which per POSIX aren't
> interrupted by signals) instead of semaphores, and I guess that's
> because sem_open isn't supported on Hurd yet.

tests/python2 binary | (download)

pypy/pytest-A.cfg | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 tests: use the python2 binary

Debian doesn't ship a /usr/bin/python any more

tests/test_fcntl | (download)

pypy/module/fcntl/test/test_fcntl.py | 9 7 + 2 - 0 !
1 file changed, 7 insertions(+), 2 deletions(-)

 tests: ignore lease failure in fcntl tests

Fail on tmpfs on Linux 4.19. Fixed in 5.7 possibly earlier (5.3?).

stdlib/distutils link | (download)

lib-python/3/distutils/unixccompiler.py | 7 6 + 1 - 0 !
1 file changed, 6 insertions(+), 1 deletion(-)

 stdlib: don't add standard library dirs to library_dirs and
 runtime_library_dirs.

stdlib/locale module | (download)

lib-python/3/locale.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 stdlib: don't map 'utf8', 'utf-8' to 'utf'

'utf' is not a known encoding for glibc.

debian/version info | (download)

pypy/module/sys/version.py | 1 1 + 0 - 0 !
rpython/tool/version.py | 10 10 + 0 - 0 !
2 files changed, 11 insertions(+)

 debian: get version details from the debian source package

Rather than VCS.

Return the Debian package version in sys.version.
Return null strings in sys._mercurial.

debian/ensurepip disabled | (download)

lib-python/3/ensurepip/__init__.py | 34 34 + 0 - 0 !
lib-python/3/venv/__init__.py | 22 20 + 2 - 0 !
2 files changed, 54 insertions(+), 2 deletions(-)

 debian: disable ensurepip in debian for now

debian/distutils install layout | (download)

lib-python/3/_distutils_system_mod.py | 180 180 + 0 - 0 !
lib-python/3/distutils/command/install.py | 53 51 + 2 - 0 !
lib-python/3/distutils/command/install_egg_info.py | 30 25 + 5 - 0 !
lib-python/3/distutils/sysconfig_cpython.py | 4 4 + 0 - 0 !
lib-python/3/distutils/sysconfig_pypy.py | 4 4 + 0 - 0 !
lib-python/3/pydoc.py | 1 1 + 0 - 0 !
lib-python/3/site.py | 27 20 + 7 - 0 !
7 files changed, 285 insertions(+), 14 deletions(-)

 debian: add a distutils option --install-layout=deb

This option:
 - installs into $prefix/dist-packages instead of $prefix/site-packages.
 - doesn't encode the python version into the egg name.

Based on cpython Debian packaging

debian/sysconfig debian schemes | (download)

lib-python/3/sysconfig.py | 42 39 + 3 - 0 !
lib-python/3/test/test_sysconfig.py | 2 1 + 1 - 0 !
2 files changed, 40 insertions(+), 4 deletions(-)

 debian: add our install schemes to sysconfig

This adds two schemes:
1. deb_system: Debian's installed Python layout, with modules in
   dist-packages shared across Python versions.
2. posix_local: A clone of posix_prefix that includes a built-in local
   prefix for the dist-packages and binary paths. We default to this to
   redict local installations into /usr/local.

Based on cpython Debian packaging

debian/langpack gettext | (download)

lib-python/3/gettext.py | 15 15 + 0 - 0 !
1 file changed, 15 insertions(+)

 debian: support ubuntu langpacks

Support alternative gettext tree in /usr/share/locale-langpack; if a
file is present in both trees, prefer the newer one

debian/tkinter import | (download)

lib-python/3/tkinter/__init__.py | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 debian: suggest installation of pypy3-tk package

On failing _tkinter import.

debian/noise | (download)

rpython/tool/ansi_print.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 debian: always output the mandelbrot

So that our buildds see progress

debian/python3 sphinx | (download)

pypy/doc/conf.py | 13 4 + 9 - 0 !
pypy/doc/config/index.rst | 11 5 + 6 - 0 !
pypy/doc/cpython_differences.rst | 2 1 + 1 - 0 !
pypy/doc/objspace.rst | 12 10 + 2 - 0 !
4 files changed, 20 insertions(+), 18 deletions(-)

 debian: disable some extensions to support python 3 sphinx

Stop building any autodoc and configuration sections, that require
parsing the Python 2 source code.

This supports building the Sphinx docs with Python 3.

debian/setuptools 59 editable installs | (download)

lib-python/3/distutils/util.py | 9 9 + 0 - 0 !
1 file changed, 9 insertions(+)

 debian: fix editable installs with setuptools < 60.0.1

Work-around a setuptools bug, where it failed to configure all necessary
substitution variables in easy_install.

Bug-setuptools: https://github.com/pypa/setuptools/issues/2938
debian/system expat | (download)

pypy/module/pyexpat/interp_pyexpat.py | 24 10 + 14 - 0 !
1 file changed, 10 insertions(+), 14 deletions(-)

 debian: de-vendor expat

Use the Debian system Expat.
This reverts upstream's commit 792b0993b0b06b6c0282da0bbfb2f7e3151c0bb6.

stdlib/sysconfigdata name | (download)

lib-python/3/sysconfig.py | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 gh-81742 omit platform from _sysconfigdata filename for multiarch

The multiarch triple encodes the platform name, so there is no need to
have both in the _sysconfigdata filename.

Debian has been carrying a (dumber) variant of this patch for a while.

Fixes: #81742

upstream/gcc 14 | (download)

rpython/translator/c/genc.py | 5 5 + 0 - 0 !
rpython/translator/c/src/threadlocal.c | 3 3 + 0 - 0 !
2 files changed, 8 insertions(+)

 gcc-14: ignore -wincompatible-pointer-types on 32-bit

Work around missing GCC-14 support for 32-builds of PyPy by suppressing
the GCC error. We hope to replace this with a real patch soon.

Bug-Upstream: https://github.com/pypy/pypy/issues/5016

stdlib/CVE 2025 0938 urllib bracket domain names | (download)

Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst | 4 4 + 0 - 0 !
lib-python/3/test/test_urlparse.py | 37 36 + 1 - 0 !
lib-python/3/urllib/parse.py | 20 18 + 2 - 0 !
3 files changed, 58 insertions(+), 3 deletions(-)

 gh-105704: disallow square brackets (`[` and `]`) in domain names
 for parsed URLs (GH-129418)

* gh-105704: Disallow square brackets ( and ) in domain names for parsed URLs

* Use Sphinx references

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>

* Add mismatched bracket test cases, fix news format

* Add more test coverage for ports