repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
MichaŠGórny <[email protected]> Wed, 05 Aug 2026 07:48:07 +0000 (UTC)
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1785915100.aae5261c5f117b9083cc932f3ace885506f65832.mgorny@gentoo> |
commit: aae5261c5f117b9083cc932f3ace885506f65832
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 5 07:31:34 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 5 07:31:40 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aae5261c
dev-python/django: Backport SMTP py3.15 test fix to 6.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/django/django-6.0.7.ebuild | 2 +
.../django/files/django-6.0.7-py315-mail.patch | 47 ++++++++++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/dev-python/django/django-6.0.7.ebuild b/dev-python/django/django-6.0.7.ebuild
index f5b8bb6eb04a..6a24eeb26d4c 100644
--- a/dev-python/django/django-6.0.7.ebuild
+++ b/dev-python/django/django-6.0.7.ebuild
@@ -62,6 +62,8 @@ PATCHES=(
# e7f539f813bd56a71ca3c1fbf379f47691002086
# plus my own fixes
"${FILESDIR}"/django-6.0.7-py315.patch
+ # rebase of 25cf1cbb1cb92c6c57b76cc43d697cfdc61f568f
+ "${FILESDIR}"/django-6.0.7-py315-mail.patch
)
distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/django/files/django-6.0.7-py315-mail.patch b/dev-python/django/files/django-6.0.7-py315-mail.patch
new file mode 100644
index 000000000000..231fe32b2c1d
--- /dev/null
+++ b/dev-python/django/files/django-6.0.7-py315-mail.patch
@@ -0,0 +1,47 @@
+diff --git a/tests/mail/tests.py b/tests/mail/tests.py
+index 5cc9148d5b..5cf7bac2da 100644
+--- a/tests/mail/tests.py
++++ b/tests/mail/tests.py
+@@ -11,6 +11,7 @@ from datetime import datetime, timezone
+ from email import message_from_binary_file
+ from email import message_from_bytes as _message_from_bytes
+ from email import policy
++from email.errors import HeaderWriteError
+ from email.headerregistry import Address
+ from email.message import EmailMessage as PyEmailMessage
+ from email.message import Message as PyMessage
+@@ -3145,17 +3146,25 @@ class SMTPBackendTests(BaseEmailBackendTests, SMTPBackendTestsBase):
+ )
+
+ def test_rejects_non_ascii_local_part(self):
+- """
+- The SMTP EmailBackend does not currently support non-ASCII local-parts.
+- (That would require using the RFC 6532 SMTPUTF8 extension.) #35713.
+- """
++ # The SMTP EmailBackend must work around invalid email encoding caused
++ # by https://github.com/python/cpython/issues/122476 (#35713).
++ try:
++ # Detect fix for CPython issue gh-122476.
++ message = PyEmailMessage()
++ message["To"] = "nø@example.dk"
++ message.as_bytes()
++ except HeaderWriteError:
++ # PY315: Error from Python email generator.
++ msg = "Non-ASCII local-part 'nø' is invalid"
++ else:
++ # Python <=3.14: Error from smtp.EmailBackend.prep_address().
++ msg = (
++ "Invalid address 'nø@example.dk': local-part contains "
++ "non-ASCII characters"
++ )
+ backend = smtp.EmailBackend()
+- backend.connection = mock.Mock(spec=object())
+ email = EmailMessage(to=["nø@example.dk"])
+- with self.assertRaisesMessage(
+- ValueError,
+- "Invalid address 'nø@example.dk': local-part contains non-ASCII characters",
+- ):
++ with self.assertRaisesMessage((ValueError, HeaderWriteError), msg):
+ backend.send_messages([email])
+
+ def test_prep_address_without_force_ascii(self):