diff options
| author | root <root@alpha.trunkmasters.com> | 2026-08-05 03:04:47 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-08-05 03:04:47 -0500 |
| commit | ff03324f0b5c30484659977ecb3a56e73f5856a5 (patch) | |
| tree | d3d9a7636e37b0d2eec93ddf61a47caeda399de0 /dev-python/django | |
| parent | eed03ed6da4435154826115469c3956ad88ee8a5 (diff) | |
| download | baldeagleos-repo-ff03324f0b5c30484659977ecb3a56e73f5856a5.tar.gz baldeagleos-repo-ff03324f0b5c30484659977ecb3a56e73f5856a5.tar.xz baldeagleos-repo-ff03324f0b5c30484659977ecb3a56e73f5856a5.zip | |
Adding metadata
Diffstat (limited to 'dev-python/django')
| -rw-r--r-- | dev-python/django/Manifest | 4 | ||||
| -rw-r--r-- | dev-python/django/django-5.2.17.ebuild | 116 | ||||
| -rw-r--r-- | dev-python/django/django-6.0.7.ebuild | 2 | ||||
| -rw-r--r-- | dev-python/django/django-6.0.8.ebuild | 116 | ||||
| -rw-r--r-- | dev-python/django/files/django-6.0.7-py315-mail.patch | 47 |
5 files changed, 285 insertions, 0 deletions
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest index 0b050c11ad74..1093b86c20c4 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -1,4 +1,8 @@ DIST Django-5.2.16.checksum.txt 2615 BLAKE2B d40332f538f509e60fb1f781fdd5f2994e4accda853f24dd6c82c0f289596a4458e567baf278489cecc13df3d9ae05ff1f5c349851c17aee25702ff44067a92e SHA512 6137ce7318f052de4750147eeaae0ae7ba6e10bc796fa257f01059f30039f3c3a5ad9db44a330948146bf1b272a9a6cec0428afafa17d5f4686aac2791663b65 +DIST Django-5.2.17.checksum.txt 2609 BLAKE2B 02c9c13623a5dbed385b41323f8b65173933df368a05d1a1e70fcc1f58a34a983a3c4d001907e35b5b759e1493f3afa157be675077adf7dbb2fbb84a9c26a88c SHA512 b5c5d7b8645669e074ac1a76d3ad307cf1e3d66bbc08ad33abf3107bc1e7b8d43424d2a6cdd6f244994ce33554fd408a292ce6eac03d577d247f4276bdf5f415 DIST Django-6.0.7.checksum.txt 2604 BLAKE2B 2e119945d7bc98eb7363d3996168bf3d408563694caa4102dadd6650e98a00cf40f7560b1d0b0e6ee7e8266adeb7f762631e0670bf5be305d9a3add5ed85be7b SHA512 c51adb820ba8c14787b7c6ea5ab63556f1acd78c121db91d35f73ee275ce00ec91abda68aff027685fbcef09c8713e04d8fa091a30231a621f5d009c67d9a600 +DIST Django-6.0.8.checksum.txt 2598 BLAKE2B e5f3ed079b63754f159c753dc8e74cfc539beade44ec790a318e029ff8a149b0abe90ac31a4bd4dddd7bc563c1a2460ecd51d7deb03520a2f6cc28a41663923d SHA512 f75c78d6506be1d31cf984e029d0bc4e80fa415ac5a83c0e57b5ecc873240da8af4962cb1b262efc032a274a017e265cb8806d397c1720bab247f3592a2eaf8d DIST django-5.2.16.tar.gz 10890894 BLAKE2B b2424a35e3d1f9fd964ded7c3e5fd8c517686c1a004b3507fb61ac9a6fd2002343975c4126068b109e78bea8a4e545dc6a2c97dd53f8b9128e04b6c0249406ea SHA512 7925e20a35f261c05db6666522420e1f0fbc34a6097ecd4b80e82a4b05e1e5cf0e595355c93a2c15e7d7dbe469fbef152518b747b9389807c99b73886dd00a5f +DIST django-5.2.17.tar.gz 10889740 BLAKE2B 2cb1bcb7f2f872dd3c01447709a2f35c74ecd9470ce332b616bdf04e5951d38405380af19001ace033351330f7f645ed61c9b628cea21665f92c3757fcda5e0c SHA512 3f960e8227ab71d42f33700e689db6f359411d43efd3b138c59e66aac245a110f33458dcc9e7b27ddbda16b2a1c97e1e56ce00c9ace8294216eded8a4af8815f DIST django-6.0.7.tar.gz 10921299 BLAKE2B c37cee606d77faa96da298d4331fdd9803c56d45f18f29f271234cb7670055c1cf1abb40230837767cd120ba5c46b7dd030f50f3c1d16be7f8b252ea6b1ab143 SHA512 c9566b26b31d1f6a10de99621e8e9d8e0be1c6b33c643fad00c46f8a2049c7fa47a38b7a9fe51605ee41c0d8a14c27a3ff6bc771910190daf473fe05379690db +DIST django-6.0.8.tar.gz 10924565 BLAKE2B 9a0e4ff8f0548874080cc59982d64881892bb8c71c4edf346dff68628e6c98366e66a7e4f6e0a39edab0fb7b513e36fd2e3dc41f94743c72dae8113e4fda1780 SHA512 ae763252794b15a0cfd47bcf2eab00cb12bceeebdf7abc7c295ed41cb0b1b60ffbe2c2abbd032de9afaa193d63aa89c5d8df9ce3f58164a2dcb8c70ba6244764 diff --git a/dev-python/django/django-5.2.17.ebuild b/dev-python/django/django-5.2.17.ebuild new file mode 100644 index 000000000000..3e0954d7f487 --- /dev/null +++ b/dev-python/django/django-5.2.17.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit distutils-r1 multiprocessing optfeature shell-completion verify-sig + +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) +" + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + # d55979334dcefdb11626220000bec97ade09df07 + # 2026-07-10: force "fork" method in tests anyway, as we're hitting + # random failures anyway + "${FILESDIR}"/django-5.2.7-py314.patch + # based on upstream commits: + # b1a65eac7c09250d36e12464fc8fff2a401246b6 + # ed13a58bf63df94508c8a0fe779da0b6a2bc26bb + # e7f539f813bd56a71ca3c1fbf379f47691002086 + # plus my own fixes + "${FILESDIR}"/django-6.0.7-py315.patch +) + +distutils_enable_sphinx docs --no-autodoc + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${P^}.checksum.txt" sha256 "${P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + distutils-r1_src_prepare + + # flaky as hell + sed -e 's:test_crafted_xml_performance:_&:' \ + -i tests/serializers/test_deserialization.py || die +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion django-admin + bashcomp_alias django-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} diff --git a/dev-python/django/django-6.0.7.ebuild b/dev-python/django/django-6.0.7.ebuild index a6bd7557d822..13792009091f 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/django-6.0.8.ebuild b/dev-python/django/django-6.0.8.ebuild new file mode 100644 index 000000000000..ad242780d1d6 --- /dev/null +++ b/dev-python/django/django-6.0.8.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit distutils-r1 multiprocessing optfeature shell-completion verify-sig + +MY_P=${P/_} +DESCRIPTION="High-level Python web framework" +HOMEPAGE=" + https://www.djangoproject.com/ + https://github.com/django/django/ + https://pypi.org/project/Django/ +" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${MY_P^}.checksum.txt ) +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +# admin fonts: Roboto (media-fonts/roboto) +LICENSE+=" Apache-2.0" +# admin icons, jquery, xregexp.js +LICENSE+=" MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + <dev-python/asgiref-4[${PYTHON_USEDEP}] + >=dev-python/asgiref-3.9.1[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}] + sys-libs/timezone-data +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + >=dev-python/docutils-0.19[${PYTHON_USEDEP}] + >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] + >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] + sys-devel/gettext + ) + verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 ) +" + +PATCHES=( + "${FILESDIR}"/django-4.0-bashcomp.patch + # based on upstream commits: + # b1a65eac7c09250d36e12464fc8fff2a401246b6 + # ed13a58bf63df94508c8a0fe779da0b6a2bc26bb + # 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 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "${MY_P^}.checksum.txt" sha256 "${MY_P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + distutils-r1_src_prepare + + # flaky as hell + sed -e 's:test_crafted_xml_performance:_&:' \ + -i tests/serializers/test_deserialization.py || die +} + +python_test() { + # Tests have non-standard assumptions about PYTHONPATH, + # and don't work with ${BUILD_DIR}/lib. + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ + -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || + die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + newbashcomp extras/django_bash_completion django-admin + bashcomp_alias django-admin django-admin.py + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature_header "Additional Backend support can be enabled via:" + optfeature "MySQL backend support" dev-python/mysqlclient + optfeature "PostgreSQL backend support" dev-python/psycopg:0 + optfeature_header + optfeature "GEO Django" "sci-libs/gdal[geos]" + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached + optfeature "ImageField Support" dev-python/pillow + optfeature "Password encryption" dev-python/bcrypt +} 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): |
