* [PR PATCH] python3 updates: greenlet/gevent/pyinfra
@ 2022-11-10 13:40 leahneukirchen
2022-11-10 16:52 ` icp1994
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: leahneukirchen @ 2022-11-10 13:40 UTC (permalink / raw)
To: ml
[-- 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: python3 updates: greenlet/gevent/pyinfra
2022-11-10 13:40 [PR PATCH] python3 updates: greenlet/gevent/pyinfra leahneukirchen
@ 2022-11-10 16:52 ` icp1994
2022-11-11 13:39 ` [PR PATCH] [Updated] " leahneukirchen
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: icp1994 @ 2022-11-10 16:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 386 bytes --]
New comment by icp1994 on void-packages repository
https://github.com/void-linux/void-packages/pull/40439#issuecomment-1310592618
Comment:
You need [objgraph](https://pypi.org/project/objgraph/) packaged and then
```
do_check() {
python3 setup.py build_ext --inplace
PYTHONPATH=src python3 -m unittest discover src
}
```
Also `checkdepends="python3-objgraph python3-psutil"`
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PR PATCH] [Updated] python3 updates: greenlet/gevent/pyinfra
2022-11-10 13:40 [PR PATCH] python3 updates: greenlet/gevent/pyinfra leahneukirchen
2022-11-10 16:52 ` icp1994
@ 2022-11-11 13:39 ` leahneukirchen
2022-11-11 13:46 ` leahneukirchen
2022-11-11 14:02 ` [PR PATCH] [Merged]: " leahneukirchen
3 siblings, 0 replies; 5+ messages in thread
From: leahneukirchen @ 2022-11-11 13:39 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated 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: 12617 bytes --]
From 9c3f3ab22c2f932613308630462bd167b1f99686 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 11 Nov 2022 14:37:14 +0100
Subject: [PATCH 1/4] New package: python3-objgraph-3.5.0
---
srcpkgs/python3-objgraph/template | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 srcpkgs/python3-objgraph/template
diff --git a/srcpkgs/python3-objgraph/template b/srcpkgs/python3-objgraph/template
new file mode 100644
index 000000000000..227797791e2a
--- /dev/null
+++ b/srcpkgs/python3-objgraph/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-objgraph'
+pkgname=python3-objgraph
+version=3.5.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="graphviz"
+short_desc="Draws Python object reference graphs with graphviz"
+maintainer="Leah Neukirchen <leah@vuxu.org>"
+license="MIT"
+homepage="https://mg.pov.lt/objgraph/"
+distfiles="${PYPI_SITE}/o/objgraph/objgraph-${version}.tar.gz"
+checksum=4752ca5bcc0e0512e41b8cc4d2780ac2fd3b3eabd03b7e950a5594c06203dfc4
+
+post_install() {
+ vlicense LICENSE
+}
From 6c8c7386905531b5b98f2131a6636e7824f6c7fe Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:32 +0100
Subject: [PATCH 2/4] python3-greenlet: update to 2.0.1.
---
srcpkgs/python3-greenlet/template | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/python3-greenlet/template b/srcpkgs/python3-greenlet/template
index 1ff54f67adc5..438c2d59c595 100644
--- a/srcpkgs/python3-greenlet/template
+++ b/srcpkgs/python3-greenlet/template
@@ -1,21 +1,23 @@
# 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"
makedepends="python3-devel"
+checkdepends="python3-objgraph python3-psutil"
short_desc="Lightweight in-process concurrent programming (Python3)"
maintainer="Steve Prybylski <sa.prybylx@gmail.com>"
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
do_check() {
- PYTHONPATH="$(cd build/lib* && pwd)" python3 -m unittest discover -v greenlet.tests
+ python3 setup.py build_ext --inplace
+ PYTHONPATH=src python3 -m unittest discover src
}
post_install() {
From 87ebb05525a5bae893d41fa0a94c5abcd90ffcc4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:37 +0100
Subject: [PATCH 3/4] 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 cc92cca48bb88d9c06a7de5ce8882abf4f6df88b Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:42 +0100
Subject: [PATCH 4/4] 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PR PATCH] [Updated] python3 updates: greenlet/gevent/pyinfra
2022-11-10 13:40 [PR PATCH] python3 updates: greenlet/gevent/pyinfra leahneukirchen
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
3 siblings, 0 replies; 5+ messages in thread
From: leahneukirchen @ 2022-11-11 13:46 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 779 bytes --]
There is an updated 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: 12638 bytes --]
From 9c3f3ab22c2f932613308630462bd167b1f99686 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 11 Nov 2022 14:37:14 +0100
Subject: [PATCH 1/4] New package: python3-objgraph-3.5.0
---
srcpkgs/python3-objgraph/template | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 srcpkgs/python3-objgraph/template
diff --git a/srcpkgs/python3-objgraph/template b/srcpkgs/python3-objgraph/template
new file mode 100644
index 000000000000..227797791e2a
--- /dev/null
+++ b/srcpkgs/python3-objgraph/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-objgraph'
+pkgname=python3-objgraph
+version=3.5.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="graphviz"
+short_desc="Draws Python object reference graphs with graphviz"
+maintainer="Leah Neukirchen <leah@vuxu.org>"
+license="MIT"
+homepage="https://mg.pov.lt/objgraph/"
+distfiles="${PYPI_SITE}/o/objgraph/objgraph-${version}.tar.gz"
+checksum=4752ca5bcc0e0512e41b8cc4d2780ac2fd3b3eabd03b7e950a5594c06203dfc4
+
+post_install() {
+ vlicense LICENSE
+}
From ed8cd952ee40e69f833793b3d8ed75dba1a175db Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:32 +0100
Subject: [PATCH 2/4] python3-greenlet: update to 2.0.1.
---
srcpkgs/python3-greenlet/template | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/python3-greenlet/template b/srcpkgs/python3-greenlet/template
index 1ff54f67adc5..5cf5c268aab4 100644
--- a/srcpkgs/python3-greenlet/template
+++ b/srcpkgs/python3-greenlet/template
@@ -1,21 +1,23 @@
# 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"
makedepends="python3-devel"
+depends="python3"
+checkdepends="python3-objgraph python3-psutil"
short_desc="Lightweight in-process concurrent programming (Python3)"
maintainer="Steve Prybylski <sa.prybylx@gmail.com>"
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
do_check() {
- PYTHONPATH="$(cd build/lib* && pwd)" python3 -m unittest discover -v greenlet.tests
+ python3 setup.py build_ext --inplace
+ PYTHONPATH=src python3 -m unittest discover src
}
post_install() {
From 0878afdd6eb085f2223a6cac76e881f290836b6e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:37 +0100
Subject: [PATCH 3/4] 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 93fe22e450193708a0295ebc048b0c7ca5ab4706 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 10 Nov 2022 14:36:42 +0100
Subject: [PATCH 4/4] 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PR PATCH] [Merged]: python3 updates: greenlet/gevent/pyinfra
2022-11-10 13:40 [PR PATCH] python3 updates: greenlet/gevent/pyinfra leahneukirchen
` (2 preceding siblings ...)
2022-11-11 13:46 ` leahneukirchen
@ 2022-11-11 14:02 ` leahneukirchen
3 siblings, 0 replies; 5+ messages in thread
From: leahneukirchen @ 2022-11-11 14:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 606 bytes --]
There's a merged pull request on the void-packages repository
python3 updates: greenlet/gevent/pyinfra
https://github.com/void-linux/void-packages/pull/40439
Description:
<!-- 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**
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-11-11 14:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-10 13:40 [PR PATCH] python3 updates: greenlet/gevent/pyinfra leahneukirchen
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
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).