public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/mingw-python3] f43: Update to 3.11.16
@ 2026-09-18 17:26 Sandro Mani
0 siblings, 0 replies; only message in thread
From: Sandro Mani @ 2026-09-18 17:26 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/mingw-python3
Branch : f43
Commit : 2320b787fdf2cacbda927e16b602e1d835fe83fe
Author : Sandro Mani <manisandro@gmail.com>
Date : 2026-09-18T19:25:37+02:00
Stats : +159/-655 in 26 file(s)
URL : https://src.fedoraproject.org/rpms/mingw-python3/c/2320b787fdf2cacbda927e16b602e1d835fe83fe?branch=f43
Log:
Update to 3.11.16
---
diff --git a/.gitignore b/.gitignore
index 5b4c05b..8df5e10 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,4 @@
/Python-3.11.13.tar.xz
/Python-3.11.14.tar.xz
/Python-3.11.15.tar.xz
+/Python-3.11.16.tar.xz
diff --git a/146000.patch b/146000.patch
deleted file mode 100644
index 3d93e79..0000000
--- a/146000.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_pyexpat.py Python-3.11.15-new/Lib/test/test_pyexpat.py
---- Python-3.11.15/Lib/test/test_pyexpat.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/test/test_pyexpat.py 2026-03-27 18:42:08.793819558 +0100
-@@ -675,6 +675,24 @@ class ChardataBufferTest(unittest.TestCa
- parser.Parse(xml2, True)
- self.assertEqual(self.n, 4)
-
-+class ElementDeclHandlerTest(unittest.TestCase):
-+ def test_deeply_nested_content_model(self):
-+ # This should raise a RecursionError and not crash.
-+ # See https://github.com/python/cpython/issues/145986.
-+ N = 500_000
-+ data = (
-+ b'<!DOCTYPE root [\n<!ELEMENT root '
-+ + b'(a, ' * N + b'a' + b')' * N
-+ + b'>\n]>\n<root/>\n'
-+ )
-+
-+ parser = expat.ParserCreate()
-+ parser.ElementDeclHandler = lambda _1, _2: None
-+ with support.infinite_recursion():
-+ with self.assertRaises(RecursionError):
-+ parser.Parse(data)
-+
-+
- class MalformedInputTest(unittest.TestCase):
- def test1(self):
- xml = b"\0\r\n"
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-14-17-31-39.gh-issue-145986.ifSSr8.rst 2026-03-27 18:42:08.794449487 +0100
-@@ -0,0 +1,4 @@
-+:mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C recursion when
-+converting deeply nested XML content models with
-+:meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler`.
-+This addresses `CVE-2026-4224 <https://www.cve.org/CVERecord?id=CVE-2026-4224>`_.
-diff -rupN --no-dereference Python-3.11.15/Modules/pyexpat.c Python-3.11.15-new/Modules/pyexpat.c
---- Python-3.11.15/Modules/pyexpat.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/pyexpat.c 2026-03-27 18:42:08.794237916 +0100
-@@ -3,6 +3,7 @@
- #endif
-
- #include "Python.h"
-+#include "pycore_ceval.h" // _Py_EnterRecursiveCall()
- #include "pycore_runtime.h" // _Py_ID()
- #include <ctype.h>
-
-@@ -578,6 +579,10 @@ static PyObject *
- conv_content_model(XML_Content * const model,
- PyObject *(*conv_string)(const XML_Char *))
- {
-+ if (_Py_EnterRecursiveCall(" in conv_content_model")) {
-+ return NULL;
-+ }
-+
- PyObject *result = NULL;
- PyObject *children = PyTuple_New(model->numchildren);
- int i;
-@@ -589,7 +594,7 @@ conv_content_model(XML_Content * const m
- conv_string);
- if (child == NULL) {
- Py_XDECREF(children);
-- return NULL;
-+ goto done;
- }
- PyTuple_SET_ITEM(children, i, child);
- }
-@@ -597,6 +602,8 @@ conv_content_model(XML_Content * const m
- model->type, model->quant,
- conv_string,model->name, children);
- }
-+done:
-+ _Py_LeaveRecursiveCall();
- return result;
- }
-
diff --git a/146026.patch b/146026.patch
deleted file mode 100644
index ceb4885..0000000
--- a/146026.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/http/cookies.py Python-3.11.15-new/Lib/http/cookies.py
---- Python-3.11.15/Lib/http/cookies.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/http/cookies.py 2026-03-27 18:42:08.542717334 +0100
-@@ -335,9 +335,16 @@ class Morsel(dict):
- key = key.lower()
- if key not in self._reserved:
- raise CookieError("Invalid attribute %r" % (key,))
-+ if _has_control_character(key, val):
-+ raise CookieError("Control characters are not allowed in "
-+ f"cookies {key!r} {val!r}")
- data[key] = val
- dict.update(self, data)
-
-+ def __ior__(self, values):
-+ self.update(values)
-+ return self
-+
- def isReservedKey(self, K):
- return K.lower() in self._reserved
-
-@@ -363,9 +370,15 @@ class Morsel(dict):
- }
-
- def __setstate__(self, state):
-- self._key = state['key']
-- self._value = state['value']
-- self._coded_value = state['coded_value']
-+ key = state['key']
-+ value = state['value']
-+ coded_value = state['coded_value']
-+ if _has_control_character(key, value, coded_value):
-+ raise CookieError("Control characters are not allowed in cookies "
-+ f"{key!r} {value!r} {coded_value!r}")
-+ self._key = key
-+ self._value = value
-+ self._coded_value = coded_value
-
- def output(self, attrs=None, header="Set-Cookie:"):
- return "%s %s" % (header, self.OutputString(attrs))
-@@ -377,13 +390,16 @@ class Morsel(dict):
-
- def js_output(self, attrs=None):
- # Print javascript
-+ output_string = self.OutputString(attrs)
-+ if _has_control_character(output_string):
-+ raise CookieError("Control characters are not allowed in cookies")
- return """
- <script type="text/javascript">
- <!-- begin hiding
- document.cookie = \"%s\";
- // end hiding -->
- </script>
-- """ % (self.OutputString(attrs).replace('"', r'\"'))
-+ """ % (output_string.replace('"', r'\"'))
-
- def OutputString(self, attrs=None):
- # Build up our result
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_http_cookies.py Python-3.11.15-new/Lib/test/test_http_cookies.py
---- Python-3.11.15/Lib/test/test_http_cookies.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/test/test_http_cookies.py 2026-03-27 18:42:08.542915357 +0100
-@@ -527,6 +527,14 @@ class MorselTests(unittest.TestCase):
- with self.assertRaises(cookies.CookieError):
- morsel["path"] = c0
-
-+ # .__setstate__()
-+ with self.assertRaises(cookies.CookieError):
-+ morsel.__setstate__({'key': c0, 'value': 'val', 'coded_value': 'coded'})
-+ with self.assertRaises(cookies.CookieError):
-+ morsel.__setstate__({'key': 'key', 'value': c0, 'coded_value': 'coded'})
-+ with self.assertRaises(cookies.CookieError):
-+ morsel.__setstate__({'key': 'key', 'value': 'val', 'coded_value': c0})
-+
- # .setdefault()
- with self.assertRaises(cookies.CookieError):
- morsel.setdefault("path", c0)
-@@ -541,6 +549,18 @@ class MorselTests(unittest.TestCase):
- with self.assertRaises(cookies.CookieError):
- morsel.set("path", "val", c0)
-
-+ # .update()
-+ with self.assertRaises(cookies.CookieError):
-+ morsel.update({"path": c0})
-+ with self.assertRaises(cookies.CookieError):
-+ morsel.update({c0: "val"})
-+
-+ # .__ior__()
-+ with self.assertRaises(cookies.CookieError):
-+ morsel |= {"path": c0}
-+ with self.assertRaises(cookies.CookieError):
-+ morsel |= {c0: "val"}
-+
- def test_control_characters_output(self):
- # Tests that even if the internals of Morsel are modified
- # that a call to .output() has control character safeguards.
-@@ -561,6 +581,24 @@ class MorselTests(unittest.TestCase):
- with self.assertRaises(cookies.CookieError):
- cookie.output()
-
-+ # Tests that .js_output() also has control character safeguards.
-+ for c0 in support.control_characters_c0():
-+ morsel = cookies.Morsel()
-+ morsel.set("key", "value", "coded-value")
-+ morsel._key = c0 # Override private variable.
-+ cookie = cookies.SimpleCookie()
-+ cookie["cookie"] = morsel
-+ with self.assertRaises(cookies.CookieError):
-+ cookie.js_output()
-+
-+ morsel = cookies.Morsel()
-+ morsel.set("key", "value", "coded-value")
-+ morsel._coded_value = c0 # Override private variable.
-+ cookie = cookies.SimpleCookie()
-+ cookie["cookie"] = morsel
-+ with self.assertRaises(cookies.CookieError):
-+ cookie.js_output()
-+
-
- def load_tests(loader, tests, pattern):
- tests.addTest(doctest.DocTestSuite(cookies))
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-06-17-03-38.gh-issue-145599.kchwZV.rst 2026-03-27 18:42:08.543191372 +0100
-@@ -0,0 +1,4 @@
-+Reject control characters in :class:`http.cookies.Morsel`
-+:meth:`~http.cookies.Morsel.update` and
-+:meth:`~http.cookies.BaseCookie.js_output`.
-+This addresses `CVE-2026-3644 <https://www.cve.org/CVERecord?id=CVE-2026-3644>`_.
diff --git a/146136.patch b/146136.patch
index 6707bf2..a781e80 100644
--- a/146136.patch
+++ b/146136.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/pkgutil.py Python-3.11.15-new/Lib/pkgutil.py
---- Python-3.11.15/Lib/pkgutil.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/pkgutil.py 2026-04-14 11:29:18.141149277 +0200
+diff -rupN --no-dereference Python-3.11.16/Lib/pkgutil.py Python-3.11.16-new/Lib/pkgutil.py
+--- Python-3.11.16/Lib/pkgutil.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/pkgutil.py 2026-09-18 19:23:09.745416470 +0200
@@ -635,6 +635,9 @@ def get_data(package, resource):
# signature - an os.path format "filename" starting with the dirname of
# the package's __file__
@@ -11,9 +11,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/pkgutil.py Python-3.11.15-new/Lib
parts.insert(0, os.path.dirname(mod.__file__))
resource_name = os.path.join(*parts)
return loader.get_data(resource_name)
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_pkgutil.py Python-3.11.15-new/Lib/test/test_pkgutil.py
---- Python-3.11.15/Lib/test/test_pkgutil.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/test/test_pkgutil.py 2026-04-14 11:29:18.141377550 +0200
+diff -rupN --no-dereference Python-3.11.16/Lib/test/test_pkgutil.py Python-3.11.16-new/Lib/test/test_pkgutil.py
+--- Python-3.11.16/Lib/test/test_pkgutil.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/test/test_pkgutil.py 2026-09-18 19:23:09.745919441 +0200
@@ -57,6 +57,25 @@ class PkgutilTests(unittest.TestCase):
del sys.modules[pkg]
@@ -40,9 +40,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/test/test_pkgutil.py Python-3.11.
def test_getdata_zipfile(self):
zip = 'test_getdata_zipfile.zip'
pkg = 'test_getdata_zipfile'
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst 2026-04-14 11:29:18.141664534 +0200
+diff -rupN --no-dereference Python-3.11.16/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst Python-3.11.16-new/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst
+--- Python-3.11.16/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst 1970-01-01 01:00:00.000000000 +0100
++++ Python-3.11.16-new/Misc/NEWS.d/next/Security/2026-03-16-18-07-00.gh-issue-146121.vRbdro.rst 2026-09-18 19:23:09.746283411 +0200
@@ -0,0 +1,3 @@
+:func:`pkgutil.get_data` now raises rejects *resource* arguments containing the
+parent directory components or that is an absolute path.
diff --git a/148351.patch b/148351.patch
deleted file mode 100644
index 34f5b3c..0000000
--- a/148351.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/http/client.py Python-3.11.15-new/Lib/http/client.py
---- Python-3.11.15/Lib/http/client.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/http/client.py 2026-04-14 11:29:18.368590788 +0200
-@@ -941,12 +941,21 @@ class HTTPConnection:
- return ip
-
- def _tunnel(self):
-+ if _contains_disallowed_url_pchar_re.search(self._tunnel_host):
-+ raise ValueError('Tunnel host can\'t contain control characters %r'
-+ % (self._tunnel_host,))
- connect = b"CONNECT %s:%d HTTP/1.0\r\n" % (
- self._wrap_ipv6(self._tunnel_host.encode("ascii")),
- self._tunnel_port)
- headers = [connect]
- for header, value in self._tunnel_headers.items():
-- headers.append(f"{header}: {value}\r\n".encode("latin-1"))
-+ header_bytes = header.encode("latin-1")
-+ value_bytes = value.encode("latin-1")
-+ if not _is_legal_header_name(header_bytes):
-+ raise ValueError('Invalid header name %r' % (header_bytes,))
-+ if _is_illegal_header_value(value_bytes):
-+ raise ValueError('Invalid header value %r' % (value_bytes,))
-+ headers.append(b"%s: %s\r\n" % (header_bytes, value_bytes))
- headers.append(b"\r\n")
- # Making a single send() call instead of one per line encourages
- # the host OS to use a more optimal packet size instead of
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_httplib.py Python-3.11.15-new/Lib/test/test_httplib.py
---- Python-3.11.15/Lib/test/test_httplib.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/test/test_httplib.py 2026-04-14 11:29:18.368964554 +0200
-@@ -371,6 +371,51 @@ class HeaderTests(TestCase):
- with self.assertRaisesRegex(ValueError, 'Invalid header'):
- conn.putheader(name, value)
-
-+ def test_invalid_tunnel_headers(self):
-+ cases = (
-+ ('Invalid\r\nName', 'ValidValue'),
-+ ('Invalid\rName', 'ValidValue'),
-+ ('Invalid\nName', 'ValidValue'),
-+ ('\r\nInvalidName', 'ValidValue'),
-+ ('\rInvalidName', 'ValidValue'),
-+ ('\nInvalidName', 'ValidValue'),
-+ (' InvalidName', 'ValidValue'),
-+ ('\tInvalidName', 'ValidValue'),
-+ ('Invalid:Name', 'ValidValue'),
-+ (':InvalidName', 'ValidValue'),
-+ ('ValidName', 'Invalid\r\nValue'),
-+ ('ValidName', 'Invalid\rValue'),
-+ ('ValidName', 'Invalid\nValue'),
-+ ('ValidName', 'InvalidValue\r\n'),
-+ ('ValidName', 'InvalidValue\r'),
-+ ('ValidName', 'InvalidValue\n'),
-+ )
-+ for name, value in cases:
-+ with self.subTest((name, value)):
-+ conn = client.HTTPConnection('example.com')
-+ conn.set_tunnel('tunnel', headers={
-+ name: value
-+ })
-+ conn.sock = FakeSocket('')
-+ with self.assertRaisesRegex(ValueError, 'Invalid header'):
-+ conn._tunnel() # Called in .connect()
-+
-+ def test_invalid_tunnel_host(self):
-+ cases = (
-+ 'invalid\r.host',
-+ '\ninvalid.host',
-+ 'invalid.host\r\n',
-+ 'invalid.host\x00',
-+ 'invalid host',
-+ )
-+ for tunnel_host in cases:
-+ with self.subTest(tunnel_host):
-+ conn = client.HTTPConnection('example.com')
-+ conn.set_tunnel(tunnel_host)
-+ conn.sock = FakeSocket('')
-+ with self.assertRaisesRegex(ValueError, 'Tunnel host can\'t contain control characters'):
-+ conn._tunnel() # Called in .connect()
-+
- def test_headers_debuglevel(self):
- body = (
- b'HTTP/1.1 200 OK\r\n'
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst 2026-04-14 11:29:18.369221123 +0200
-@@ -0,0 +1,2 @@
-+Reject CR/LF characters in tunnel request headers for the
-+HTTPConnection.set_tunnel() method.
diff --git a/148520.patch b/148520.patch
deleted file mode 100644
index e4295b5..0000000
--- a/148520.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_webbrowser.py Python-3.11.15-new/Lib/test/test_webbrowser.py
---- Python-3.11.15/Lib/test/test_webbrowser.py 2026-04-18 09:00:31.862458746 +0200
-+++ Python-3.11.15-new/Lib/test/test_webbrowser.py 2026-04-18 09:00:33.033479817 +0200
-@@ -99,6 +99,14 @@ class ChromeCommandTest(CommandTestMixin
- options=[],
- arguments=[URL])
-
-+ def test_reject_action_dash_prefixes(self):
-+ browser = self.browser_class(name=CMD_NAME)
-+ with self.assertRaises(ValueError):
-+ browser.open('%action--incognito')
-+ # new=1: action is "--new-window", so "%action" itself expands to
-+ # a dash-prefixed flag even with no dash in the original URL.
-+ with self.assertRaises(ValueError):
-+ browser.open('%action', new=1)
-
- class MozillaCommandTest(CommandTestMixin, unittest.TestCase):
-
-diff -rupN --no-dereference Python-3.11.15/Lib/webbrowser.py Python-3.11.15-new/Lib/webbrowser.py
---- Python-3.11.15/Lib/webbrowser.py 2026-04-18 09:00:31.862748897 +0200
-+++ Python-3.11.15-new/Lib/webbrowser.py 2026-04-18 09:00:33.033705528 +0200
-@@ -265,7 +265,6 @@ class UnixBrowser(BaseBrowser):
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-- self._check_url(url)
- if new == 0:
- action = self.remote_action
- elif new == 1:
-@@ -279,7 +278,9 @@ class UnixBrowser(BaseBrowser):
- raise Error("Bad 'new' parameter to open(); " +
- "expected 0, 1, or 2, got %s" % new)
-
-- args = [arg.replace("%s", url).replace("%action", action)
-+ self._check_url(url.replace("%action", action))
-+
-+ args = [arg.replace("%action", action).replace("%s", url)
- for arg in self.remote_args]
- args = [arg for arg in args if arg]
- success = self._invoke(args, True, autoraise, url)
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-31-09-15-51.gh-issue-148169.EZJzz2.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-31-09-15-51.gh-issue-148169.EZJzz2.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-31-09-15-51.gh-issue-148169.EZJzz2.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-31-09-15-51.gh-issue-148169.EZJzz2.rst 2026-04-18 09:00:33.033904098 +0200
-@@ -0,0 +1,2 @@
-+A bypass in :mod:`webbrowser` allowed URLs prefixed with ``%action`` to pass
-+the dash-prefix safety check.
diff --git a/CVE-2026-2297.patch b/CVE-2026-2297.patch
deleted file mode 100644
index 6798d18..0000000
--- a/CVE-2026-2297.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/importlib/_bootstrap_external.py Python-3.11.15-new/Lib/importlib/_bootstrap_external.py
---- Python-3.11.15/Lib/importlib/_bootstrap_external.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/importlib/_bootstrap_external.py 2026-03-27 18:42:08.073911150 +0100
-@@ -1126,7 +1126,7 @@ class FileLoader:
-
- def get_data(self, path):
- """Return the data from path as raw bytes."""
-- if isinstance(self, (SourceLoader, ExtensionFileLoader)):
-+ if isinstance(self, (SourceLoader, SourcelessFileLoader, ExtensionFileLoader)):
- with _io.open_code(str(path)) as file:
- return file.read()
- else:
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-04-18-59-17.gh-issue-145506.6hwvEh.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-04-18-59-17.gh-issue-145506.6hwvEh.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-03-04-18-59-17.gh-issue-145506.6hwvEh.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-03-04-18-59-17.gh-issue-145506.6hwvEh.rst 2026-03-27 18:42:08.074290216 +0100
-@@ -0,0 +1,2 @@
-+Fixes CVE-2026-2297 by ensuring that ``SourcelessFileLoader`` uses
-+:func:`io.open_code` when opening ``.pyc`` files.
diff --git a/ceac1efc66516ac387eef2c9a0ce671895b44f03.patch b/ceac1efc66516ac387eef2c9a0ce671895b44f03.patch
deleted file mode 100644
index 3c19974..0000000
--- a/ceac1efc66516ac387eef2c9a0ce671895b44f03.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/test/test_webbrowser.py Python-3.11.15-new/Lib/test/test_webbrowser.py
---- Python-3.11.15/Lib/test/test_webbrowser.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/test/test_webbrowser.py 2026-03-27 18:42:08.306960471 +0100
-@@ -59,6 +59,11 @@ class GenericBrowserCommandTest(CommandT
- options=[],
- arguments=[URL])
-
-+ def test_reject_dash_prefixes(self):
-+ browser = self.browser_class(name=CMD_NAME)
-+ with self.assertRaises(ValueError):
-+ browser.open(f"--key=val {URL}")
-+
-
- class BackgroundBrowserCommandTest(CommandTestMixin, unittest.TestCase):
-
-diff -rupN --no-dereference Python-3.11.15/Lib/webbrowser.py Python-3.11.15-new/Lib/webbrowser.py
---- Python-3.11.15/Lib/webbrowser.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/webbrowser.py 2026-03-27 18:42:08.307212132 +0100
-@@ -155,6 +155,12 @@ class BaseBrowser(object):
- def open_new_tab(self, url):
- return self.open(url, 2)
-
-+ @staticmethod
-+ def _check_url(url):
-+ """Ensures that the URL is safe to pass to subprocesses as a parameter"""
-+ if url and url.lstrip().startswith("-"):
-+ raise ValueError(f"Invalid URL: {url}")
-+
-
- class GenericBrowser(BaseBrowser):
- """Class for all browsers started with a command
-@@ -172,6 +178,7 @@ class GenericBrowser(BaseBrowser):
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- cmdline = [self.name] + [arg.replace("%s", url)
- for arg in self.args]
- try:
-@@ -192,6 +199,7 @@ class BackgroundBrowser(GenericBrowser):
- cmdline = [self.name] + [arg.replace("%s", url)
- for arg in self.args]
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- try:
- if sys.platform[:3] == 'win':
- p = subprocess.Popen(cmdline)
-@@ -257,6 +265,7 @@ class UnixBrowser(BaseBrowser):
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- if new == 0:
- action = self.remote_action
- elif new == 1:
-@@ -358,6 +367,7 @@ class Konqueror(BaseBrowser):
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- # XXX Currently I know no way to prevent KFM from opening a new win.
- if new == 2:
- action = "newTab"
-@@ -442,6 +452,7 @@ class Grail(BaseBrowser):
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- if new:
- ok = self._remote("LOADNEW " + url)
- else:
-@@ -605,6 +616,7 @@ if sys.platform[:3] == "win":
- class WindowsDefault(BaseBrowser):
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- try:
- os.startfile(url)
- except OSError:
-@@ -637,6 +649,7 @@ if sys.platform == 'darwin':
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- assert "'" not in url
- # hack for local urls
- if not ':' in url:
-@@ -689,6 +702,7 @@ if sys.platform == 'darwin':
-
- def open(self, url, new=0, autoraise=True):
- sys.audit("webbrowser.open", url)
-+ self._check_url(url)
- if self.name == 'default':
- script = 'open location "%s"' % url.replace('"', '%22') # opens in default browser
- else:
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-01-16-12-04-49.gh-issue-143930.zYC5x3.rst 2026-03-27 18:42:08.307381873 +0100
-@@ -0,0 +1 @@
-+Reject leading dashes in URLs passed to :func:`webbrowser.open`
diff --git a/e0799352823289fafb8131341abd751923ee9c08.patch b/e0799352823289fafb8131341abd751923ee9c08.patch
index 8938edc..964f450 100644
--- a/e0799352823289fafb8131341abd751923ee9c08.patch
+++ b/e0799352823289fafb8131341abd751923ee9c08.patch
@@ -1,11 +1,11 @@
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst Python-3.11.15-new/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst
---- Python-3.11.15/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst 2026-03-27 18:42:07.804777366 +0100
+diff -rupN --no-dereference Python-3.11.16/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst Python-3.11.16-new/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst
+--- Python-3.11.16/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst 1970-01-01 01:00:00.000000000 +0100
++++ Python-3.11.16-new/Misc/NEWS.d/next/Library/2024-06-04-19-03-25.gh-issue-112672.K2XfZH.rst 2026-09-18 19:23:09.492882068 +0200
@@ -0,0 +1 @@
+Support building :mod:`tkinter` with Tcl 9.0.
-diff -rupN --no-dereference Python-3.11.15/Modules/_tkinter.c Python-3.11.15-new/Modules/_tkinter.c
---- Python-3.11.15/Modules/_tkinter.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/_tkinter.c 2026-03-27 18:42:07.804910692 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/_tkinter.c Python-3.11.16-new/Modules/_tkinter.c
+--- Python-3.11.16/Modules/_tkinter.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/_tkinter.c 2026-09-18 19:23:09.493180038 +0200
@@ -66,6 +66,12 @@ Copyright (C) 1994 Steen Lumholt.
#define USE_DEPRECATED_TOMMATH_API 1
#endif
diff --git a/e20c6c9667c99ecaab96e1a2b3767082841ffc8b.patch b/e20c6c9667c99ecaab96e1a2b3767082841ffc8b.patch
deleted file mode 100644
index 16d39e5..0000000
--- a/e20c6c9667c99ecaab96e1a2b3767082841ffc8b.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -rupN --no-dereference Python-3.11.15/Misc/NEWS.d/next/Security/2026-04-10-16-28-21.gh-issue-148395.kfzm0G.rst Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-04-10-16-28-21.gh-issue-148395.kfzm0G.rst
---- Python-3.11.15/Misc/NEWS.d/next/Security/2026-04-10-16-28-21.gh-issue-148395.kfzm0G.rst 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/Misc/NEWS.d/next/Security/2026-04-10-16-28-21.gh-issue-148395.kfzm0G.rst 2026-04-14 11:29:17.908170200 +0200
-@@ -0,0 +1,5 @@
-+Fix a dangling input pointer in :class:`lzma.LZMADecompressor`,
-+and :class:`bz2.BZ2Decompressor`
-+when memory allocation fails with :exc:`MemoryError`, which could let a
-+subsequent :meth:`!decompress` call read or write through a stale pointer to
-+the already-released caller buffer.
-diff -rupN --no-dereference Python-3.11.15/Modules/_bz2module.c Python-3.11.15-new/Modules/_bz2module.c
---- Python-3.11.15/Modules/_bz2module.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/_bz2module.c 2026-04-14 11:29:17.908335500 +0200
-@@ -595,6 +595,7 @@ decompress(BZ2Decompressor *d, char *dat
- return result;
-
- error:
-+ bzs->next_in = NULL;
- Py_XDECREF(result);
- return NULL;
- }
-diff -rupN --no-dereference Python-3.11.15/Modules/_lzmamodule.c Python-3.11.15-new/Modules/_lzmamodule.c
---- Python-3.11.15/Modules/_lzmamodule.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/_lzmamodule.c 2026-04-14 11:29:17.908579142 +0200
-@@ -1105,6 +1105,7 @@ decompress(Decompressor *d, uint8_t *dat
- return result;
-
- error:
-+ lzs->next_in = NULL;
- Py_XDECREF(result);
- return NULL;
- }
diff --git a/mingw-python3.spec b/mingw-python3.spec
index 1153cef..fbfa49f 100644
--- a/mingw-python3.spec
+++ b/mingw-python3.spec
@@ -23,8 +23,8 @@
#global pre rc2
Name: mingw-%{pkgname}
-Version: 3.11.15
-Release: 5%{?dist}
+Version: 3.11.16
+Release: 1%{?dist}
Summary: MinGW Windows %{pkgname}
BuildArch: noarch
@@ -70,23 +70,8 @@ Patch13: mingw-python3_module-select.patch
Patch14: mingw-python3_pkgconfig.patch
# Backport: Fix build with tcl9
Patch15: https://github.com/python/cpython/commit/e0799352823289fafb8131341abd751923ee9c08.patch
-# Backport proposed fix for CVE-2026-2297
-# https://github.com/python/cpython/pull/145515
-Patch16: CVE-2026-2297.patch
-# Backport fix for CVE-2026-4519
-Patch20: https://github.com/python/cpython/commit/ceac1efc66516ac387eef2c9a0ce671895b44f03.patch
-# Backport fix for CVE-2026-3644
-Patch21: https://github.com/python/cpython/pull/146026.patch
-# Backport fix for CVE-2026-4224
-Patch22: https://github.com/python/cpython/pull/146000.patch
-# Backport fix for CVE-2026-6100
-Patch23: https://github.com/python/cpython/commit/e20c6c9667c99ecaab96e1a2b3767082841ffc8b.patch
# Backport fix for CVE-2026-3479
Patch24: https://github.com/python/cpython/pull/146136.patch
-# Backport fix for CVE-2026-1502
-Patch25: https://github.com/python/cpython/pull/148351.patch
-# Backport fix for CVE-2026-4786
-Patch26: https://github.com/python/cpython/pull/148520.patch
BuildRequires: make
@@ -527,6 +512,9 @@ chmod +x %{buildroot}%{mingw64_bindir}/python3-config
%changelog
+* Fri Sep 18 2026 Sandro Mani <manisandro@gmail.com> - 3.11.16-1
+- Update to 3.11.16
+
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.15-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
diff --git a/mingw-python3_distutils.patch b/mingw-python3_distutils.patch
index 4738a49..bde816c 100644
--- a/mingw-python3_distutils.patch
+++ b/mingw-python3_distutils.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/distutils/ccompiler.py Python-3.11.15-new/Lib/distutils/ccompiler.py
---- Python-3.11.15/Lib/distutils/ccompiler.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/distutils/ccompiler.py 2026-03-27 18:42:05.843253644 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/distutils/ccompiler.py Python-3.11.16-new/Lib/distutils/ccompiler.py
+--- Python-3.11.16/Lib/distutils/ccompiler.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/distutils/ccompiler.py 2026-09-18 19:23:07.402791820 +0200
@@ -9,7 +9,7 @@ from distutils.spawn import spawn
from distutils.file_util import move_file
from distutils.dir_util import mkpath
@@ -29,9 +29,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/distutils/ccompiler.py Python-3.1
(module_name, class_name, long_description) = compiler_class[compiler]
except KeyError:
msg = "don't know how to compile C/C++ code on platform '%s'" % plat
-diff -rupN --no-dereference Python-3.11.15/Lib/distutils/command/build_ext.py Python-3.11.15-new/Lib/distutils/command/build_ext.py
---- Python-3.11.15/Lib/distutils/command/build_ext.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/distutils/command/build_ext.py 2026-03-27 18:42:05.843594739 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/distutils/command/build_ext.py Python-3.11.16-new/Lib/distutils/command/build_ext.py
+--- Python-3.11.16/Lib/distutils/command/build_ext.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/distutils/command/build_ext.py 2026-09-18 19:23:07.403189683 +0200
@@ -186,7 +186,7 @@ class build_ext(Command):
# for extensions under windows use different directories
# for Release and Debug builds.
@@ -71,9 +71,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/distutils/command/build_ext.py Py
link_libpython = True
if link_libpython:
-diff -rupN --no-dereference Python-3.11.15/Lib/distutils/cygwinccompiler.py Python-3.11.15-new/Lib/distutils/cygwinccompiler.py
---- Python-3.11.15/Lib/distutils/cygwinccompiler.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/distutils/cygwinccompiler.py 2026-03-27 18:42:05.843907348 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/distutils/cygwinccompiler.py Python-3.11.16-new/Lib/distutils/cygwinccompiler.py
+--- Python-3.11.16/Lib/distutils/cygwinccompiler.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/distutils/cygwinccompiler.py 2026-09-18 19:23:07.403495499 +0200
@@ -90,7 +90,8 @@ class CygwinCCompiler(UnixCCompiler):
compiler_type = 'cygwin'
obj_extension = ".o"
@@ -134,9 +134,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/distutils/cygwinccompiler.py Pyth
+ gcc = os.environ.get('CC') or 'gcc'
+ out_string = check_output([gcc, '-dumpmachine'])
return out_string.strip().endswith(b'cygwin')
-diff -rupN --no-dereference Python-3.11.15/Lib/distutils/sysconfig.py Python-3.11.15-new/Lib/distutils/sysconfig.py
---- Python-3.11.15/Lib/distutils/sysconfig.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/distutils/sysconfig.py 2026-03-27 18:42:05.844245453 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/distutils/sysconfig.py Python-3.11.16-new/Lib/distutils/sysconfig.py
+--- Python-3.11.16/Lib/distutils/sysconfig.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/distutils/sysconfig.py 2026-09-18 19:23:07.403754788 +0200
@@ -196,7 +196,7 @@ def customize_compiler(compiler):
Mainly needed on Unix, so we can plug in the information that
varies across Unices and is stored in Python's Makefile.
@@ -157,9 +157,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/distutils/sysconfig.py Python-3.1
def get_python_inc(plat_specific=0, prefix=None):
-diff -rupN --no-dereference Python-3.11.15/Lib/distutils/util.py Python-3.11.15-new/Lib/distutils/util.py
---- Python-3.11.15/Lib/distutils/util.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/distutils/util.py 2026-03-27 18:42:05.844455175 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/distutils/util.py Python-3.11.16-new/Lib/distutils/util.py
+--- Python-3.11.16/Lib/distutils/util.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/distutils/util.py 2026-09-18 19:23:07.403995140 +0200
@@ -37,6 +37,8 @@ def get_host_platform():
"""
diff --git a/mingw-python3_frozenmain.patch b/mingw-python3_frozenmain.patch
index b449b30..3a2d505 100644
--- a/mingw-python3_frozenmain.patch
+++ b/mingw-python3_frozenmain.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/configure.ac
---- Python-3.11.15/configure.ac 2026-03-27 18:42:04.634968740 +0100
-+++ Python-3.11.15-new/configure.ac 2026-03-27 18:42:04.876514969 +0100
+diff -rupN --no-dereference Python-3.11.16/configure.ac Python-3.11.16-new/configure.ac
+--- Python-3.11.16/configure.ac 2026-09-18 19:23:06.024979888 +0200
++++ Python-3.11.16-new/configure.ac 2026-09-18 19:23:06.313392165 +0200
@@ -6411,6 +6411,16 @@ do
THREADHEADERS="$THREADHEADERS \$(srcdir)/$h"
done
@@ -18,9 +18,9 @@ diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/confi
AC_SUBST(SRCDIRS)
SRCDIRS="\
Modules \
-diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Makefile.pre.in
---- Python-3.11.15/Makefile.pre.in 2026-03-27 18:42:04.636404136 +0100
-+++ Python-3.11.15-new/Makefile.pre.in 2026-03-27 18:42:04.877349769 +0100
+diff -rupN --no-dereference Python-3.11.16/Makefile.pre.in Python-3.11.16-new/Makefile.pre.in
+--- Python-3.11.16/Makefile.pre.in 2026-09-18 19:23:06.027882195 +0200
++++ Python-3.11.16-new/Makefile.pre.in 2026-09-18 19:23:06.313963638 +0200
@@ -390,7 +390,7 @@ PYTHON_OBJS= \
Python/dynamic_annotations.o \
Python/errors.o \
diff --git a/mingw-python3_make-sysconfigdata.py-relocatable.patch b/mingw-python3_make-sysconfigdata.py-relocatable.patch
index 682645a..e41cf88 100644
--- a/mingw-python3_make-sysconfigdata.py-relocatable.patch
+++ b/mingw-python3_make-sysconfigdata.py-relocatable.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/sysconfig.py Python-3.11.15-new/Lib/sysconfig.py
---- Python-3.11.15/Lib/sysconfig.py 2026-03-27 18:42:04.635905283 +0100
-+++ Python-3.11.15-new/Lib/sysconfig.py 2026-03-27 18:42:06.082598258 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/sysconfig.py Python-3.11.16-new/Lib/sysconfig.py
+--- Python-3.11.16/Lib/sysconfig.py 2026-09-18 19:23:06.027339246 +0200
++++ Python-3.11.16-new/Lib/sysconfig.py 2026-09-18 19:23:07.662043432 +0200
@@ -2,6 +2,7 @@
import os
diff --git a/mingw-python3_mods-failed.patch b/mingw-python3_mods-failed.patch
index 4da41ee..98dd7f2 100644
--- a/mingw-python3_mods-failed.patch
+++ b/mingw-python3_mods-failed.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/setup.py Python-3.11.15-new/setup.py
---- Python-3.11.15/setup.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/setup.py 2026-03-27 18:42:05.594341031 +0100
+diff -rupN --no-dereference Python-3.11.16/setup.py Python-3.11.16-new/setup.py
+--- Python-3.11.16/setup.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/setup.py 2026-09-18 19:23:07.149346892 +0200
@@ -577,6 +577,8 @@ class PyBuildExt(build_ext):
print("Failed to build these modules:")
print_three_column(failed)
diff --git a/mingw-python3_module-select.patch b/mingw-python3_module-select.patch
index a9b650a..8055ce6 100644
--- a/mingw-python3_module-select.patch
+++ b/mingw-python3_module-select.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Modules/selectmodule.c Python-3.11.15-new/Modules/selectmodule.c
---- Python-3.11.15/Modules/selectmodule.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/selectmodule.c 2026-03-27 18:42:07.328909881 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/selectmodule.c Python-3.11.16-new/Modules/selectmodule.c
+--- Python-3.11.16/Modules/selectmodule.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/selectmodule.c 2026-09-18 19:23:08.972073826 +0200
@@ -146,9 +146,9 @@ seq2set(PyObject *seq, fd_set *set, pyli
v = PyObject_AsFileDescriptor( o );
if (v == -1) goto finally;
diff --git a/mingw-python3_module-socket.patch b/mingw-python3_module-socket.patch
index f1674aa..e7b706c 100644
--- a/mingw-python3_module-socket.patch
+++ b/mingw-python3_module-socket.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/configure.ac
---- Python-3.11.15/configure.ac 2026-03-27 18:42:05.110906096 +0100
-+++ Python-3.11.15-new/configure.ac 2026-03-27 18:42:07.088909472 +0100
+diff -rupN --no-dereference Python-3.11.16/configure.ac Python-3.11.16-new/configure.ac
+--- Python-3.11.16/configure.ac 2026-09-18 19:23:06.604947276 +0200
++++ Python-3.11.16-new/configure.ac 2026-09-18 19:23:08.711828946 +0200
@@ -4646,8 +4646,8 @@ AC_CHECK_FUNCS([ \
faccessat fchmod fchmodat fchown fchownat fdopendir fdwalk fexecve \
fork fork1 fpathconf fstatat ftime ftruncate futimens futimes futimesat \
@@ -49,9 +49,9 @@ diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/confi
])])
PY_CHECK_SOCKET_FUNC([inet_aton])
-diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modules/Setup
---- Python-3.11.15/Modules/Setup 2026-03-27 18:42:07.084108342 +0100
-+++ Python-3.11.15-new/Modules/Setup 2026-03-27 18:42:07.089387858 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/Setup Python-3.11.16-new/Modules/Setup
+--- Python-3.11.16/Modules/Setup 2026-09-18 19:23:08.707327744 +0200
++++ Python-3.11.16-new/Modules/Setup 2026-09-18 19:23:08.713488385 +0200
@@ -144,7 +144,7 @@ PYTHONPATH=$(COREPYTHONPATH)
#_pickle _pickle.c
#_queue _queuemodule.c
@@ -61,9 +61,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modu
#_statistics _statisticsmodule.c
#_struct _struct.c
#_typing _typingmodule.c
-diff -rupN --no-dereference Python-3.11.15/Modules/socketmodule.c Python-3.11.15-new/Modules/socketmodule.c
---- Python-3.11.15/Modules/socketmodule.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/socketmodule.c 2026-03-27 18:42:07.089954650 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/socketmodule.c Python-3.11.16-new/Modules/socketmodule.c
+--- Python-3.11.16/Modules/socketmodule.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/socketmodule.c 2026-09-18 19:23:08.714180901 +0200
@@ -274,7 +274,7 @@ shutdown(how) -- shut down traffic in on
# endif
diff --git a/mingw-python3_modules.patch b/mingw-python3_modules.patch
index 036ada8..d5204d2 100644
--- a/mingw-python3_modules.patch
+++ b/mingw-python3_modules.patch
@@ -1,7 +1,7 @@
-diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Makefile.pre.in
---- Python-3.11.15/Makefile.pre.in 2026-03-27 18:42:05.350488655 +0100
-+++ Python-3.11.15-new/Makefile.pre.in 2026-03-27 18:42:06.314929415 +0100
-@@ -758,7 +758,7 @@ $(srcdir)/Modules/_blake2/blake2s_impl.c
+diff -rupN --no-dereference Python-3.11.16/Makefile.pre.in Python-3.11.16-new/Makefile.pre.in
+--- Python-3.11.16/Makefile.pre.in 2026-09-18 19:23:06.890144870 +0200
++++ Python-3.11.16-new/Makefile.pre.in 2026-09-18 19:23:07.941849004 +0200
+@@ -761,7 +761,7 @@ $(srcdir)/Modules/_blake2/blake2s_impl.c
# -s, --silent or --quiet is always the first char.
# Under BSD make, MAKEFLAGS might be " -s -v x=y".
# Ignore macros passed by GNU make, passed after --
@@ -10,9 +10,9 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
@case "`echo X $$MAKEFLAGS | sed 's/^X //;s/ -- .*//'`" in \
*\ -s*|s*) quiet="-q";; \
*) quiet="";; \
-diff -rupN --no-dereference Python-3.11.15/Modules/_ctypes/_ctypes.c Python-3.11.15-new/Modules/_ctypes/_ctypes.c
---- Python-3.11.15/Modules/_ctypes/_ctypes.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/_ctypes/_ctypes.c 2026-03-27 18:42:06.315601740 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/_ctypes/_ctypes.c Python-3.11.16-new/Modules/_ctypes/_ctypes.c
+--- Python-3.11.16/Modules/_ctypes/_ctypes.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/_ctypes/_ctypes.c 2026-09-18 19:23:07.942688687 +0200
@@ -109,6 +109,7 @@ bytes(cdata)
// windows.h must be included before pycore internal headers
#ifdef MS_WIN32
@@ -21,9 +21,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/_ctypes/_ctypes.c Python-3.11
#endif
#include "pycore_call.h" // _PyObject_CallNoArgs()
-diff -rupN --no-dereference Python-3.11.15/Modules/_multiprocessing/semaphore.c Python-3.11.15-new/Modules/_multiprocessing/semaphore.c
---- Python-3.11.15/Modules/_multiprocessing/semaphore.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/_multiprocessing/semaphore.c 2026-03-27 18:42:06.316137169 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/_multiprocessing/semaphore.c Python-3.11.16-new/Modules/_multiprocessing/semaphore.c
+--- Python-3.11.16/Modules/_multiprocessing/semaphore.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/_multiprocessing/semaphore.c 2026-09-18 19:23:07.943395929 +0200
@@ -8,6 +8,9 @@
*/
@@ -34,9 +34,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/_multiprocessing/semaphore.c
#ifdef HAVE_MP_SEMAPHORE
-diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modules/Setup
---- Python-3.11.15/Modules/Setup 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/Setup 2026-03-27 18:42:06.316748078 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/Setup Python-3.11.16-new/Modules/Setup
+--- Python-3.11.16/Modules/Setup 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/Setup 2026-09-18 19:23:07.943700091 +0200
@@ -154,7 +154,7 @@ PYTHONPATH=$(COREPYTHONPATH)
#binascii binascii.c
#cmath cmathmodule.c
@@ -46,9 +46,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modu
#select selectmodule.c
# XML
-diff -rupN --no-dereference Python-3.11.15/setup.py Python-3.11.15-new/setup.py
---- Python-3.11.15/setup.py 2026-03-27 18:42:05.838959372 +0100
-+++ Python-3.11.15-new/setup.py 2026-03-27 18:42:06.316976733 +0100
+diff -rupN --no-dereference Python-3.11.16/setup.py Python-3.11.16-new/setup.py
+--- Python-3.11.16/setup.py 2026-09-18 19:23:07.399039714 +0200
++++ Python-3.11.16-new/setup.py 2026-09-18 19:23:07.943995754 +0200
@@ -977,7 +977,10 @@ class PyBuildExt(build_ext):
self.addext(Extension('spwd', ['spwdmodule.c']))
diff --git a/mingw-python3_pkgconfig.patch b/mingw-python3_pkgconfig.patch
index 0eeee7a..386d5d8 100644
--- a/mingw-python3_pkgconfig.patch
+++ b/mingw-python3_pkgconfig.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Misc/python.pc.in Python-3.11.15-new/Misc/python.pc.in
---- Python-3.11.15/Misc/python.pc.in 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Misc/python.pc.in 2026-03-27 18:42:07.561467669 +0100
+diff -rupN --no-dereference Python-3.11.16/Misc/python.pc.in Python-3.11.16-new/Misc/python.pc.in
+--- Python-3.11.16/Misc/python.pc.in 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Misc/python.pc.in 2026-09-18 19:23:09.231255000 +0200
@@ -9,5 +9,5 @@ Description: Build a C extension for Pyt
Requires:
Version: @VERSION@
diff --git a/mingw-python3_platform-mingw.patch b/mingw-python3_platform-mingw.patch
index 5eaebe9..74d9e23 100644
--- a/mingw-python3_platform-mingw.patch
+++ b/mingw-python3_platform-mingw.patch
@@ -1,12 +1,12 @@
-diff -rupN --no-dereference Python-3.11.15/config.site-mingw Python-3.11.15-new/config.site-mingw
---- Python-3.11.15/config.site-mingw 1970-01-01 01:00:00.000000000 +0100
-+++ Python-3.11.15-new/config.site-mingw 2026-03-27 18:42:04.378266825 +0100
+diff -rupN --no-dereference Python-3.11.16/config.site-mingw Python-3.11.16-new/config.site-mingw
+--- Python-3.11.16/config.site-mingw 1970-01-01 01:00:00.000000000 +0100
++++ Python-3.11.16-new/config.site-mingw 2026-09-18 19:23:05.744813901 +0200
@@ -0,0 +1,2 @@
+ac_cv_file__dev_ptmx=no
+ac_cv_file__dev_ptc=no
-diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/configure.ac
---- Python-3.11.15/configure.ac 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/configure.ac 2026-03-27 18:42:04.378904844 +0100
+diff -rupN --no-dereference Python-3.11.16/configure.ac Python-3.11.16-new/configure.ac
+--- Python-3.11.16/configure.ac 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/configure.ac 2026-09-18 19:23:05.745344198 +0200
@@ -528,6 +528,15 @@ AC_DEFINE_UNQUOTED(_PYTHONFRAMEWORK, "${
# Set name for machine-dependent library files
AC_ARG_VAR([MACHDEP], [name for machine-dependent library files])
@@ -165,9 +165,9 @@ diff -rupN --no-dereference Python-3.11.15/configure.ac Python-3.11.15-new/confi
# ssl module default cipher suite string
AH_TEMPLATE(PY_SSL_DEFAULT_CIPHERS,
[Default cipher suites list for ssl module.
-diff -rupN --no-dereference Python-3.11.15/Include/pyport.h Python-3.11.15-new/Include/pyport.h
---- Python-3.11.15/Include/pyport.h 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Include/pyport.h 2026-03-27 18:42:04.379518292 +0100
+diff -rupN --no-dereference Python-3.11.16/Include/pyport.h Python-3.11.16-new/Include/pyport.h
+--- Python-3.11.16/Include/pyport.h 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Include/pyport.h 2026-09-18 19:23:05.746311934 +0200
@@ -347,7 +347,8 @@ extern "C" {
_Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
#define _Py_COMP_DIAG_POP _Pragma("clang diagnostic pop")
@@ -178,9 +178,9 @@ diff -rupN --no-dereference Python-3.11.15/Include/pyport.h Python-3.11.15-new/I
#define _Py_COMP_DIAG_PUSH _Pragma("GCC diagnostic push")
#define _Py_COMP_DIAG_IGNORE_DEPR_DECLS \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
-diff -rupN --no-dereference Python-3.11.15/Lib/sysconfig.py Python-3.11.15-new/Lib/sysconfig.py
---- Python-3.11.15/Lib/sysconfig.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/sysconfig.py 2026-03-27 18:42:04.379764546 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/sysconfig.py Python-3.11.16-new/Lib/sysconfig.py
+--- Python-3.11.16/Lib/sysconfig.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/sysconfig.py 2026-09-18 19:23:05.746699688 +0200
@@ -737,6 +737,8 @@ def get_platform():
"""
@@ -190,9 +190,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/sysconfig.py Python-3.11.15-new/L
if 'amd64' in sys.version.lower():
return 'win-amd64'
if '(arm)' in sys.version.lower():
-diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Makefile.pre.in
---- Python-3.11.15/Makefile.pre.in 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Makefile.pre.in 2026-03-27 18:42:04.382904851 +0100
+diff -rupN --no-dereference Python-3.11.16/Makefile.pre.in Python-3.11.16-new/Makefile.pre.in
+--- Python-3.11.16/Makefile.pre.in 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Makefile.pre.in 2026-09-18 19:23:05.747124274 +0200
@@ -118,7 +118,7 @@ CFLAGSFORSHARED=@CFLAGSFORSHARED@
# C flags used for building the interpreter object files
PY_STDMODULE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED)
@@ -202,9 +202,9 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
# Linker flags used for building the interpreter object files
PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST)
# Strict or non-strict aliasing flags used to compile dtoa.c, see above
-diff -rupN --no-dereference Python-3.11.15/Modules/posixmodule.c Python-3.11.15-new/Modules/posixmodule.c
---- Python-3.11.15/Modules/posixmodule.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/posixmodule.c 2026-03-27 18:42:04.383904852 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/posixmodule.c Python-3.11.16-new/Modules/posixmodule.c
+--- Python-3.11.16/Modules/posixmodule.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/posixmodule.c 2026-09-18 19:23:05.748264616 +0200
@@ -343,7 +343,7 @@ corresponding Unix manual entries for mo
# define HAVE_SYSTEM 1
# include <process.h>
@@ -250,9 +250,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/posixmodule.c Python-3.11.15-
return _listdir_windows_no_opendir(path, NULL);
#else
return _posix_listdir(path, NULL);
-diff -rupN --no-dereference Python-3.11.15/Objects/exceptions.c Python-3.11.15-new/Objects/exceptions.c
---- Python-3.11.15/Objects/exceptions.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Objects/exceptions.c 2026-03-27 18:42:04.384935289 +0100
+diff -rupN --no-dereference Python-3.11.16/Objects/exceptions.c Python-3.11.16-new/Objects/exceptions.c
+--- Python-3.11.16/Objects/exceptions.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Objects/exceptions.c 2026-09-18 19:23:05.749862570 +0200
@@ -1648,7 +1648,9 @@ MiddlingExtendsException(PyExc_ImportErr
*/
@@ -264,9 +264,9 @@ diff -rupN --no-dereference Python-3.11.15/Objects/exceptions.c Python-3.11.15-n
#endif
/* Where a function has a single filename, such as open() or some
-diff -rupN --no-dereference Python-3.11.15/Python/dynload_win.c Python-3.11.15-new/Python/dynload_win.c
---- Python-3.11.15/Python/dynload_win.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Python/dynload_win.c 2026-03-27 18:42:04.385907377 +0100
+diff -rupN --no-dereference Python-3.11.16/Python/dynload_win.c Python-3.11.16-new/Python/dynload_win.c
+--- Python-3.11.16/Python/dynload_win.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Python/dynload_win.c 2026-09-18 19:23:05.750484571 +0200
@@ -21,9 +21,9 @@
#endif
@@ -288,9 +288,9 @@ diff -rupN --no-dereference Python-3.11.15/Python/dynload_win.c Python-3.11.15-n
_Py_CheckPython3(void)
{
static int python3_checked = 0;
-diff -rupN --no-dereference Python-3.11.15/Python/sysmodule.c Python-3.11.15-new/Python/sysmodule.c
---- Python-3.11.15/Python/sysmodule.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Python/sysmodule.c 2026-03-27 18:42:04.386281882 +0100
+diff -rupN --no-dereference Python-3.11.16/Python/sysmodule.c Python-3.11.16-new/Python/sysmodule.c
+--- Python-3.11.16/Python/sysmodule.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Python/sysmodule.c 2026-09-18 19:23:05.750871477 +0200
@@ -2982,7 +2982,8 @@ _PySys_InitCore(PyThreadState *tstate, P
goto type_init_failed;
}
diff --git a/mingw-python3_posix-layout.patch b/mingw-python3_posix-layout.patch
index a764ff9..c8a7592 100644
--- a/mingw-python3_posix-layout.patch
+++ b/mingw-python3_posix-layout.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Lib/site.py Python-3.11.15-new/Lib/site.py
---- Python-3.11.15/Lib/site.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Lib/site.py 2026-03-27 18:42:06.551352931 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/site.py Python-3.11.16-new/Lib/site.py
+--- Python-3.11.16/Lib/site.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Lib/site.py 2026-09-18 19:23:08.207027150 +0200
@@ -371,7 +371,7 @@ def getsitepackages(prefixes=None):
continue
seen.add(prefix)
@@ -10,9 +10,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/site.py Python-3.11.15-new/Lib/si
libdirs = [sys.platlibdir]
if sys.platlibdir != "lib":
libdirs.append("lib")
-diff -rupN --no-dereference Python-3.11.15/Lib/sysconfig.py Python-3.11.15-new/Lib/sysconfig.py
---- Python-3.11.15/Lib/sysconfig.py 2026-03-27 18:42:06.310886411 +0100
-+++ Python-3.11.15-new/Lib/sysconfig.py 2026-03-27 18:42:06.551677628 +0100
+diff -rupN --no-dereference Python-3.11.16/Lib/sysconfig.py Python-3.11.16-new/Lib/sysconfig.py
+--- Python-3.11.16/Lib/sysconfig.py 2026-09-18 19:23:07.937613448 +0200
++++ Python-3.11.16-new/Lib/sysconfig.py 2026-09-18 19:23:08.207525622 +0200
@@ -48,13 +48,13 @@ _INSTALL_SCHEMES = {
'data': '{base}',
},
@@ -62,9 +62,9 @@ diff -rupN --no-dereference Python-3.11.15/Lib/sysconfig.py Python-3.11.15-new/L
vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable))
vars['TZPATH'] = ''
-diff -rupN --no-dereference Python-3.11.15/Modules/getpath.c Python-3.11.15-new/Modules/getpath.c
---- Python-3.11.15/Modules/getpath.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/getpath.c 2026-03-27 18:42:06.551968223 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/getpath.c Python-3.11.16-new/Modules/getpath.c
+--- Python-3.11.16/Modules/getpath.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/getpath.c 2026-09-18 19:23:08.207860759 +0200
@@ -883,7 +883,11 @@ _PyConfig_InitPathConfig(PyConfig *confi
if (
@@ -77,10 +77,10 @@ diff -rupN --no-dereference Python-3.11.15/Modules/getpath.c Python-3.11.15-new/
#elif defined(__APPLE__)
!decode_to_dict(dict, "os_name", "darwin") ||
#else
-diff -rupN --no-dereference Python-3.11.15/Modules/getpath.py Python-3.11.15-new/Modules/getpath.py
---- Python-3.11.15/Modules/getpath.py 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/getpath.py 2026-03-27 18:42:06.552253069 +0100
-@@ -186,6 +186,19 @@ if os_name == 'posix' or os_name == 'dar
+diff -rupN --no-dereference Python-3.11.16/Modules/getpath.py Python-3.11.16-new/Modules/getpath.py
+--- Python-3.11.16/Modules/getpath.py 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/getpath.py 2026-09-18 19:23:08.208149326 +0200
+@@ -184,6 +184,19 @@ if os_name == 'posix' or os_name == 'dar
DELIM = ':'
SEP = '/'
@@ -99,8 +99,8 @@ diff -rupN --no-dereference Python-3.11.15/Modules/getpath.py Python-3.11.15-new
+
elif os_name == 'nt':
BUILDDIR_TXT = 'pybuilddir.txt'
- BUILD_LANDMARK = f'{VPATH}\\Modules\\Setup.local'
-@@ -456,7 +469,7 @@ if not py_setpath and not home_was_set:
+ DEFAULT_PROGRAM_NAME = f'python'
+@@ -453,7 +466,7 @@ if not py_setpath and not home_was_set:
# ._pth file, but it cannot override the library's one.
for p in [library, executable, real_executable]:
if p:
diff --git a/mingw-python3_pthread_threadid.patch b/mingw-python3_pthread_threadid.patch
index b955d98..57c17cb 100644
--- a/mingw-python3_pthread_threadid.patch
+++ b/mingw-python3_pthread_threadid.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Python/thread_pthread.h Python-3.11.15-new/Python/thread_pthread.h
---- Python-3.11.15/Python/thread_pthread.h 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Python/thread_pthread.h 2026-03-27 18:42:05.355309981 +0100
+diff -rupN --no-dereference Python-3.11.16/Python/thread_pthread.h Python-3.11.16-new/Python/thread_pthread.h
+--- Python-3.11.16/Python/thread_pthread.h 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Python/thread_pthread.h 2026-09-18 19:23:06.895330721 +0200
@@ -352,6 +352,9 @@ PyThread_get_thread_native_id(void)
#elif defined(__NetBSD__)
lwpid_t native_id;
diff --git a/mingw-python3_pythonw.patch b/mingw-python3_pythonw.patch
index 1588ae7..2f869ac 100644
--- a/mingw-python3_pythonw.patch
+++ b/mingw-python3_pythonw.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Makefile.pre.in
---- Python-3.11.15/Makefile.pre.in 2026-03-27 18:42:05.111906097 +0100
-+++ Python-3.11.15-new/Makefile.pre.in 2026-03-27 18:42:05.115906104 +0100
+diff -rupN --no-dereference Python-3.11.16/Makefile.pre.in Python-3.11.16-new/Makefile.pre.in
+--- Python-3.11.16/Makefile.pre.in 2026-09-18 19:23:06.606947164 +0200
++++ Python-3.11.16-new/Makefile.pre.in 2026-09-18 19:23:06.618200502 +0200
@@ -284,6 +284,7 @@ LIBOBJS= @LIBOBJS@
PYTHON= python$(EXE)
@@ -9,7 +9,7 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
HOSTRUNNER= @HOSTRUNNER@
-@@ -585,7 +586,7 @@ LIBEXPAT_HEADERS= \
+@@ -588,7 +589,7 @@ LIBEXPAT_HEADERS= \
# Default target
all: @DEF_MAKE_ALL_RULE@
@@ -18,7 +18,7 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
gdbhooks Programs/_testembed python-config
build_wasm: check-clean-src $(BUILDPYTHON) platform oldsharedmods python-config
-@@ -704,9 +705,29 @@ coverage-report: regen-token regen-froze
+@@ -707,9 +708,29 @@ coverage-report: regen-token regen-froze
clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
@@ -50,7 +50,7 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
platform: $(PYTHON_FOR_BUILD_DEPS) pybuilddir.txt
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
-@@ -810,10 +831,10 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION
+@@ -813,10 +834,10 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION
# This rule builds the Cygwin Python DLL and import library if configured
# for a shared core library; otherwise, this rule is a noop.
@@ -63,7 +63,7 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
else true; \
fi
-@@ -1805,6 +1826,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK
+@@ -1810,6 +1831,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORK
done
if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
$(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
@@ -71,9 +71,9 @@ diff -rupN --no-dereference Python-3.11.15/Makefile.pre.in Python-3.11.15-new/Ma
else \
$(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
fi
-diff -rupN --no-dereference Python-3.11.15/PC/python_exe.rc Python-3.11.15-new/PC/python_exe.rc
---- Python-3.11.15/PC/python_exe.rc 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/PC/python_exe.rc 2026-03-27 18:42:05.116325800 +0100
+diff -rupN --no-dereference Python-3.11.16/PC/python_exe.rc Python-3.11.16-new/PC/python_exe.rc
+--- Python-3.11.16/PC/python_exe.rc 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/PC/python_exe.rc 2026-09-18 19:23:06.619725166 +0200
@@ -12,7 +12,7 @@
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
@@ -83,9 +83,9 @@ diff -rupN --no-dereference Python-3.11.15/PC/python_exe.rc Python-3.11.15-new/P
/////////////////////////////////////////////////////////////////////////////
-diff -rupN --no-dereference Python-3.11.15/PC/python_nt.rc Python-3.11.15-new/PC/python_nt.rc
---- Python-3.11.15/PC/python_nt.rc 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/PC/python_nt.rc 2026-03-27 18:42:05.116467348 +0100
+diff -rupN --no-dereference Python-3.11.16/PC/python_nt.rc Python-3.11.16-new/PC/python_nt.rc
+--- Python-3.11.16/PC/python_nt.rc 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/PC/python_nt.rc 2026-09-18 19:23:06.620293734 +0200
@@ -39,7 +39,7 @@ BEGIN
VALUE "FileVersion", PYTHON_VERSION
VALUE "InternalName", "Python DLL\0"
@@ -95,9 +95,9 @@ diff -rupN --no-dereference Python-3.11.15/PC/python_nt.rc Python-3.11.15-new/PC
VALUE "ProductName", "Python\0"
VALUE "ProductVersion", PYTHON_VERSION
END
-diff -rupN --no-dereference Python-3.11.15/PC/python_ver_rc.h Python-3.11.15-new/PC/python_ver_rc.h
---- Python-3.11.15/PC/python_ver_rc.h 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/PC/python_ver_rc.h 2026-03-27 18:42:05.116637379 +0100
+diff -rupN --no-dereference Python-3.11.16/PC/python_ver_rc.h Python-3.11.16-new/PC/python_ver_rc.h
+--- Python-3.11.16/PC/python_ver_rc.h 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/PC/python_ver_rc.h 2026-09-18 19:23:06.620824836 +0200
@@ -3,6 +3,7 @@
//
#pragma code_page(1252)
@@ -106,9 +106,9 @@ diff -rupN --no-dereference Python-3.11.15/PC/python_ver_rc.h Python-3.11.15-new
#define PYTHON_COMPANY "Python Software Foundation"
#define PYTHON_COPYRIGHT "Copyright \xA9 2001-2023 Python Software Foundation. Copyright \xA9 2000 BeOpen.com. Copyright \xA9 1995-2001 CNRI. Copyright \xA9 1991-1995 SMC."
-diff -rupN --no-dereference Python-3.11.15/PC/pythonw_exe.rc Python-3.11.15-new/PC/pythonw_exe.rc
---- Python-3.11.15/PC/pythonw_exe.rc 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/PC/pythonw_exe.rc 2026-03-27 18:42:05.116765435 +0100
+diff -rupN --no-dereference Python-3.11.16/PC/pythonw_exe.rc Python-3.11.16-new/PC/pythonw_exe.rc
+--- Python-3.11.16/PC/pythonw_exe.rc 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/PC/pythonw_exe.rc 2026-09-18 19:23:06.621350873 +0200
@@ -12,7 +12,7 @@
// current versions of Windows.
1 RT_MANIFEST "python.manifest"
@@ -118,9 +118,9 @@ diff -rupN --no-dereference Python-3.11.15/PC/pythonw_exe.rc Python-3.11.15-new/
/////////////////////////////////////////////////////////////////////////////
-diff -rupN --no-dereference Python-3.11.15/Programs/python.c Python-3.11.15-new/Programs/python.c
---- Python-3.11.15/Programs/python.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Programs/python.c 2026-03-27 18:42:05.116940518 +0100
+diff -rupN --no-dereference Python-3.11.16/Programs/python.c Python-3.11.16-new/Programs/python.c
+--- Python-3.11.16/Programs/python.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Programs/python.c 2026-09-18 19:23:06.621947191 +0200
@@ -8,10 +8,9 @@ wmain(int argc, wchar_t **argv)
{
return Py_Main(argc, argv);
diff --git a/mingw-python3_setenv.patch b/mingw-python3_setenv.patch
index 5b13b07..cb8c0cb 100644
--- a/mingw-python3_setenv.patch
+++ b/mingw-python3_setenv.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Python/pylifecycle.c Python-3.11.15-new/Python/pylifecycle.c
---- Python-3.11.15/Python/pylifecycle.c 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Python/pylifecycle.c 2026-03-27 18:42:04.644434761 +0100
+diff -rupN --no-dereference Python-3.11.16/Python/pylifecycle.c Python-3.11.16-new/Python/pylifecycle.c
+--- Python-3.11.16/Python/pylifecycle.c 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Python/pylifecycle.c 2026-09-18 19:23:06.036851690 +0200
@@ -61,6 +61,27 @@ extern void _PyIO_Fini(void);
#define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str))
diff --git a/mingw-python3_win-modules.patch b/mingw-python3_win-modules.patch
index 6a72666..7b2848d 100644
--- a/mingw-python3_win-modules.patch
+++ b/mingw-python3_win-modules.patch
@@ -1,6 +1,6 @@
-diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modules/Setup
---- Python-3.11.15/Modules/Setup 2026-03-27 18:42:06.547165649 +0100
-+++ Python-3.11.15-new/Modules/Setup 2026-03-27 18:42:06.824901457 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/Setup Python-3.11.16-new/Modules/Setup
+--- Python-3.11.16/Modules/Setup 2026-09-18 19:23:08.202833836 +0200
++++ Python-3.11.16-new/Modules/Setup 2026-09-18 19:23:08.460113755 +0200
@@ -270,6 +270,12 @@ mmap mmapmodule.c
# macOS specific module, needs SystemConfiguration and CoreFoundation framework
# _scproxy _scproxy.c
@@ -14,9 +14,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/Setup Python-3.11.15-new/Modu
# Examples
#xx xxmodule.c
-diff -rupN --no-dereference Python-3.11.15/Modules/Setup.bootstrap.in Python-3.11.15-new/Modules/Setup.bootstrap.in
---- Python-3.11.15/Modules/Setup.bootstrap.in 2026-03-03 01:52:57.000000000 +0100
-+++ Python-3.11.15-new/Modules/Setup.bootstrap.in 2026-03-27 18:42:06.825860003 +0100
+diff -rupN --no-dereference Python-3.11.16/Modules/Setup.bootstrap.in Python-3.11.16-new/Modules/Setup.bootstrap.in
+--- Python-3.11.16/Modules/Setup.bootstrap.in 2026-08-13 01:03:19.000000000 +0200
++++ Python-3.11.16-new/Modules/Setup.bootstrap.in 2026-09-18 19:23:08.460569376 +0200
@@ -8,15 +8,15 @@
# module C APIs are used in core
atexit atexitmodule.c
@@ -42,9 +42,9 @@ diff -rupN --no-dereference Python-3.11.15/Modules/Setup.bootstrap.in Python-3.1
@MODULE_PWD_TRUE@pwd pwdmodule.c
+
+winreg ../PC/winreg.c
-diff -rupN --no-dereference Python-3.11.15/setup.py Python-3.11.15-new/setup.py
---- Python-3.11.15/setup.py 2026-03-27 18:42:06.547436682 +0100
-+++ Python-3.11.15-new/setup.py 2026-03-27 18:42:06.826909025 +0100
+diff -rupN --no-dereference Python-3.11.16/setup.py Python-3.11.16-new/setup.py
+--- Python-3.11.16/setup.py 2026-09-18 19:23:08.203119714 +0200
++++ Python-3.11.16-new/setup.py 2026-09-18 19:23:08.460918402 +0200
@@ -1382,6 +1382,15 @@ class PyBuildExt(build_ext):
self.addext(Extension('xxlimited', ['xxlimited.c']))
self.addext(Extension('xxlimited_35', ['xxlimited_35.c']))
diff --git a/sources b/sources
index 56f68f4..d270a50 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (Python-3.11.15.tar.xz) = 1667f4839acfd23d05917a12993983b7dc3ab4438a37c72496fd040ac6981f4dea9dc95461ca701a6862beedb56c423fb83398b8b18e39e1efe12f539fced1c1
+SHA512 (Python-3.11.16.tar.xz) = f4e168d35596c2df080663d8e8b3472f03bace987d46b49b8410f2425ba193215b9880c7d03d4653ec31c83b72209d95866fc1cb6d666799145075b092f64a48
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-18 17:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-18 17:26 [rpms/mingw-python3] f43: Update to 3.11.16 Sandro Mani
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox