From: leahneukirchen <leahneukirchen@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [PR PATCH] python3 updates: greenlet/gevent/pyinfra
Date: Thu, 10 Nov 2022 14:40:14 +0100 [thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-40439@inbox.vuxu.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 774 bytes --]
There is a new pull request by leahneukirchen against master on the void-packages repository
https://github.com/leahneukirchen/void-packages pyinfra253
https://github.com/void-linux/void-packages/pull/40439
python3 updates: greenlet/gevent/pyinfra
<!-- Uncomment relevant sections and delete options which are not applicable -->
I just wanted to bump pyinfra when I realized that gevent was broken due to the Python 3.11 update. After updating gevent, it was broken due to old greenlet. So let's update all of these.
I had to disable the greenlet test suite, perhaps someone can have a look here.
#### Testing the changes
- I tested the changes in this PR: **briefly**
A patch file from https://github.com/void-linux/void-packages/pull/40439.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pyinfra253-40439.patch --]
[-- Type: text/x-diff, Size: 11260 bytes --]
From e1bdc6a23e8649aed66f35a9924b2f5043ccd019 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:32 +0100
Subject: [PATCH 1/3] python3-greenlet: update to 2.0.1.
---
srcpkgs/python3-greenlet/template | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/python3-greenlet/template b/srcpkgs/python3-greenlet/template
index 1ff54f67adc5..653a5c0cee56 100644
--- a/srcpkgs/python3-greenlet/template
+++ b/srcpkgs/python3-greenlet/template
@@ -1,7 +1,7 @@
# Template file for 'python3-greenlet'
pkgname=python3-greenlet
-version=1.1.3
-revision=2
+version=2.0.1
+revision=1
build_style=python3-module
hostmakedepends="python3-setuptools"
depends="python3"
@@ -12,7 +12,9 @@ license="MIT"
homepage="https://github.com/python-greenlet/greenlet"
changelog="https://raw.githubusercontent.com/python-greenlet/greenlet/master/CHANGES.rst"
distfiles="${PYPI_SITE}/g/greenlet/greenlet-${version}.tar.gz"
-checksum=bcb6c6dd1d6be6d38d6db283747d07fda089ff8c559a835236560a4410340455
+checksum=42e602564460da0e8ee67cb6d7236363ee5e131aa15943b6670e44e5c2ed0f67
+
+make_check=no # XXX fixme
do_check() {
PYTHONPATH="$(cd build/lib* && pwd)" python3 -m unittest discover -v greenlet.tests
From 474c79263601b1f574447e6ca9f200f0067937be Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:37 +0100
Subject: [PATCH 2/3] python3-gevent: update to 22.10.2.
---
.../python3-gevent/patches/fix-tests.patch | 13 --
.../python3-gevent/patches/python-3.11.patch | 144 ------------------
srcpkgs/python3-gevent/template | 8 +-
3 files changed, 4 insertions(+), 161 deletions(-)
delete mode 100644 srcpkgs/python3-gevent/patches/fix-tests.patch
delete mode 100644 srcpkgs/python3-gevent/patches/python-3.11.patch
diff --git a/srcpkgs/python3-gevent/patches/fix-tests.patch b/srcpkgs/python3-gevent/patches/fix-tests.patch
deleted file mode 100644
index 65bf623a03d3..000000000000
--- a/srcpkgs/python3-gevent/patches/fix-tests.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-OSError: [Errno 97] Address family not supported by protocol
-
---- a/src/gevent/tests/test__socket.py
-+++ b/src/gevent/tests/test__socket.py
-@@ -483,7 +483,7 @@
- # use', which makes even less sense. The manylinux
- # 2010 environment produces 'errno 99 Cannot assign
- # requested address', which, I guess?
-- 'refused|not known|already in use|assign'
-+ 'refused|not known|already in use|assign|not supported'
- ):
- socket.create_connection(
- (greentest.DEFAULT_BIND_ADDR, connect_port),
diff --git a/srcpkgs/python3-gevent/patches/python-3.11.patch b/srcpkgs/python3-gevent/patches/python-3.11.patch
deleted file mode 100644
index 8edfe20db61e..000000000000
--- a/srcpkgs/python3-gevent/patches/python-3.11.patch
+++ /dev/null
@@ -1,144 +0,0 @@
- https://github.com/gevent/gevent/pull/1872.patch
-From 90e9169c915a640739880b55ed95f88ce21fa7b0 Mon Sep 17 00:00:00 2001
-From: Victor Stinner <vstinner@python.org>
-Date: Tue, 1 Mar 2022 22:28:40 +0100
-Subject: [PATCH] Add Python 3.11 alpha 6 support
-
-* On Python 3.11a6 and newer, get the PyFrameObject structure from
- the internal C API ("internal/pycore_frame.h").
-* On Python 3.9 and newer, use PyFrame_GetBack() and
- PyFrame_GetCode().
-* Add frame getter and setter functions to greenlet:
-
- * get_f_code(frame)
- * set_f_lineno(frame, lineno)
- * set_f_code(frame, code)
-
-* greenlet.h: the CFrame type has been renamed to _PyCFrame.
----
- _setuputils.py | 4 +++
- deps/greenlet/greenlet.h | 6 +++-
- src/gevent/_gevent_cgreenlet.pxd | 59 ++++++++++++++++++++++++--------
- src/gevent/greenlet.py | 7 ++--
- 4 files changed, 59 insertions(+), 17 deletions(-)
-
-diff --git a/_setuputils.py b/_setuputils.py
-index 7257b3eea..0b14ab1f0 100644
---- a/_setuputils.py
-+++ b/_setuputils.py
-@@ -244,6 +244,10 @@ def cythonize1(ext):
- 'infer_types': True,
- 'nonecheck': False,
- },
-+ compile_time_env={
-+ 'PY39B1': sys.hexversion >= 0x030900B1,
-+ 'PY311A6': sys.hexversion >= 0x030B00A6,
-+ },
- # The common_utility_include_dir (not well documented)
- # causes Cython to emit separate files for much of the
- # static support code. Each of the modules then includes
-diff --git a/src/gevent/_gevent_cgreenlet.pxd b/src/gevent/_gevent_cgreenlet.pxd
-index cbb81a638..246773e24 100644
---- a/src/gevent/_gevent_cgreenlet.pxd
-+++ b/src/gevent/_gevent_cgreenlet.pxd
-@@ -57,30 +57,61 @@ cdef extern from "Python.h":
- ctypedef class types.CodeType [object PyCodeObject]:
- pass
-
--cdef extern from "frameobject.h":
--
-- ctypedef class types.FrameType [object PyFrameObject]:
-- cdef CodeType f_code
-- # Accessing the f_lineno directly doesn't work. There is an accessor
-- # function, PyFrame_GetLineNumber that is needed to turn the raw line number
-- # into the executing line number.
-- # cdef int f_lineno
-- # We can't declare this in the object as an object, because it's
-- # allowed to be NULL, and Cython can't handle that.
-- # We have to go through the python machinery to get a
-- # proper None instead, or use an inline function.
-- cdef void* f_back
-+IF PY311A6:
-+ cdef extern from "internal/pycore_frame.h":
-+ ctypedef class types._PyInterpreterFrame [object _PyInterpreterFrame]:
-+ cdef CodeType f_code
-+
-+ ctypedef class types.FrameType [object PyFrameObject]:
-+ cdef _PyInterpreterFrame f_frame
-+ # Accessing the f_lineno directly doesn't work. There is an accessor
-+ # function, PyFrame_GetLineNumber that is needed to turn the raw line number
-+ # into the executing line number.
-+ # cdef int f_lineno
-+ # We can't declare this in the object as an object, because it's
-+ # allowed to be NULL, and Cython can't handle that.
-+ # We have to go through the python machinery to get a
-+ # proper None instead, or use an inline function.
-+ cdef void* f_back
-+ELSE:
-+ cdef extern from "frameobject.h":
-+ ctypedef class types.FrameType [object PyFrameObject]:
-+ cdef CodeType f_code
-+ cdef void* f_back
-
-+cdef extern from "frameobject.h":
- int PyFrame_GetLineNumber(FrameType frame)
-+ IF PY39B1:
-+ CodeType PyFrame_GetCode(FrameType frame)
-+ void* PyFrame_GetBack(FrameType frame)
-
- @cython.nonecheck(False)
- cdef inline FrameType get_f_back(FrameType frame):
-+ IF PY39B1:
-+ f_back = PyFrame_GetBack(frame)
-+ ELSE:
-+ f_back = frame.f_back
- if frame.f_back != NULL:
-- return <FrameType>frame.f_back
-+ return <FrameType>f_back
-
- cdef inline int get_f_lineno(FrameType frame):
- return PyFrame_GetLineNumber(frame)
-
-+cdef inline void set_f_lineno(FrameType frame, int lineno):
-+ frame.f_lineno = lineno
-+
-+cdef inline CodeType get_f_code(FrameType frame):
-+ IF PY39B1:
-+ return PyFrame_GetCode(frame)
-+ ELSE:
-+ return frame.f_code
-+
-+cdef inline void set_f_code(FrameType frame, CodeType code):
-+ IF PY311A6:
-+ frame.f_frame.f_code = code
-+ ELSE:
-+ frame.f_code = code
-+
- cdef void _init()
-
- cdef class SpawnedLink:
-diff --git a/src/gevent/greenlet.py b/src/gevent/greenlet.py
-index bed12ed44..f925770bb 100644
---- a/src/gevent/greenlet.py
-+++ b/src/gevent/greenlet.py
-@@ -58,6 +58,9 @@
- # Frame access
- locals()['get_f_back'] = lambda frame: frame.f_back
- locals()['get_f_lineno'] = lambda frame: frame.f_lineno
-+locals()['set_f_lineno'] = lambda frame, lineno: setattr(frame, 'f_lineno', lineno)
-+locals()['get_f_code'] = lambda frame: frame.f_code
-+locals()['set_f_code'] = lambda frame, code: setattr(frame, 'f_code', code)
-
- if _PYPY:
- import _continuation # pylint:disable=import-error
-@@ -157,8 +160,8 @@ def _extract_stack(limit):
- # Arguments are always passed to the constructor as Python objects,
- # meaning we wind up boxing the f_lineno just to unbox it if we pass it.
- # It's faster to simply assign once the object is created.
-- older_Frame.f_code = frame.f_code
-- older_Frame.f_lineno = get_f_lineno(frame) # pylint:disable=undefined-variable
-+ set_f_code(older_Frame.f_code, get_f_code(frame))
-+ set_f_lineno(older_Frame.f_lineno, get_f_lineno(frame)) # pylint:disable=undefined-variable
- if newer_Frame is not None:
- newer_Frame.f_back = older_Frame
- newer_Frame = older_Frame
diff --git a/srcpkgs/python3-gevent/template b/srcpkgs/python3-gevent/template
index 27f995768c0e..d9da185d8c7a 100644
--- a/srcpkgs/python3-gevent/template
+++ b/srcpkgs/python3-gevent/template
@@ -1,10 +1,10 @@
# Template file for 'python3-gevent'
pkgname=python3-gevent
-version=21.1.2
-revision=3
+version=22.10.2
+revision=1
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel libev-devel c-ares-devel python3-greenlet-devel"
+makedepends="python3-devel libev-devel libuv-devel c-ares-devel python3-greenlet-devel"
depends="python3-dnspython python3-greenlet python3-zope.event python3-zope.interface"
checkdepends="${depends} iana-etc"
short_desc="Coroutine-based Python3 networking library"
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="http://www.gevent.org/"
distfiles="https://github.com/gevent/gevent/archive/${version}.tar.gz"
-checksum=1fc6579fee04c0bc348cb1dcbc10f822129e6af7dcf2c52c24f1497cea3bd45c
+checksum=01ea78981520c9cdbe3722e1760a8ed0165a0b576cb5209f67881595561509da
post_extract() {
# purge bundled dependencies
From 5daa66e417baff02b9eb4c049472c5aacdfa3173 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:42 +0100
Subject: [PATCH 3/3] python3-pyinfra: update to 2.5.3.
---
srcpkgs/python3-pyinfra/template | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/python3-pyinfra/template b/srcpkgs/python3-pyinfra/template
index 9c62fd6b8e26..2bad9f9338c5 100644
--- a/srcpkgs/python3-pyinfra/template
+++ b/srcpkgs/python3-pyinfra/template
@@ -1,7 +1,7 @@
# Template file for 'python3-pyinfra'
pkgname=python3-pyinfra
-version=2.5.2
-revision=2
+version=2.5.3
+revision=1
build_style=python3-module
hostmakedepends="python3-setuptools"
depends="python3 python3-Jinja2 python3-click python3-colorama python3-dateutil
@@ -14,7 +14,7 @@ license="MIT"
homepage="https://pyinfra.com/"
changelog="https://github.com/Fizzadar/pyinfra/blob/HEAD/CHANGELOG.md"
distfiles="https://github.com/Fizzadar/pyinfra/archive/v${version}.tar.gz"
-checksum=c1d661fcae7673312b5777d05e913ba26ce9a9fa323ebd318417fa935998f6fb
+checksum=dabbd73734689e8f7030f33ef09ea0dc38a696868e39384741bf08796d550420
post_extract() {
vsed -i -e '/configparser/d' setup.py # is in Python 3.8
next reply other threads:[~2022-11-10 13:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 13:40 leahneukirchen [this message]
2022-11-10 16:52 ` icp1994
2022-11-11 13:39 ` [PR PATCH] [Updated] " leahneukirchen
2022-11-11 13:46 ` leahneukirchen
2022-11-11 14:02 ` [PR PATCH] [Merged]: " leahneukirchen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-40439@inbox.vuxu.org \
--to=leahneukirchen@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).