Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] synapse: update to 1.94.0.
@ 2023-10-12 23:18 TinfoilSubmarine
  2023-10-13  0:29 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-12 23:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1239 bytes --]

There is a new pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 28524 bytes --]

From ff88e181000bc1bc1b65240bfe4c2d8416288d83 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 1/5] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 78e1dcee8d46df4bc47a53b86de00222ca98ffe9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 2/5] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From 39ba887808b361e1c7b735be3c78535f8bbd65e6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 3/5] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 31916860ac3e5fe24753224efa5862060adf6833 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 4/5] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From b8f4c4b49e46e0bba6e1d65125964c2415105eea Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 5/5] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
@ 2023-10-13  0:29 ` TinfoilSubmarine
  2023-10-13  0:30 ` TinfoilSubmarine
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-13  0:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 29268 bytes --]

From ff88e181000bc1bc1b65240bfe4c2d8416288d83 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 1/6] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 78e1dcee8d46df4bc47a53b86de00222ca98ffe9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 2/6] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From 39ba887808b361e1c7b735be3c78535f8bbd65e6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 3/6] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 31916860ac3e5fe24753224efa5862060adf6833 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 4/6] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From 32fdba04c1a7f4e0e420561909a42dbff67a4f35 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 20:20:23 -0400
Subject: [PATCH 5/6] python3-saml2: rebuild for python3-xmlschema-2.5.0

---
 srcpkgs/python3-saml2/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-saml2/template b/srcpkgs/python3-saml2/template
index 85305b27624eb..6b02def15c1f6 100644
--- a/srcpkgs/python3-saml2/template
+++ b/srcpkgs/python3-saml2/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-saml2'
 pkgname=python3-saml2
 version=7.4.2
-revision=2
+revision=3
 build_style=python3-pep517
 make_check_args="--ignore=tests/test_36_mdbcache.py \
  --ignore=tests/test_75_mongodb.py \

From ef0f3397ce259812f7269743187590cea33eaf0c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 6/6] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
  2023-10-13  0:29 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-10-13  0:30 ` TinfoilSubmarine
  2023-10-14 23:37 ` [PR REVIEW] " Piraty
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-13  0:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 29261 bytes --]

From ff88e181000bc1bc1b65240bfe4c2d8416288d83 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 1/6] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 78e1dcee8d46df4bc47a53b86de00222ca98ffe9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 2/6] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From 39ba887808b361e1c7b735be3c78535f8bbd65e6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 3/6] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 31916860ac3e5fe24753224efa5862060adf6833 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 4/6] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From f3840609a9d0a737a2e1e8350edb8ae6df0a2353 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 20:20:23 -0400
Subject: [PATCH 5/6] python3-saml2: revbump for xmlschema 2.5.0.

---
 srcpkgs/python3-saml2/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-saml2/template b/srcpkgs/python3-saml2/template
index 85305b27624eb..6b02def15c1f6 100644
--- a/srcpkgs/python3-saml2/template
+++ b/srcpkgs/python3-saml2/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-saml2'
 pkgname=python3-saml2
 version=7.4.2
-revision=2
+revision=3
 build_style=python3-pep517
 make_check_args="--ignore=tests/test_36_mdbcache.py \
  --ignore=tests/test_75_mongodb.py \

From a965a28a1306be93b02f980a60ae3012f9dba7d4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 6/6] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
  2023-10-13  0:29 ` [PR PATCH] [Updated] " TinfoilSubmarine
  2023-10-13  0:30 ` TinfoilSubmarine
@ 2023-10-14 23:37 ` Piraty
  2023-10-15  3:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-14 23:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 193 bytes --]

New review comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1359679114

Comment:
what? there is not shlib dependency on anyhing

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (2 preceding siblings ...)
  2023-10-14 23:37 ` [PR REVIEW] " Piraty
@ 2023-10-15  3:17 ` TinfoilSubmarine
  2023-10-15  3:46 ` [PR REVIEW] " TinfoilSubmarine
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-15  3:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 28524 bytes --]

From a760152efcf7a4a3cf34079f54ceac1fed32b8a6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 1/5] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 82cfe099de1780220e5dc8f2f9afbceb99c492c9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 2/5] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From a268d635f8afca0580d9339c19dd1e1264e2924b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 3/5] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 52beac27b96bdba97c78336a8861172590410f2c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 4/5] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From 6bd8fa3c51bdf9d2fddbcca061aec1feb26431ce Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 5/5] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (3 preceding siblings ...)
  2023-10-15  3:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-10-15  3:46 ` TinfoilSubmarine
  2023-10-19 12:09 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-15  3:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 376 bytes --]

New review comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1359750660

Comment:
I agree with you. However, take a look at the build failure now that I've dropped this commit from the branch. It never builds xmlschema prior to building synapse even though xmlschema is a transitive check dependency. 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (4 preceding siblings ...)
  2023-10-15  3:46 ` [PR REVIEW] " TinfoilSubmarine
@ 2023-10-19 12:09 ` TinfoilSubmarine
  2023-10-19 12:44 ` TinfoilSubmarine
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-19 12:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 38161 bytes --]

From 01d7c2c10f53e67e55bed2d0bd822b01e5b95f18 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:41:12 -0400
Subject: [PATCH 01/10] New package: python3-dirty-equals-0.6.0

---
 srcpkgs/python3-dirty-equals/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-dirty-equals/template

diff --git a/srcpkgs/python3-dirty-equals/template b/srcpkgs/python3-dirty-equals/template
new file mode 100644
index 0000000000000..4e0be610d2621
--- /dev/null
+++ b/srcpkgs/python3-dirty-equals/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-dirty-equals'
+pkgname=python3-dirty-equals
+version=0.6.0
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples and circular dependency on pydantic
+make_check_args="--ignore=tests/test_docs.py --ignore=tests/test_other.py"
+hostmakedepends="hatchling"
+depends="python3-pytz"
+checkdepends="${depends} python3-pytest"
+short_desc="Doing dirty (but extremely useful) things with equals"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/samuelcolvin/dirty-equals"
+changelog="https://github.com/samuelcolvin/dirty-equals/releases"
+distfiles="${PYPI_SITE}/d/dirty_equals/dirty_equals-${version}.tar.gz"
+checksum=4c4e4b9b52670ad8b880c46734e5ffc52e023250ae817398b78b30e329c3955d
+
+post_install() {
+	vlicense LICENSE
+}

From 6554f1f631d3ad9f4b55c2c8ec7addd1cd2fffb1 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:42:50 -0400
Subject: [PATCH 02/10] New package: python3-pydantic-core-2.11.0

---
 srcpkgs/python3-pydantic-core/template | 36 ++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 srcpkgs/python3-pydantic-core/template

diff --git a/srcpkgs/python3-pydantic-core/template b/srcpkgs/python3-pydantic-core/template
new file mode 100644
index 0000000000000..e345f6a6ed168
--- /dev/null
+++ b/srcpkgs/python3-pydantic-core/template
@@ -0,0 +1,36 @@
+# Template file for 'python3-pydantic-core'
+pkgname=python3-pydantic-core
+version=2.11.0
+revision=1
+build_style=python3-pep517
+build_helper=rust
+hostmakedepends="maturin cargo"
+makedepends="python3-typing_extensions"
+depends="python3-typing_extensions"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-timeout python3-pytest-mock python3-hypothesis
+ python3-dirty-equals"
+short_desc="Core functionality for pydantic-core validation and serialization"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/pydantic/pydantic-core"
+distfiles="${PYPI_SITE}/p/pydantic_core/pydantic_core-${version}.tar.gz"
+checksum=55c6d7fdc94a98e0551870774e27be1ec5cd847230015463853d27a73b05ba13
+
+# taken from python3-adblock
+if [ "$CROSS_BUILD" ]; then
+	makedepends+=" rust-std"
+	hostmakedepends+=" python3-typing_extensions"
+	export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
+	export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
+fi
+
+do_build() {
+	maturin build -o . --release --target "${RUST_TARGET}" --manylinux off
+	mkdir -p dist
+	mv pydantic_core-${version}-*.whl dist/pydantic_core-${version}-py3-none-any.whl
+}
+
+post_install() {
+	vlicense LICENSE
+}

From 68ce97e64b52e9f49b484b7b0e922f85ddd04e6d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:14:36 -0400
Subject: [PATCH 03/10] New package: python3-annotated-types-0.6.0

---
 srcpkgs/python3-annotated-types/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-annotated-types/template

diff --git a/srcpkgs/python3-annotated-types/template b/srcpkgs/python3-annotated-types/template
new file mode 100644
index 0000000000000..ca3900a990430
--- /dev/null
+++ b/srcpkgs/python3-annotated-types/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-annotated-types'
+pkgname=python3-annotated-types
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Reusable constraint types to use with typing.Annotated"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/annotated-types/annotated-types"
+distfiles="${PYPI_SITE}/a/annotated_types/annotated_types-${version}.tar.gz"
+checksum=563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d
+
+post_install() {
+	vlicense LICENSE
+}

From 768bb260352a4327d41603f58c61f062d79abc75 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:47:01 -0400
Subject: [PATCH 04/10] python3-pydantic: update to 2.4.2.

---
 .../patches/drop-fancy-pypi-readme-dep.patch  | 38 +++++++++++++++++++
 srcpkgs/python3-pydantic/template             | 20 +++++-----
 2 files changed, 49 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch

diff --git a/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
new file mode 100644
index 0000000000000..6bc5bcf6f3321
--- /dev/null
+++ b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
@@ -0,0 +1,38 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index aba4d03..d2af96e 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ['hatchling', 'hatch-fancy-pypi-readme>=22.5.0']
++requires = ['hatchling']
+ build-backend = 'hatchling.build'
+ 
+ [tool.hatch.version]
+diff --git a/pyproject.toml b/pyproject.toml
+index d2af96e..5ccd6f6 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -128,22 +128,6 @@ Funding = 'https://github.com/sponsors/samuelcolvin'
+ Source = 'https://github.com/pydantic/pydantic'
+ Changelog = 'https://docs.pydantic.dev/latest/changelog/'
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = 'text/markdown'
+-# construct the PyPI readme from README.md and HISTORY.md
+-fragments = [
+-    {path = "README.md"},
+-    {text = "\n## Changelog\n\n"},
+-    {path = "HISTORY.md", pattern = "(.+?)<!-- package description limit -->"},
+-    {text = "\n... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes.\n"},
+-]
+-# convert GitHuB issue/PR numbers and handles to links
+-substitutions = [
+-    {pattern = '(\s+)#(\d+)', replacement = '\1[#\2](https://github.com/pydantic/pydantic/issues/\2)'},
+-    {pattern = '(\s+)@([\w\-]+)', replacement = '\1[@\2](https://github.com/\2)'},
+-    {pattern = '@@', replacement = '@'},
+-]
+-
+ [tool.pytest.ini_options]
+ testpaths = 'tests'
+ xfail_strict = true
diff --git a/srcpkgs/python3-pydantic/template b/srcpkgs/python3-pydantic/template
index 8a09f0e39bc1f..8b9fb473e8203 100644
--- a/srcpkgs/python3-pydantic/template
+++ b/srcpkgs/python3-pydantic/template
@@ -1,20 +1,22 @@
 # Template file for 'python3-pydantic'
 pkgname=python3-pydantic
-version=1.10.7
-revision=2
-build_style=python3-module
-# added to stop test failing due to DeprecationWarning on pkg_resources import
-make_check_args="-p no:warnings"
-hostmakedepends="python3-setuptools"
-depends="python3-typing_extensions"
-checkdepends="${depends} python3-pytest python3-pytest-mock"
+version=2.4.2
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples
+make_check_args="--ignore=tests/test_docs.py"
+hostmakedepends="hatchling"
+depends="python3-typing_extensions python3-annotated-types
+ python3-pydantic-core"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-mock python3-dirty-equals python3-Faker"
 short_desc="Data parsing and validation using Python type hints"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="MIT"
 homepage="https://github.com/pydantic/pydantic"
 changelog="https://raw.githubusercontent.com/pydantic/pydantic/main/HISTORY.md"
 distfiles="${PYPI_SITE}/p/pydantic/pydantic-${version}.tar.gz"
-checksum=cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e
+checksum=94f336138093a5d7f426aac732dcfe7ab4eb4da243c88f891d65deb4a2556ee7
 
 post_install() {
 	vlicense LICENSE

From 080045ebb55fb83cc5488c866910d3a1538d2bc4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 17:05:27 -0400
Subject: [PATCH 05/10] python3-inflect: update to 7.0.0.

---
 srcpkgs/python3-inflect/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-inflect/template b/srcpkgs/python3-inflect/template
index 15b16a0da04bd..e83b21c359d04 100644
--- a/srcpkgs/python3-inflect/template
+++ b/srcpkgs/python3-inflect/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-inflect'
 pkgname=python3-inflect
-version=6.0.4
-revision=2
+version=7.0.0
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-wheel python3-setuptools_scm"
 depends="python3-pydantic"
@@ -10,9 +10,10 @@ short_desc="Correctly generate plurals, ordinals; convert numbers to words"
 maintainer="icp <pangolin@vivaldi.net>"
 license="MIT"
 homepage="https://github.com/jaraco/inflect"
-changelog="https://raw.githubusercontent.com/jaraco/inflect/main/CHANGES.rst"
+changelog="https://raw.githubusercontent.com/jaraco/inflect/main/NEWS.rst"
 distfiles="${PYPI_SITE}/i/inflect/inflect-${version}.tar.gz"
-checksum=1842649a17b6cad66812a5c9bdfacb6310e1e7b6dd8a31f026766df1b62612eb
+checksum=63da9325ad29da81ec23e055b41225795ab793b4ecb483be5dc1fa363fd4717e
+make_check_pre="env PY_IGNORE_IMPORTMISMATCH=1"
 
 post_install() {
 	vlicense LICENSE

From 41dfceaf30f39d692369ff74e2ec80b711d23e99 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 06/10] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 83b17ea59c64557ef1fd5e763fe54e09c4d080ef Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 07/10] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From b6184ba3c517a30e4503f74260b4b7efc2ba25da Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 08/10] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 9712de3883f7156f7a0518363e35dcb7de835547 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 09/10] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From b43c1136a753e70cb6aa055491e5e8576e0dcd1b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 10/10] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (5 preceding siblings ...)
  2023-10-19 12:09 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-10-19 12:44 ` TinfoilSubmarine
  2023-10-19 12:49 ` [PR REVIEW] " TinfoilSubmarine
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-19 12:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 42361 bytes --]

From 4a6772ba7233f94bbc0db98cf23aa2124c59acef Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:41:12 -0400
Subject: [PATCH 01/13] New package: python3-dirty-equals-0.6.0

---
 .../patches/no-pytest-filterwarnings.patch    | 12 +++++++++++
 srcpkgs/python3-dirty-equals/template         | 21 +++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
 create mode 100644 srcpkgs/python3-dirty-equals/template

diff --git a/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch b/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
new file mode 100644
index 0000000000000..e9ff2cc4a4cb2
--- /dev/null
+++ b/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
@@ -0,0 +1,12 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 1b8ff7a..3a753ac 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -59,7 +59,6 @@ target-version = 'py37'
+ 
+ [tool.pytest.ini_options]
+ testpaths = "tests"
+-filterwarnings = "error"
+ 
+ [tool.coverage.run]
+ source = ["dirty_equals"]
diff --git a/srcpkgs/python3-dirty-equals/template b/srcpkgs/python3-dirty-equals/template
new file mode 100644
index 0000000000000..4e0be610d2621
--- /dev/null
+++ b/srcpkgs/python3-dirty-equals/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-dirty-equals'
+pkgname=python3-dirty-equals
+version=0.6.0
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples and circular dependency on pydantic
+make_check_args="--ignore=tests/test_docs.py --ignore=tests/test_other.py"
+hostmakedepends="hatchling"
+depends="python3-pytz"
+checkdepends="${depends} python3-pytest"
+short_desc="Doing dirty (but extremely useful) things with equals"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/samuelcolvin/dirty-equals"
+changelog="https://github.com/samuelcolvin/dirty-equals/releases"
+distfiles="${PYPI_SITE}/d/dirty_equals/dirty_equals-${version}.tar.gz"
+checksum=4c4e4b9b52670ad8b880c46734e5ffc52e023250ae817398b78b30e329c3955d
+
+post_install() {
+	vlicense LICENSE
+}

From 919b40ee5e7cecfc31e681a3b32af116fbf772d5 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:42:50 -0400
Subject: [PATCH 02/13] New package: python3-pydantic-core-2.11.0

---
 srcpkgs/python3-pydantic-core/template | 36 ++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 srcpkgs/python3-pydantic-core/template

diff --git a/srcpkgs/python3-pydantic-core/template b/srcpkgs/python3-pydantic-core/template
new file mode 100644
index 0000000000000..e345f6a6ed168
--- /dev/null
+++ b/srcpkgs/python3-pydantic-core/template
@@ -0,0 +1,36 @@
+# Template file for 'python3-pydantic-core'
+pkgname=python3-pydantic-core
+version=2.11.0
+revision=1
+build_style=python3-pep517
+build_helper=rust
+hostmakedepends="maturin cargo"
+makedepends="python3-typing_extensions"
+depends="python3-typing_extensions"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-timeout python3-pytest-mock python3-hypothesis
+ python3-dirty-equals"
+short_desc="Core functionality for pydantic-core validation and serialization"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/pydantic/pydantic-core"
+distfiles="${PYPI_SITE}/p/pydantic_core/pydantic_core-${version}.tar.gz"
+checksum=55c6d7fdc94a98e0551870774e27be1ec5cd847230015463853d27a73b05ba13
+
+# taken from python3-adblock
+if [ "$CROSS_BUILD" ]; then
+	makedepends+=" rust-std"
+	hostmakedepends+=" python3-typing_extensions"
+	export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
+	export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
+fi
+
+do_build() {
+	maturin build -o . --release --target "${RUST_TARGET}" --manylinux off
+	mkdir -p dist
+	mv pydantic_core-${version}-*.whl dist/pydantic_core-${version}-py3-none-any.whl
+}
+
+post_install() {
+	vlicense LICENSE
+}

From 59d2007e5080d1d509c44a90c7221656bd6103f6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:14:36 -0400
Subject: [PATCH 03/13] New package: python3-annotated-types-0.6.0

---
 srcpkgs/python3-annotated-types/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-annotated-types/template

diff --git a/srcpkgs/python3-annotated-types/template b/srcpkgs/python3-annotated-types/template
new file mode 100644
index 0000000000000..ca3900a990430
--- /dev/null
+++ b/srcpkgs/python3-annotated-types/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-annotated-types'
+pkgname=python3-annotated-types
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Reusable constraint types to use with typing.Annotated"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/annotated-types/annotated-types"
+distfiles="${PYPI_SITE}/a/annotated_types/annotated_types-${version}.tar.gz"
+checksum=563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d
+
+post_install() {
+	vlicense LICENSE
+}

From 0f8b11888ac6f6fc88f5035f824771f978458cb1 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:28:34 -0400
Subject: [PATCH 04/13] python3-email-validator: update to 2.0.0.

---
 srcpkgs/python3-email-validator/template | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-email-validator/template b/srcpkgs/python3-email-validator/template
index 69628ad1e35db..9534a0c875b59 100644
--- a/srcpkgs/python3-email-validator/template
+++ b/srcpkgs/python3-email-validator/template
@@ -1,20 +1,19 @@
 # Template file for 'python3-email-validator'
 pkgname=python3-email-validator
-version=1.3.0
-revision=3
+version=2.0.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3"
 depends="python3-idna python3-dnspython"
-checkdepends="python3-pytest"
+checkdepends="python3-pytest $depends"
 short_desc="Robust email address syntax and deliverability validation library"
 maintainer="DragonGhost7 <darkiridiumghost@gmail.com>"
 license="CC0-1.0"
 homepage="https://github.com/JoshData/python-email-validator"
 changelog="https://raw.githubusercontent.com/JoshData/python-email-validator/main/CHANGELOG.md"
 distfiles="https://github.com/JoshData/python-email-validator/archive/refs/tags/v${version}.tar.gz"
-checksum=1f5b38b5f6b8455468f2c557e887c442d455931ee1523c6eb40c6f7ce119d99b
-make_check=no #no tests folder is present in archives
+checksum=0cd656b4c2cba10bcb518808f800bdde74af0c01a2522a9d475b3b1954d98f01
 
 post_install() {
 	vlicense LICENSE

From 0c8c3b013ffa8211dae291d17fb9cb297ff75c95 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:37:46 -0400
Subject: [PATCH 05/13] python3-Faker: update to 19.11.0.

---
 srcpkgs/python3-Faker/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Faker/template b/srcpkgs/python3-Faker/template
index 8e8533c703913..f83a9b00daf74 100644
--- a/srcpkgs/python3-Faker/template
+++ b/srcpkgs/python3-Faker/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-Faker'
 pkgname=python3-Faker
-version=19.9.0
+version=19.11.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://faker.readthedocs.io/en/master/"
 changelog="https://github.com/joke2k/faker/raw/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/F/Faker/Faker-${version}.tar.gz"
-checksum=d75401c631a991b32d3595f26250f42c007cc32653ac3e522b626f3d80770571
+checksum=a62a3fd3bfa3122d4f57dfa26a1cc37d76751a76c8ddd63cf9d24078c57913a4
 
 post_install() {
 	vlicense LICENSE.txt

From 863e3d05b2f20dde598186705bd8558cc40aea99 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:47:01 -0400
Subject: [PATCH 06/13] python3-pydantic: update to 2.4.2.

---
 .../patches/drop-fancy-pypi-readme-dep.patch  | 38 +++++++++++++++++++
 srcpkgs/python3-pydantic/template             | 20 +++++-----
 2 files changed, 49 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch

diff --git a/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
new file mode 100644
index 0000000000000..6bc5bcf6f3321
--- /dev/null
+++ b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
@@ -0,0 +1,38 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index aba4d03..d2af96e 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ['hatchling', 'hatch-fancy-pypi-readme>=22.5.0']
++requires = ['hatchling']
+ build-backend = 'hatchling.build'
+ 
+ [tool.hatch.version]
+diff --git a/pyproject.toml b/pyproject.toml
+index d2af96e..5ccd6f6 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -128,22 +128,6 @@ Funding = 'https://github.com/sponsors/samuelcolvin'
+ Source = 'https://github.com/pydantic/pydantic'
+ Changelog = 'https://docs.pydantic.dev/latest/changelog/'
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = 'text/markdown'
+-# construct the PyPI readme from README.md and HISTORY.md
+-fragments = [
+-    {path = "README.md"},
+-    {text = "\n## Changelog\n\n"},
+-    {path = "HISTORY.md", pattern = "(.+?)<!-- package description limit -->"},
+-    {text = "\n... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes.\n"},
+-]
+-# convert GitHuB issue/PR numbers and handles to links
+-substitutions = [
+-    {pattern = '(\s+)#(\d+)', replacement = '\1[#\2](https://github.com/pydantic/pydantic/issues/\2)'},
+-    {pattern = '(\s+)@([\w\-]+)', replacement = '\1[@\2](https://github.com/\2)'},
+-    {pattern = '@@', replacement = '@'},
+-]
+-
+ [tool.pytest.ini_options]
+ testpaths = 'tests'
+ xfail_strict = true
diff --git a/srcpkgs/python3-pydantic/template b/srcpkgs/python3-pydantic/template
index 8a09f0e39bc1f..17333449bf64e 100644
--- a/srcpkgs/python3-pydantic/template
+++ b/srcpkgs/python3-pydantic/template
@@ -1,20 +1,22 @@
 # Template file for 'python3-pydantic'
 pkgname=python3-pydantic
-version=1.10.7
-revision=2
-build_style=python3-module
-# added to stop test failing due to DeprecationWarning on pkg_resources import
-make_check_args="-p no:warnings"
-hostmakedepends="python3-setuptools"
-depends="python3-typing_extensions"
-checkdepends="${depends} python3-pytest python3-pytest-mock"
+version=2.4.2
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples
+make_check_args="--ignore=tests/test_docs.py"
+hostmakedepends="hatchling"
+depends="python3-typing_extensions python3-annotated-types
+ python3-pydantic-core"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-mock python3-dirty-equals python3-Faker python3-email-validator"
 short_desc="Data parsing and validation using Python type hints"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="MIT"
 homepage="https://github.com/pydantic/pydantic"
 changelog="https://raw.githubusercontent.com/pydantic/pydantic/main/HISTORY.md"
 distfiles="${PYPI_SITE}/p/pydantic/pydantic-${version}.tar.gz"
-checksum=cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e
+checksum=94f336138093a5d7f426aac732dcfe7ab4eb4da243c88f891d65deb4a2556ee7
 
 post_install() {
 	vlicense LICENSE

From 0d63130e6821ba5d25ad5a799423a04999970ed9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 17:05:27 -0400
Subject: [PATCH 07/13] python3-inflect: update to 7.0.0.

---
 srcpkgs/python3-inflect/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-inflect/template b/srcpkgs/python3-inflect/template
index 15b16a0da04bd..e83b21c359d04 100644
--- a/srcpkgs/python3-inflect/template
+++ b/srcpkgs/python3-inflect/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-inflect'
 pkgname=python3-inflect
-version=6.0.4
-revision=2
+version=7.0.0
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-wheel python3-setuptools_scm"
 depends="python3-pydantic"
@@ -10,9 +10,10 @@ short_desc="Correctly generate plurals, ordinals; convert numbers to words"
 maintainer="icp <pangolin@vivaldi.net>"
 license="MIT"
 homepage="https://github.com/jaraco/inflect"
-changelog="https://raw.githubusercontent.com/jaraco/inflect/main/CHANGES.rst"
+changelog="https://raw.githubusercontent.com/jaraco/inflect/main/NEWS.rst"
 distfiles="${PYPI_SITE}/i/inflect/inflect-${version}.tar.gz"
-checksum=1842649a17b6cad66812a5c9bdfacb6310e1e7b6dd8a31f026766df1b62612eb
+checksum=63da9325ad29da81ec23e055b41225795ab793b4ecb483be5dc1fa363fd4717e
+make_check_pre="env PY_IGNORE_IMPORTMISMATCH=1"
 
 post_install() {
 	vlicense LICENSE

From db0a7ff036e742e8510678b4b402f1f2ec50d633 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 08/13] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From f984279f4e51bdbccf587a52c2549a40b1cec3a9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 09/13] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From a8725a02768b175a1dd7c39fdff5c9c3992ec237 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 10/13] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From 817f2b74eda2a607e5160acb274cc16c35ab420b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 11/13] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From d9084d5a7b0c344c059aefa87a4e5c3fe13668c2 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:42:47 -0400
Subject: [PATCH 12/13] python3-saml2: revbump for python3-xmlschema-2.5.0

---
 srcpkgs/python3-saml2/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-saml2/template b/srcpkgs/python3-saml2/template
index 85305b27624eb..6b02def15c1f6 100644
--- a/srcpkgs/python3-saml2/template
+++ b/srcpkgs/python3-saml2/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-saml2'
 pkgname=python3-saml2
 version=7.4.2
-revision=2
+revision=3
 build_style=python3-pep517
 make_check_args="--ignore=tests/test_36_mdbcache.py \
  --ignore=tests/test_75_mongodb.py \

From bcff8fec81e4b26d5417e06776d2a3c152896691 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 13/13] synapse: update to 1.94.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..2debfb17108bd 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.94.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=79b58ded77b6b6fdb482c74dc315d813a1ba423f496fbf471bb9e1cda676e5d9
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (6 preceding siblings ...)
  2023-10-19 12:44 ` TinfoilSubmarine
@ 2023-10-19 12:49 ` TinfoilSubmarine
  2023-10-24 14:10 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-19 12:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 313 bytes --]

New review comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1365474936

Comment:
Here's [the test failure log](https://gist.github.com/TinfoilSubmarine/a35c0045f0e20f60e073d5cebe8e7ee4), I added the commit back so I can continue testing.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (7 preceding siblings ...)
  2023-10-19 12:49 ` [PR REVIEW] " TinfoilSubmarine
@ 2023-10-24 14:10 ` TinfoilSubmarine
  2023-10-25 11:31 ` Piraty
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-24 14:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 42361 bytes --]

From 788c5769a5f1d9269f34c43ac830d9a5ec8aa69d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:41:12 -0400
Subject: [PATCH 01/13] New package: python3-dirty-equals-0.6.0

---
 .../patches/no-pytest-filterwarnings.patch    | 12 +++++++++++
 srcpkgs/python3-dirty-equals/template         | 21 +++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
 create mode 100644 srcpkgs/python3-dirty-equals/template

diff --git a/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch b/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
new file mode 100644
index 0000000000000..e9ff2cc4a4cb2
--- /dev/null
+++ b/srcpkgs/python3-dirty-equals/patches/no-pytest-filterwarnings.patch
@@ -0,0 +1,12 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 1b8ff7a..3a753ac 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -59,7 +59,6 @@ target-version = 'py37'
+ 
+ [tool.pytest.ini_options]
+ testpaths = "tests"
+-filterwarnings = "error"
+ 
+ [tool.coverage.run]
+ source = ["dirty_equals"]
diff --git a/srcpkgs/python3-dirty-equals/template b/srcpkgs/python3-dirty-equals/template
new file mode 100644
index 0000000000000..4e0be610d2621
--- /dev/null
+++ b/srcpkgs/python3-dirty-equals/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-dirty-equals'
+pkgname=python3-dirty-equals
+version=0.6.0
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples and circular dependency on pydantic
+make_check_args="--ignore=tests/test_docs.py --ignore=tests/test_other.py"
+hostmakedepends="hatchling"
+depends="python3-pytz"
+checkdepends="${depends} python3-pytest"
+short_desc="Doing dirty (but extremely useful) things with equals"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/samuelcolvin/dirty-equals"
+changelog="https://github.com/samuelcolvin/dirty-equals/releases"
+distfiles="${PYPI_SITE}/d/dirty_equals/dirty_equals-${version}.tar.gz"
+checksum=4c4e4b9b52670ad8b880c46734e5ffc52e023250ae817398b78b30e329c3955d
+
+post_install() {
+	vlicense LICENSE
+}

From de3a1d63adb18bfdd4f99bab903f4f369d41204c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:42:50 -0400
Subject: [PATCH 02/13] New package: python3-pydantic-core-2.11.0

---
 srcpkgs/python3-pydantic-core/template | 36 ++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 srcpkgs/python3-pydantic-core/template

diff --git a/srcpkgs/python3-pydantic-core/template b/srcpkgs/python3-pydantic-core/template
new file mode 100644
index 0000000000000..e345f6a6ed168
--- /dev/null
+++ b/srcpkgs/python3-pydantic-core/template
@@ -0,0 +1,36 @@
+# Template file for 'python3-pydantic-core'
+pkgname=python3-pydantic-core
+version=2.11.0
+revision=1
+build_style=python3-pep517
+build_helper=rust
+hostmakedepends="maturin cargo"
+makedepends="python3-typing_extensions"
+depends="python3-typing_extensions"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-timeout python3-pytest-mock python3-hypothesis
+ python3-dirty-equals"
+short_desc="Core functionality for pydantic-core validation and serialization"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/pydantic/pydantic-core"
+distfiles="${PYPI_SITE}/p/pydantic_core/pydantic_core-${version}.tar.gz"
+checksum=55c6d7fdc94a98e0551870774e27be1ec5cd847230015463853d27a73b05ba13
+
+# taken from python3-adblock
+if [ "$CROSS_BUILD" ]; then
+	makedepends+=" rust-std"
+	hostmakedepends+=" python3-typing_extensions"
+	export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
+	export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
+fi
+
+do_build() {
+	maturin build -o . --release --target "${RUST_TARGET}" --manylinux off
+	mkdir -p dist
+	mv pydantic_core-${version}-*.whl dist/pydantic_core-${version}-py3-none-any.whl
+}
+
+post_install() {
+	vlicense LICENSE
+}

From 8177eaa02c58b4c4f31cbdd667ffd2110dd92325 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:14:36 -0400
Subject: [PATCH 03/13] New package: python3-annotated-types-0.6.0

---
 srcpkgs/python3-annotated-types/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-annotated-types/template

diff --git a/srcpkgs/python3-annotated-types/template b/srcpkgs/python3-annotated-types/template
new file mode 100644
index 0000000000000..ca3900a990430
--- /dev/null
+++ b/srcpkgs/python3-annotated-types/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-annotated-types'
+pkgname=python3-annotated-types
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Reusable constraint types to use with typing.Annotated"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="MIT"
+homepage="https://github.com/annotated-types/annotated-types"
+distfiles="${PYPI_SITE}/a/annotated_types/annotated_types-${version}.tar.gz"
+checksum=563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d
+
+post_install() {
+	vlicense LICENSE
+}

From 016afba16463f47c765fc79b62769394b842377b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:28:34 -0400
Subject: [PATCH 04/13] python3-email-validator: update to 2.0.0.

---
 srcpkgs/python3-email-validator/template | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-email-validator/template b/srcpkgs/python3-email-validator/template
index 69628ad1e35db..9534a0c875b59 100644
--- a/srcpkgs/python3-email-validator/template
+++ b/srcpkgs/python3-email-validator/template
@@ -1,20 +1,19 @@
 # Template file for 'python3-email-validator'
 pkgname=python3-email-validator
-version=1.3.0
-revision=3
+version=2.0.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3"
 depends="python3-idna python3-dnspython"
-checkdepends="python3-pytest"
+checkdepends="python3-pytest $depends"
 short_desc="Robust email address syntax and deliverability validation library"
 maintainer="DragonGhost7 <darkiridiumghost@gmail.com>"
 license="CC0-1.0"
 homepage="https://github.com/JoshData/python-email-validator"
 changelog="https://raw.githubusercontent.com/JoshData/python-email-validator/main/CHANGELOG.md"
 distfiles="https://github.com/JoshData/python-email-validator/archive/refs/tags/v${version}.tar.gz"
-checksum=1f5b38b5f6b8455468f2c557e887c442d455931ee1523c6eb40c6f7ce119d99b
-make_check=no #no tests folder is present in archives
+checksum=0cd656b4c2cba10bcb518808f800bdde74af0c01a2522a9d475b3b1954d98f01
 
 post_install() {
 	vlicense LICENSE

From 90b1fad15288edc1785a2ad33d72c5531cdd70eb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:37:46 -0400
Subject: [PATCH 05/13] python3-Faker: update to 19.11.0.

---
 srcpkgs/python3-Faker/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Faker/template b/srcpkgs/python3-Faker/template
index 8e8533c703913..f83a9b00daf74 100644
--- a/srcpkgs/python3-Faker/template
+++ b/srcpkgs/python3-Faker/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-Faker'
 pkgname=python3-Faker
-version=19.9.0
+version=19.11.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://faker.readthedocs.io/en/master/"
 changelog="https://github.com/joke2k/faker/raw/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/F/Faker/Faker-${version}.tar.gz"
-checksum=d75401c631a991b32d3595f26250f42c007cc32653ac3e522b626f3d80770571
+checksum=a62a3fd3bfa3122d4f57dfa26a1cc37d76751a76c8ddd63cf9d24078c57913a4
 
 post_install() {
 	vlicense LICENSE.txt

From dc2b7f2453f0797248af6c4b04278e4da0e1a4da Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 16:47:01 -0400
Subject: [PATCH 06/13] python3-pydantic: update to 2.4.2.

---
 .../patches/drop-fancy-pypi-readme-dep.patch  | 38 +++++++++++++++++++
 srcpkgs/python3-pydantic/template             | 20 +++++-----
 2 files changed, 49 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch

diff --git a/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
new file mode 100644
index 0000000000000..6bc5bcf6f3321
--- /dev/null
+++ b/srcpkgs/python3-pydantic/patches/drop-fancy-pypi-readme-dep.patch
@@ -0,0 +1,38 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index aba4d03..d2af96e 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ['hatchling', 'hatch-fancy-pypi-readme>=22.5.0']
++requires = ['hatchling']
+ build-backend = 'hatchling.build'
+ 
+ [tool.hatch.version]
+diff --git a/pyproject.toml b/pyproject.toml
+index d2af96e..5ccd6f6 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -128,22 +128,6 @@ Funding = 'https://github.com/sponsors/samuelcolvin'
+ Source = 'https://github.com/pydantic/pydantic'
+ Changelog = 'https://docs.pydantic.dev/latest/changelog/'
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = 'text/markdown'
+-# construct the PyPI readme from README.md and HISTORY.md
+-fragments = [
+-    {path = "README.md"},
+-    {text = "\n## Changelog\n\n"},
+-    {path = "HISTORY.md", pattern = "(.+?)<!-- package description limit -->"},
+-    {text = "\n... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes.\n"},
+-]
+-# convert GitHuB issue/PR numbers and handles to links
+-substitutions = [
+-    {pattern = '(\s+)#(\d+)', replacement = '\1[#\2](https://github.com/pydantic/pydantic/issues/\2)'},
+-    {pattern = '(\s+)@([\w\-]+)', replacement = '\1[@\2](https://github.com/\2)'},
+-    {pattern = '@@', replacement = '@'},
+-]
+-
+ [tool.pytest.ini_options]
+ testpaths = 'tests'
+ xfail_strict = true
diff --git a/srcpkgs/python3-pydantic/template b/srcpkgs/python3-pydantic/template
index 8a09f0e39bc1f..17333449bf64e 100644
--- a/srcpkgs/python3-pydantic/template
+++ b/srcpkgs/python3-pydantic/template
@@ -1,20 +1,22 @@
 # Template file for 'python3-pydantic'
 pkgname=python3-pydantic
-version=1.10.7
-revision=2
-build_style=python3-module
-# added to stop test failing due to DeprecationWarning on pkg_resources import
-make_check_args="-p no:warnings"
-hostmakedepends="python3-setuptools"
-depends="python3-typing_extensions"
-checkdepends="${depends} python3-pytest python3-pytest-mock"
+version=2.4.2
+revision=1
+build_style=python3-pep517
+# requires unpackaged pytest-examples
+make_check_args="--ignore=tests/test_docs.py"
+hostmakedepends="hatchling"
+depends="python3-typing_extensions python3-annotated-types
+ python3-pydantic-core"
+checkdepends="${depends} python3-pytest python3-pytest-benchmark
+ python3-pytest-mock python3-dirty-equals python3-Faker python3-email-validator"
 short_desc="Data parsing and validation using Python type hints"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="MIT"
 homepage="https://github.com/pydantic/pydantic"
 changelog="https://raw.githubusercontent.com/pydantic/pydantic/main/HISTORY.md"
 distfiles="${PYPI_SITE}/p/pydantic/pydantic-${version}.tar.gz"
-checksum=cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e
+checksum=94f336138093a5d7f426aac732dcfe7ab4eb4da243c88f891d65deb4a2556ee7
 
 post_install() {
 	vlicense LICENSE

From 0153f53cb60f4ca5a2517a15aa35796d4699b1cb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 22 Aug 2023 17:05:27 -0400
Subject: [PATCH 07/13] python3-inflect: update to 7.0.0.

---
 srcpkgs/python3-inflect/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-inflect/template b/srcpkgs/python3-inflect/template
index 15b16a0da04bd..e83b21c359d04 100644
--- a/srcpkgs/python3-inflect/template
+++ b/srcpkgs/python3-inflect/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-inflect'
 pkgname=python3-inflect
-version=6.0.4
-revision=2
+version=7.0.0
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-wheel python3-setuptools_scm"
 depends="python3-pydantic"
@@ -10,9 +10,10 @@ short_desc="Correctly generate plurals, ordinals; convert numbers to words"
 maintainer="icp <pangolin@vivaldi.net>"
 license="MIT"
 homepage="https://github.com/jaraco/inflect"
-changelog="https://raw.githubusercontent.com/jaraco/inflect/main/CHANGES.rst"
+changelog="https://raw.githubusercontent.com/jaraco/inflect/main/NEWS.rst"
 distfiles="${PYPI_SITE}/i/inflect/inflect-${version}.tar.gz"
-checksum=1842649a17b6cad66812a5c9bdfacb6310e1e7b6dd8a31f026766df1b62612eb
+checksum=63da9325ad29da81ec23e055b41225795ab793b4ecb483be5dc1fa363fd4717e
+make_check_pre="env PY_IGNORE_IMPORTMISMATCH=1"
 
 post_install() {
 	vlicense LICENSE

From 85f1ec8739be36ee368969b94b23bcf21400a4c6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 08/13] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 0869dcea7706a3f5cc59aa0be800187897676f28 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 09/13] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From 963afc35102c08cc1292e80ab6e6fbd56a39c34e Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 10/13] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From e7e3e89a1e97451081f3be432a98c4d5d5bef5a8 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 19:18:11 -0400
Subject: [PATCH 11/13] python3-xmlschema: update to 2.5.0.

---
 srcpkgs/python3-xmlschema/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-xmlschema/template b/srcpkgs/python3-xmlschema/template
index 6f4d3be9d137f..37a3e42cf58f1 100644
--- a/srcpkgs/python3-xmlschema/template
+++ b/srcpkgs/python3-xmlschema/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-xmlschema'
 pkgname=python3-xmlschema
-version=2.1.1
-revision=2
+version=2.5.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-elementpath"
 depends="python3-elementpath"
-checkdepends="python3-lxml python3-Sphinx python3-pytest"
+checkdepends="python3-lxml python3-Sphinx python3-pytest
+ python3-typing_extensions"
 short_desc="XML Schema validator and decoder for Python"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/sissaschool/xmlschema"
 distfiles="${PYPI_SITE}/x/xmlschema/xmlschema-${version}.tar.gz"
-checksum=5ca34ff15dd3276cfb2e3e7b4c8dde4b7d4d27080f333a93b6c3f817e90abddf
+checksum=276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454
 
 post_install() {
 	vlicense LICENSE

From 648f68dd1bf404e5ff21edb3e3a70d6ad026e3ef Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 19 Oct 2023 08:42:47 -0400
Subject: [PATCH 12/13] python3-saml2: revbump for python3-xmlschema-2.5.0

---
 srcpkgs/python3-saml2/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-saml2/template b/srcpkgs/python3-saml2/template
index 85305b27624eb..6b02def15c1f6 100644
--- a/srcpkgs/python3-saml2/template
+++ b/srcpkgs/python3-saml2/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-saml2'
 pkgname=python3-saml2
 version=7.4.2
-revision=2
+revision=3
 build_style=python3-pep517
 make_check_args="--ignore=tests/test_36_mdbcache.py \
  --ignore=tests/test_75_mongodb.py \

From 4a64b89353d3eacf73e9e5637e1484591d51298d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 13/13] synapse: update to 1.95.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..c1b0da80b578f 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.95.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=35367987c886f4e55c6aadbaffdfb349d50c9fd104f07010e27aa46b10661259
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (8 preceding siblings ...)
  2023-10-24 14:10 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-10-25 11:31 ` Piraty
  2023-10-25 11:31 ` [PR REVIEW] " Piraty
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-25 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 204 bytes --]

New comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#issuecomment-1779063911

Comment:
in general, keep changes unrelated to the PR out of the branch 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (9 preceding siblings ...)
  2023-10-25 11:31 ` Piraty
@ 2023-10-25 11:31 ` Piraty
  2023-10-25 11:31 ` Piraty
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-25 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

New review comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1371570479

Comment:
i pushed c9325d633ebbacf473c8c90a7caca3ebf15d5a2e so it shouldn't be an issue

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (11 preceding siblings ...)
  2023-10-25 11:31 ` Piraty
@ 2023-10-25 11:31 ` Piraty
  2023-10-25 12:08 ` [PR PATCH] [Updated] " TinfoilSubmarine
  2023-10-25 12:53 ` [PR PATCH] [Merged]: synapse: update to 1.95.0 Piraty
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-25 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 405 bytes --]

New review comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1370983236

Comment:
did you check that all other packages using pydantic still work?
synapse should not require pydantic2 (see https://github.com/matrix-org/synapse/blob/79f48b2b4fd6a90d919dc64f5a8d393c50cd5652/pyproject.toml#L215)
bumping pydantic to 2 seems worth its own PR

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR REVIEW] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (10 preceding siblings ...)
  2023-10-25 11:31 ` [PR REVIEW] " Piraty
@ 2023-10-25 11:31 ` Piraty
  2023-10-25 11:31 ` Piraty
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-25 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 424 bytes --]

New review comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/46648#discussion_r1370993522

Comment:
see: https://github.com/sissaschool/xmlschema/commit/62e317e210e11241cd3460c0a5a4aceb3c663b9a
it is not a matter of rebuilding saml2 but updating xmlschema .the issue here is an ordering problem, as xmlschema isn't built before synapse, thus the synapse build uses the old one

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Updated] synapse: update to 1.94.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (12 preceding siblings ...)
  2023-10-25 11:31 ` Piraty
@ 2023-10-25 12:08 ` TinfoilSubmarine
  2023-10-25 12:53 ` [PR PATCH] [Merged]: synapse: update to 1.95.0 Piraty
  14 siblings, 0 replies; 16+ messages in thread
From: TinfoilSubmarine @ 2023-10-25 12:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/synapse
https://github.com/void-linux/void-packages/pull/46648

synapse: update to 1.94.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46648.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/synapse-46648.patch --]
[-- Type: text/x-diff, Size: 27172 bytes --]

From b8fac5e0c4161415461f0bfea35c23529c5ce1ca Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 13:31:37 -0400
Subject: [PATCH 1/4] python3-phonenumbers: update to 8.13.22.

---
 srcpkgs/python3-phonenumbers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index 308c5ef75d3b5..3061b0099c431 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.13.20
-revision=2
+version=8.13.22
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
@@ -11,4 +11,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=bf2b35a806d37979e5361109429da46d9a047e59d9af98639d733c834e7dab22
+checksum=001664c90f59b8954766c2db85adafc8dbc96177efeb49607ca4e64a7acaf569

From 4c789aad945c759738b8307e53c2bde6c6c77340 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 15:35:58 -0400
Subject: [PATCH 2/4] python3-incremental: update to 22.10.0.

---
 srcpkgs/python3-incremental/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-incremental/template b/srcpkgs/python3-incremental/template
index b1d3340d68bd3..2d4db7dbc1537 100644
--- a/srcpkgs/python3-incremental/template
+++ b/srcpkgs/python3-incremental/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-incremental'
 pkgname=python3-incremental
-version=21.3.0
-revision=3
+version=22.10.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="python3-pytest python3-Twisted python3-click"
 short_desc="Small library that versions your Python projects (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/twisted/incremental"
 changelog="https://raw.githubusercontent.com/twisted/incremental/trunk/NEWS.rst"
 distfiles="${PYPI_SITE}/i/incremental/incremental-${version}.tar.gz"
-checksum=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+checksum=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
+make_check=no # cyclic dependency with Twisted
 
 post_install() {
 	vlicense LICENSE

From dedbf76d813d01a9770ffb3b896607ae46865e4d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 12 Oct 2023 17:33:57 -0400
Subject: [PATCH 3/4] python3-Twisted: update to 23.8.0.

---
 .../patches/drop-fancy-pypi-readme.patch      |  33 +++
 .../patches/fix-test_format.patch             | 155 +++++++++++
 .../python3-Twisted/patches/python3.11.patch  | 258 ------------------
 .../patches/sendmail_getargspec.patch         |  32 ---
 srcpkgs/python3-Twisted/template              |  35 +--
 5 files changed, 207 insertions(+), 306 deletions(-)
 create mode 100644 srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
 create mode 100644 srcpkgs/python3-Twisted/patches/fix-test_format.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/python3.11.patch
 delete mode 100644 srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch

diff --git a/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
new file mode 100644
index 0000000000000..19f61aeb06533
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/drop-fancy-pypi-readme.patch
@@ -0,0 +1,33 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 59b1d48..51f1ac8 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "hatchling >= 1.10.0",
+-    "hatch-fancy-pypi-readme >= 22.5.0",
+     "incremental >= 22.10.0",
+ ]
+ build-backend = "hatchling.build"
+@@ -172,20 +172,6 @@ source = "code"
+ path = "src/twisted/__init__.py"
+ search-paths = ["src"]
+ 
+-[tool.hatch.metadata.hooks.fancy-pypi-readme]
+-content-type = "text/x-rst"
+-fragments = [
+-    { path = "README.rst" },
+-]
+-
+-[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
+-# Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
+-# location on GitHub so that they function when the long description is
+-# displayed on PyPI.
+-pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
+-replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
+-ignore-case = true
+-
+ [tool.hatch.build.targets.wheel]
+ packages = [
+     "src/twisted",
diff --git a/srcpkgs/python3-Twisted/patches/fix-test_format.patch b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
new file mode 100644
index 0000000000000..74a79effe5786
--- /dev/null
+++ b/srcpkgs/python3-Twisted/patches/fix-test_format.patch
@@ -0,0 +1,155 @@
+From da3bf3dc29f067e7019b2a1c205834ab64b2139a Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 9 Dec 2022 10:16:42 -0800
+Subject: [PATCH 1/3] #11786 fix misuse of mktime in tests
+
+---
+ src/twisted/logger/test/test_format.py | 27 +++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index dbfbe1af1ae..0671b6662c8 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -166,16 +166,17 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+             setTZ(name)
+ 
+-            localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
+-
+-            self.assertEqual(formatTime(localDST), expectedDST)
+             self.assertEqual(formatTime(localSTD), expectedSTD)
+ 
++            if expectedDST:
++                localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
++                self.assertEqual(formatTime(localDST), expectedDST)
++
+         # UTC
+         testForTimeZone(
+             "UTC+00",
+-            "2006-06-30T00:00:00+0000",
++            None,
+             "2007-01-31T00:00:00+0000",
+         )
+ 
+@@ -196,7 +197,7 @@ def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
+         # No DST
+         testForTimeZone(
+             "CST+06",
+-            "2006-06-30T00:00:00-0600",
++            None,
+             "2007-01-31T00:00:00-0600",
+         )
+ 
+@@ -211,7 +212,7 @@ def test_formatTimeWithNoFormat(self) -> None:
+         """
+         If C{timeFormat} argument is L{None}, we get the default output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat=None), "-")
+         self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
+ 
+@@ -219,7 +220,7 @@ def test_formatTimeWithAlternateTimeFormat(self) -> None:
+         """
+         Alternate time format in output.
+         """
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
+ 
+     def test_formatTimePercentF(self) -> None:
+@@ -246,7 +247,7 @@ def test_formatTimeDefault(self) -> None:
+         addTZCleanup(self)
+         setTZ("UTC+00")
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event = dict(log_format="XYZZY", log_time=t)
+         self.assertEqual(
+             formatEventAsClassicLogText(event),
+@@ -539,7 +540,7 @@ def test_eventAsTextSystemOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -573,7 +574,7 @@ def test_eventAsTextTimestampOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_system": "fake_system",
+@@ -601,7 +602,7 @@ def test_eventAsTextSystemMissing(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -628,7 +629,7 @@ def test_eventAsTextSystemMissingNamespaceAndLevel(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+@@ -657,7 +658,7 @@ def test_eventAsTextSystemMissingLevelOnly(self) -> None:
+         except CapturedError:
+             f = Failure()
+ 
+-        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
++        t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
+         event: LogEvent = {
+             "log_format": "ABCD",
+             "log_time": t,
+
+From 29e6f71b536822aa397983a5b84bc5098e10f92d Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:11:36 -0700
+Subject: [PATCH 2/3] news fragment
+
+---
+ src/twisted/newsfragments/11787.misc | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 src/twisted/newsfragments/11787.misc
+
+diff --git a/src/twisted/newsfragments/11787.misc b/src/twisted/newsfragments/11787.misc
+new file mode 100644
+index 00000000000..e69de29bb2d
+
+From b696cf9662ddbd7840ded2d9caab0a0bbb7fd386 Mon Sep 17 00:00:00 2001
+From: Glyph <code@glyph.im>
+Date: Thu, 31 Aug 2023 15:17:00 -0700
+Subject: [PATCH 3/3] add Optional annotation
+
+---
+ src/twisted/logger/test/test_format.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/twisted/logger/test/test_format.py b/src/twisted/logger/test/test_format.py
+index 0671b6662c8..67dbf0ce784 100644
+--- a/src/twisted/logger/test/test_format.py
++++ b/src/twisted/logger/test/test_format.py
+@@ -163,7 +163,9 @@ def test_formatTimeWithDefaultFormat(self) -> None:
+         if tzset is None:
+             raise SkipTest("Platform cannot change timezone; unable to verify offsets.")
+ 
+-        def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
++        def testForTimeZone(
++            name: str, expectedDST: Optional[str], expectedSTD: str
++        ) -> None:
+             setTZ(name)
+ 
+             localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
diff --git a/srcpkgs/python3-Twisted/patches/python3.11.patch b/srcpkgs/python3-Twisted/patches/python3.11.patch
deleted file mode 100644
index d4f2de447b0f7..0000000000000
--- a/srcpkgs/python3-Twisted/patches/python3.11.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 4f6d7fb0749429b092fe7538a7d2b11fe58319a6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 20:35:55 -0500
-Subject: [PATCH 02/12] fix twisted.persisted tests
-
----
- src/twisted/persisted/aot.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/persisted/aot.py b/src/twisted/persisted/aot.py
-index 0daeb3b4c85..204728058cd 100644
---- a/src/twisted/persisted/aot.py
-+++ b/src/twisted/persisted/aot.py
-@@ -399,8 +399,10 @@ def unjellyAO(self, ao):
-                 inst = klass.__new__(klass)
-                 if hasattr(klass, "__setstate__"):
-                     self.callAfter(inst.__setstate__, state)
--                else:
-+                elif isinstance(state, dict):
-                     inst.__dict__ = state
-+                else:
-+                    inst.__dict__ = state.__getstate__()
-                 return inst
- 
-             elif c is Ref:
-
-From 525377178adfa987ed56be753aec0fce35d721dc Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 2 Nov 2022 21:35:58 -0500
-Subject: [PATCH 03/12] fix tests for twisted.spread
-
----
- src/twisted/spread/flavors.py | 2 ++
- src/twisted/spread/jelly.py   | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/spread/flavors.py b/src/twisted/spread/flavors.py
-index 77c974195aa..a4fcd2126b6 100644
---- a/src/twisted/spread/flavors.py
-+++ b/src/twisted/spread/flavors.py
-@@ -398,6 +398,8 @@ def setCopyableState(self, state):
-         object's dictionary (or a filtered approximation of it depending
-         on my peer's perspective).
-         """
-+        if not state:
-+            state = {}
-         state = {
-             x.decode("utf8") if isinstance(x, bytes) else x: y for x, y in state.items()
-         }
-diff --git a/src/twisted/spread/jelly.py b/src/twisted/spread/jelly.py
-index 7e1b4d254bd..46cda178448 100644
---- a/src/twisted/spread/jelly.py
-+++ b/src/twisted/spread/jelly.py
-@@ -154,7 +154,8 @@ def _newInstance(cls, state):
-     instance = _createBlank(cls)
- 
-     def defaultSetter(state):
--        instance.__dict__ = state
-+        if isinstance(state, dict):
-+            instance.__dict__ = state or {}
- 
-     setter = getattr(instance, "__setstate__", defaultSetter)
-     setter(state)
-
-From afcc224a02f72e5d12fa35d223bd753e8086b135 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 21:12:31 -0500
-Subject: [PATCH 04/12] fix test for twisted.web
-
----
- src/twisted/web/test/test_flatten.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index e10eb06c22f..ad8c58576c3 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -706,9 +706,10 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                     Exception while flattening:
-                       \\[<unrenderable>\\]
-                       <unrenderable>
--                      .*
-+                      <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
-                         element = await element
-+                                  .*
-                     RuntimeError: example
-                     """
-                 ),
-
-From 4b5ab38b09b326cec7967e04bd4cae8a84bb6784 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 22:05:54 -0500
-Subject: [PATCH 05/12] fix persisted tests in twisted.test
-
----
- src/twisted/test/test_persisted.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/twisted/test/test_persisted.py b/src/twisted/test/test_persisted.py
-index eedbbdac647..72354b33f38 100644
---- a/src/twisted/test/test_persisted.py
-+++ b/src/twisted/test/test_persisted.py
-@@ -378,6 +378,10 @@ class UnknownType:
-             def __dict__(self):
-                 raise AttributeError()
- 
-+            @property
-+            def __getstate__(self):
-+                raise AttributeError()
-+
-         self.assertRaises(TypeError, aot.jellyToSource, UnknownType())
- 
-     def test_basicIdentity(self):
-
-From f8f56d45113e5f2467a5e8375186e5db6309dfc6 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:09:15 -0500
-Subject: [PATCH 06/12] fix twisted.trial tests
-
----
- src/twisted/trial/test/test_pyunitcompat.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/twisted/trial/test/test_pyunitcompat.py b/src/twisted/trial/test/test_pyunitcompat.py
-index e8321c9cc6c..1ad4b5ebcf3 100644
---- a/src/twisted/trial/test/test_pyunitcompat.py
-+++ b/src/twisted/trial/test/test_pyunitcompat.py
-@@ -218,8 +218,10 @@ def test_tracebackFromCleanFailure(self):
-         pyresult = pyunit.TestResult()
-         result = PyUnitResultAdapter(pyresult)
-         result.addError(self, f)
-+        tback = "".join(traceback.format_exception(*exc_info))
-         self.assertEqual(
--            pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info))
-+            pyresult.errors[0][1].endswith("ZeroDivisionError: division by zero\n"),
-+            tback.endswith("ZeroDivisionError: division by zero\n"),
-         )
- 
-     def test_trialSkip(self):
-
-From d91675ac5ffe907fcdbb3d1cedb1240008d81fd1 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:15:55 -0500
-Subject: [PATCH 07/12] make test_flatten backwards-compatible
-
----
- src/twisted/web/test/test_flatten.py | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ad8c58576c3..1070f767563 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -708,9 +708,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                       <unrenderable>
-                       <Deferred at .* current result: <twisted.python.failure.Failure builtins.RuntimeError: example>>
-                       File ".*", line \\d*, in _flattenTree
--                        element = await element
--                                  .*
--                    RuntimeError: example
-+                        element = await element.*
-                     """
-                 ),
-                 flags=re.MULTILINE,
-
-From 603c61978ff18920ce7a133d9a0e5761ad8fcc19 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Thu, 3 Nov 2022 23:23:15 -0500
-Subject: [PATCH 08/12] add newsfragment
-
----
- src/twisted/newsfragments/10343.misc | 1 +
- 1 file changed, 1 insertion(+)
- create mode 100644 src/twisted/newsfragments/10343.misc
-
-diff --git a/src/twisted/newsfragments/10343.misc b/src/twisted/newsfragments/10343.misc
-new file mode 100644
-index 00000000000..3930e5bd729
---- /dev/null
-+++ b/src/twisted/newsfragments/10343.misc
-@@ -0,0 +1 @@
-+Enable Python 3.11 for CI and fix the remaining broken tests.
-
-From 800f9e9372b993356e22104d8295a89d4ee5fac4 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:16:05 -0500
-Subject: [PATCH 09/12] PR feedback
-
----
- .github/workflows/test.yaml             | 13 -------------
- src/twisted/newsfragments/10343.feature |  1 +
- src/twisted/newsfragments/10343.misc    |  1 -
- src/twisted/web/test/test_flatten.py    |  1 +
- 4 files changed, 2 insertions(+), 14 deletions(-)
- create mode 100644 src/twisted/newsfragments/10343.feature
- delete mode 100644 src/twisted/newsfragments/10343.misc
-
-@@ -1 +0,0 @@
--Enable Python 3.11 for CI and fix the remaining broken tests.
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 1070f767563..ea6aa4a966a 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,6 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
-+        self.assertTrue('RuntimeError: example' in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From 6b069e1de60d00b658c04b8d330ab399c912a6d7 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 15:36:26 -0500
-Subject: [PATCH 10/12] run linter
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index ea6aa4a966a..8c0d14be8f4 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue('RuntimeError: example' in str(failure.value))
-+        self.assertTrue("RuntimeError: example" in str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
-
-From fe8e9565e6dbcfea5258a69b098001ddd1479e4f Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Fri, 4 Nov 2022 19:10:20 -0500
-Subject: [PATCH 11/12] use assertIn vs assertTrue
-
----
- src/twisted/web/test/test_flatten.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/twisted/web/test/test_flatten.py b/src/twisted/web/test/test_flatten.py
-index 8c0d14be8f4..ad431312edb 100644
---- a/src/twisted/web/test/test_flatten.py
-+++ b/src/twisted/web/test/test_flatten.py
-@@ -714,7 +714,7 @@ def render(self, request: Optional[IRequest]) -> Flattenable:
-                 flags=re.MULTILINE,
-             ),
-         )
--        self.assertTrue("RuntimeError: example" in str(failure.value))
-+        self.assertIn("RuntimeError: example", str(failure.value))
-         # The original exception is unmodified and will be logged separately if
-         # unhandled.
-         self.failureResultOf(failing, RuntimeError)
diff --git a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch b/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
deleted file mode 100644
index 9a601544d4ba4..0000000000000
--- a/srcpkgs/python3-Twisted/patches/sendmail_getargspec.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 00bf5be704bee022ba4d9b24eb6c2c768b4a1921 Mon Sep 17 00:00:00 2001
-From: eevel <eevel@weezel3.weezelnet>
-Date: Wed, 26 Oct 2022 19:49:33 -0500
-Subject: [PATCH] fix sendmail tests for python 3.11
-
----
- src/twisted/mail/test/test_smtp.py   | 3 ++-
- src/twisted/newsfragments/10345.misc | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10345.misc
-
-diff --git a/src/twisted/mail/test/test_smtp.py b/src/twisted/mail/test/test_smtp.py
-index 906eeaad410..4c1885935e4 100644
---- a/src/twisted/mail/test/test_smtp.py
-+++ b/src/twisted/mail/test/test_smtp.py
-@@ -1771,7 +1771,8 @@ def test_defaultReactorIsGlobalReactor(self):
-         The default C{reactor} parameter of L{twisted.mail.smtp.sendmail} is
-         L{twisted.internet.reactor}.
-         """
--        args, varArgs, keywords, defaults = inspect.getargspec(smtp.sendmail)
-+        fullSpec = inspect.getfullargspec(smtp.sendmail)
-+        defaults = fullSpec[3]
-         self.assertEqual(reactor, defaults[2])
- 
-     def _honorsESMTPArguments(self, username, password):
-diff --git a/src/twisted/newsfragments/10345.misc b/src/twisted/newsfragments/10345.misc
-new file mode 100644
-index 00000000000..2d51e2a7002
---- /dev/null
-+++ b/src/twisted/newsfragments/10345.misc
-@@ -0,0 +1 @@
-+Fix SendmailTests for python 3.11.
diff --git a/srcpkgs/python3-Twisted/template b/srcpkgs/python3-Twisted/template
index 9a2c5d412460e..94b71479dbaa5 100644
--- a/srcpkgs/python3-Twisted/template
+++ b/srcpkgs/python3-Twisted/template
@@ -1,24 +1,23 @@
 # Template file for 'python3-Twisted'
 pkgname=python3-Twisted
-version=22.10.0
-revision=2
-build_style=python3-module
-make_check_target=src/twisted
-hostmakedepends="python3-setuptools python3-incremental"
+version=23.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling python3-incremental"
 makedepends="python3-devel"
 depends="python3-zope.interface python3-constantly python3-incremental
  python3-automat python3-hyperlink python3-attrs python3-typing_extensions
- python3-openssl python3-service_identity python3-pyasn1"
-checkdepends="python3-bcrypt python3-PyHamcrest git python3-h2
- python3-hyperframe python3-priority python3-hpack python3-appdirs
- python3-hypothesis $depends"
+ python3-openssl python3-service_identity python3-idna"
+checkdepends="python3-PyHamcrest python3-hypothesis python3-pyserial
+ python3-cryptography python3-appdirs python3-bcrypt python3-h2
+ python3-priority git xvfb-run $depends"
 short_desc="Asynchronous networking framework written in Python (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
-homepage="https://twistedmatrix.com/"
+homepage="https://twisted.org/"
 changelog="https://raw.githubusercontent.com/twisted/twisted/trunk/NEWS.rst"
-distfiles="${PYPI_SITE}/T/Twisted/Twisted-${version}.tar.gz"
-checksum=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
+distfiles="${PYPI_SITE}/t/twisted/twisted-${version}.tar.gz"
+checksum=3c73360add17336a622c0d811c2a2ce29866b6e59b1125fd6509b17252098a24
 make_check=ci-skip # some tests fail when running as root
 
 alternatives="
@@ -35,13 +34,17 @@ alternatives="
 post_patch() {
 	# test requires unpackaged cython-test-exception-raiser
 	rm src/twisted/test/test_failure.py
+	# issues with executing shell executables from the test
+	rm src/twisted/test/test_main.py
 }
 
 do_check() {
-	python3 setup.py install --prefix=build --root="$(pwd)"
-	PATH="$PWD/build/bin:$PATH" \
-		PYTHONPATH="$PWD/build/lib/python$py3_ver/site-packages" \
-		python3 -m twisted.trial twisted
+	export LC_CTYPE=en_US.UTF-8
+	testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m installer --destdir "${testdir}" \
+		${make_install_args} ${make_install_target:-dist/*.whl}
+	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
+		trial ${makejobs} src/twisted
 }
 
 post_install() {

From ef04dc21755fcb9398a6152548ae3411148c4cf3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 11 Oct 2023 11:02:47 -0400
Subject: [PATCH 4/4] synapse: update to 1.95.0.

---
 srcpkgs/synapse/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 34b1cc84df31b..c1b0da80b578f 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,7 +1,7 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.93.0
-revision=2
+version=1.95.0
+revision=1
 build_style=python3-pep517
 build_helper=rust
 make_check_target=tests
@@ -25,7 +25,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=4bacff7559cd1f36a51743b79fe871eb3b96933aa663aad6f8900a1c6b7f8e21
+checksum=35367987c886f4e55c6aadbaffdfb349d50c9fd104f07010e27aa46b10661259
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PR PATCH] [Merged]: synapse: update to 1.95.0.
  2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
                   ` (13 preceding siblings ...)
  2023-10-25 12:08 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-10-25 12:53 ` Piraty
  14 siblings, 0 replies; 16+ messages in thread
From: Piraty @ 2023-10-25 12:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1064 bytes --]

There's a merged pull request on the void-packages repository

synapse: update to 1.95.0.
https://github.com/void-linux/void-packages/pull/46648

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-10-25 12:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-12 23:18 [PR PATCH] synapse: update to 1.94.0 TinfoilSubmarine
2023-10-13  0:29 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-10-13  0:30 ` TinfoilSubmarine
2023-10-14 23:37 ` [PR REVIEW] " Piraty
2023-10-15  3:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-10-15  3:46 ` [PR REVIEW] " TinfoilSubmarine
2023-10-19 12:09 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-10-19 12:44 ` TinfoilSubmarine
2023-10-19 12:49 ` [PR REVIEW] " TinfoilSubmarine
2023-10-24 14:10 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-10-25 11:31 ` Piraty
2023-10-25 11:31 ` [PR REVIEW] " Piraty
2023-10-25 11:31 ` Piraty
2023-10-25 11:31 ` Piraty
2023-10-25 12:08 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-10-25 12:53 ` [PR PATCH] [Merged]: synapse: update to 1.95.0 Piraty

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).