public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2018-07-18 19:08 Virgil Dupras
  0 siblings, 0 replies; 9+ messages in thread
From: Virgil Dupras @ 2018-07-18 19:08 UTC (permalink / raw
  To: gentoo-commits

commit:     e9cd3ace73ed2e01653028c67bc9b4ecbb9a1f93
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 18 19:07:52 2018 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Wed Jul 18 19:07:52 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9cd3ace

dev-python/django: bump to 2.0.7

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-python/django/Manifest                         |   1 +
 dev-python/django/django-2.0.7.ebuild              | 110 +++++++++++++++++++++
 .../django/files/django-2.0.7-bashcomp.patch       |  41 ++++++++
 3 files changed, 152 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 22a10e97bc1..85e277a20ee 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -6,3 +6,4 @@ DIST Django-1.6.11.tar.gz 6764000 BLAKE2B 85ea8c37e0728405e0109504e81db92a0a4f31
 DIST Django-1.7.11.tar.gz 7586798 BLAKE2B b48ba892e7c4830d122f179e7247862ee571b63ff840b9107d3d8ab21700ae744c6f51cfd7cb3606961b454c288c3f73f238301fcb5620b37b6fab4a1bf02ebe SHA512 2e3415295ee6b590e366b09adb261baccb750519b9bcef1bb09bd52a2db705c8082bfc13440c621a5f41dd4f9bd626792eba4a572e78de3b7caf93c951c406ee
 DIST Django-1.8.18.tar.gz 7297986 BLAKE2B 3cf777d98bfc278a3b6458cbb1bbd273e6b77e35bdae24e73cd1af6b6ab7e71ef12d36df73d90a3971ac3b6fe6edbb4a2d14a95a6f2200c99419a049eb95cdda SHA512 41959c1012feec579dc991129976a655bc2f1ff7298bd05951c925b3d0a86a67cc32bf8a78273236b3db05cc1eb841a7aba5091bd06a072dd73c55eb0f7ecee8
 DIST Django-1.9.13.tar.gz 7498364 BLAKE2B f65cd9a20e6fa3f2f60e353a74d32f9ef1872a673ec60b1332cedeef99fbdd237a8221e3ff49fbc05bfbe831c6507fb745a63212a6739f76e889fce3445d3347 SHA512 bf642d5c342dd523ceb7a580213255ddf91a24bd5506355325b72c0eb91774d120ddb89d728a4b432ef0a587f8448e915c3217adcaa8ff5aa816873fa01ae7c0
+DIST Django-2.0.7.tar.gz 7988568 BLAKE2B afc3fb9cd3f37b7488ad8eb46eb9ebb540c54b04661a44620951930a352537ee3a3072a604fd2cbbc95ea3fe112ebab25f45f971bc30ad48161eb8cda26db6d3 SHA512 ef42d9046ce3e7b5067c5b85114c0cb5854b0ebb1d3bae526484f11da8abbf04864c83f176e9c6e498c9140b134c9a517968c7bb0bc087c49bf105b2aae8644c

diff --git a/dev-python/django/django-2.0.7.ebuild b/dev-python/django/django-2.0.7.ebuild
new file mode 100644
index 00000000000..133d40ffb7d
--- /dev/null
+++ b/dev-python/django/django-2.0.7.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5,6} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils eapi7-ver webapp
+
+MY_PN="Django"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="https://www.djangoproject.com/ https://pypi.org/project/Django/"
+SRC_URI="
+	https://www.djangoproject.com/m/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
+	mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz
+	"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	dev-python/pytz[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+	test? (
+		$(python_gen_impl_dep sqlite)
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pillow[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+	)"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.0.7-bashcomp.patch
+)
+
+pkg_setup() {
+	webapp_pkg_setup
+}
+
+python_prepare_all() {
+	# Prevent d'loading in the doc build
+	sed -e '/^    "sphinx.ext.intersphinx",/d' -i docs/conf.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	use doc && emake -C docs html
+}
+
+python_test() {
+	# Tests have non-standard assumptions about PYTHONPATH,
+	# and don't work with ${BUILD_DIR}/lib.
+	PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 --parallel 1 \
+		|| die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/django_bash_completion ${PN}-admin
+	bashcomp_alias ${PN}-admin django-admin.py
+
+	if use doc; then
+		rm -fr docs/_build/html/_sources || die
+		local HTML_DOCS=( docs/_build/html/. )
+	fi
+
+	insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+	doins -r django/contrib/admin/static/admin/.
+	distutils-r1_python_install_all
+}
+
+src_install() {
+	distutils-r1_src_install
+	webapp_src_install
+}
+
+pkg_postinst() {
+	elog "Additional Backend support can be enabled via"
+	optfeature "MySQL backend support" dev-python/mysqlclient
+	optfeature "PostgreSQL backend support" dev-python/psycopg:2
+	echo ""
+	elog "Other features can be enhanced by"
+	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
+	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+	echo ""
+	elog "A copy of the admin media is available to webapp-config for installation in a"
+	elog "webroot, as well as the traditional location in python's site-packages dir"
+	elog "for easy development."
+	webapp_pkg_postinst
+}

diff --git a/dev-python/django/files/django-2.0.7-bashcomp.patch b/dev-python/django/files/django-2.0.7-bashcomp.patch
new file mode 100644
index 00000000000..2d886fe6481
--- /dev/null
+++ b/dev-python/django/files/django-2.0.7-bashcomp.patch
@@ -0,0 +1,41 @@
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,37 +37,4 @@ _django_completion()
+                    COMP_CWORD=$COMP_CWORD \
+                    DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
+-
+-_python_django_completion()
+-{
+-    if [[ ${COMP_CWORD} -ge 2 ]]; then
+-        local PYTHON_EXE=${COMP_WORDS[0]##*/}
+-        echo $PYTHON_EXE | egrep "python([3-9]\.[0-9])?" >/dev/null 2>&1
+-        if [[ $? == 0 ]]; then
+-            local PYTHON_SCRIPT=${COMP_WORDS[1]##*/}
+-            echo $PYTHON_SCRIPT | egrep "manage\.py|django-admin(\.py)?" >/dev/null 2>&1
+-            if [[ $? == 0 ]]; then
+-                COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]:1}" \
+-                               COMP_CWORD=$(( COMP_CWORD-1 )) \
+-                               DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) )
+-            fi
+-        fi
+-    fi
+-}
+-
+-# Support for multiple interpreters.
+-unset pythons
+-if command -v whereis &>/dev/null; then
+-    python_interpreters=$(whereis python | cut -d " " -f 2-)
+-    for python in $python_interpreters; do
+-        [[ $python != *-config ]] && pythons="${pythons} ${python##*/}"
+-    done
+-    unset python_interpreters
+-    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+-    pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons
+-unset pythons
++complete -F _django_completion -o default django-admin.py django-admin


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2020-08-04 13:48 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2020-08-04 13:48 UTC (permalink / raw
  To: gentoo-commits

commit:     0320d55352e1771c9350851b5e9f59818e5ec8df
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  4 12:43:23 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug  4 13:48:42 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0320d553

dev-python/django: Bump to 3.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                        |  1 +
 dev-python/django/django-3.1.ebuild               | 79 +++++++++++++++++++++++
 dev-python/django/files/django-3.1-bashcomp.patch | 56 ++++++++++++++++
 3 files changed, 136 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index bf0f16d5be8..22d114b9f61 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,3 +4,4 @@ DIST Django-2.2.15.tar.gz 9023679 BLAKE2B 9619d0ac45a8256a1e605f447b89df6266d67d
 DIST Django-3.0.7.tar.gz 8947502 BLAKE2B c26752f41f04f23ea1db9863d0919c17ed27b75133e22cc342e453e40077f05f6458f8edd290bfdcf828a181e38d89a1b4faeaa9cb44176ff0f7d67910d6b9df SHA512 566a78c3686baaea2ea8f2db2c1762a78ec5e5ae44f0be43f49c83899c2a0a9d1b2297a05ce8f4bc6bc580c494dde66bb2be47a8269cce3e1b007fedd857e5d3
 DIST Django-3.0.8.tar.gz 9080731 BLAKE2B b3276527c9c5eba18b380204c498ebd5724e5211640ead9e05284eb013f907ce6799125b29e2030bc37ecd5a1022e6eb3f193eca5e2c6520adef630d6d2114a9 SHA512 92d169fb37883355f1898fc13b54b6732ec14d71f77e4b91db30dd9bfb5df8b34c1c9566af6ddc37e00a9e3eadd38b6a51ff604a4da4285167f66b55215be301
 DIST Django-3.0.9.tar.gz 9081099 BLAKE2B 502f9cf1fafff50d92c771e845319f5406722cdb8ca0570688bb96e7fbc765cee319325b0340b722afeb0a304316d30408ca92154623ad4934877cbdc8ee9259 SHA512 1244b9cff26b9e8d9a3d611e0a39981bd1a46d68fa734a58ba12fd51eeb023fb053605372d7b41b51027e4e609f1870d25f7e0584d0449ceeb8d877f674e49b4
+DIST Django-3.1.tar.gz 9382872 BLAKE2B 31f2a45cf31f87401ac1834be81cf207ca48f720bf6d6885b774fb51f42616be1346b8ab71d6c0b605d99bc7422f27b21665729b78e00c9cc0ba9cf3e4d788f3 SHA512 31f0821966f4ebc6b2a719b69f1137a32a7228414221e8938a66c9b940465c008761bd380ba9ea603e3693d38c233d6f23afe0cbe5647eb2478844ce2d0e7fd4

diff --git a/dev-python/django/django-3.1.ebuild b/dev-python/django/django-3.1.ebuild
new file mode 100644
index 00000000000..04d8f1897c1
--- /dev/null
+++ b/dev-python/django/django-3.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 eutils
+
+MY_PN="Django"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="https://www.djangoproject.com/ https://pypi.org/project/Django/"
+SRC_URI="https://www.djangoproject.com/m/releases/$(ver_cut 1-2)/${MY_P}.tar.gz"
+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"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-python/asgiref[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
+BDEPEND="
+	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+	test? (
+		$(python_gen_impl_dep sqlite)
+		${RDEPEND}
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/jinja[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pillow[webp,${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/selenium[${PYTHON_USEDEP}]
+		dev-python/tblib[${PYTHON_USEDEP}]
+	)"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+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 ||
+		die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/django_bash_completion ${PN}-admin
+	bashcomp_alias ${PN}-admin django-admin.py
+
+	distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+	elog "Additional Backend support can be enabled via"
+	optfeature "MySQL backend support" dev-python/mysqlclient
+	optfeature "PostgreSQL backend support" dev-python/psycopg:2
+	echo ""
+	elog "Other features can be enhanced by"
+	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
+	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+}

diff --git a/dev-python/django/files/django-3.1-bashcomp.patch b/dev-python/django/files/django-3.1-bashcomp.patch
new file mode 100644
index 00000000000..1652842aaa3
--- /dev/null
+++ b/dev-python/django/files/django-3.1-bashcomp.patch
@@ -0,0 +1,56 @@
+From e0a8c0663debeb222bf78b97678f60929313b60a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 6 May 2020 07:24:05 +0200
+Subject: [PATCH] Remove completions unsuitable for autoloading
+
+The override of 'python*' completions, as well as the attempt
+to './manage.py' completion are not going to work with autoloader.
+Strip them.
+---
+ extras/django_bash_completion | 33 +--------------------------------
+ 1 file changed, 1 insertion(+), 32 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+index fa77d59aff..dfeb439a2e 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,35 +37,4 @@ _django_completion()
+                    DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+ # When the django-admin.py deprecation ends, remove django-admin.py.
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
+-
+-_python_django_completion()
+-{
+-    if [[ ${COMP_CWORD} -ge 2 ]]; then
+-        local PYTHON_EXE=${COMP_WORDS[0]##*/}
+-        if echo "$PYTHON_EXE" | grep -qE "python([3-9]\.[0-9])?"; then
+-            local PYTHON_SCRIPT=${COMP_WORDS[1]##*/}
+-            if echo "$PYTHON_SCRIPT" | grep -qE "manage\.py|django-admin(\.py)?"; then
+-                COMPREPLY=( $( COMP_WORDS=( "${COMP_WORDS[*]:1}" )
+-                               COMP_CWORD=$(( COMP_CWORD-1 ))
+-                               DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) )
+-            fi
+-        fi
+-    fi
+-}
+-
+-# Support for multiple interpreters.
+-unset pythons
+-if command -v whereis &>/dev/null; then
+-    python_interpreters=$(whereis python | cut -d " " -f 2-)
+-    for python in $python_interpreters; do
+-        [[ $python != *-config ]] && pythons="${pythons} ${python##*/}"
+-    done
+-    unset python_interpreters
+-    pythons=$(echo "$pythons" | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+-    pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons
+-unset pythons
++complete -F _django_completion -o default django-admin.py django-admin
+-- 
+2.28.0
+


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2021-05-04 12:41 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2021-05-04 12:41 UTC (permalink / raw
  To: gentoo-commits

commit:     3703aa37836173cc49f115e982bb26c118511ddd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  4 10:14:53 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May  4 12:41:08 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3703aa37

dev-python/django: Bump to 3.2.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                         |  2 +
 dev-python/django/django-3.2.1.ebuild              | 95 ++++++++++++++++++++++
 .../django/files/django-2.2.21-fix-bpo43882.patch  | 25 ++++++
 3 files changed, 122 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index d05cbffc998..b96e7ba4262 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,5 +4,7 @@ DIST Django-3.0.14.checksum.txt 2553 BLAKE2B 142b407d6573cac8d07a140370123ce3996
 DIST Django-3.0.14.tar.gz 9259569 BLAKE2B 454b91900a9d8cf81f6227adb465e4f9e0da16e4ddab40fa4a1c66ab131832088dd89be129ec97fd70dc8725e826e7da2c657c87c2339db64dd3eba410a91eb3 SHA512 d503f99417479e5c8be928981c14517c519adc88923efaec691cf090b4d9de77424d9ca5dae09a29dae4cb5e962cd86bbfb39cc86c3e910d45bc1757cf169d4a
 DIST Django-3.1.8.checksum.txt 2544 BLAKE2B e62097ab681f16fb9732b656a05edc77673e3eefd81112bb7d362857c81f3d3f16baeb354e48f5989be8044df11440436ea39315d8c5f573968e93a54d310a3e SHA512 7c41575a3ee18f0db07b51a02ec780cf51a4cd375879c368f1b3dca405b13d1fec303bd2b85a38732c4a371c8aee7ec49fa5e12d3e1c88295a8c5e6e65f7b9c7
 DIST Django-3.1.8.tar.gz 9651582 BLAKE2B 00d0b80f2508df0d68e4009297f1251138419da0ded8ba51e85596399ffb456ac7351ed212d0f88a317ebb6b706c5ef3ee39579d9029d567ecdcf3a3af992212 SHA512 2b4df8595778b1436fe0077514f3a51d3e298fcdfb7751c8ba8bb7125ece3199a8269b2da96cdcdb230a39707e122a6d8f48444598fb624d5f5c312b12c2d7cc
+DIST Django-3.2.1.checksum.txt 2548 BLAKE2B 2f5feeffd4cc664e5ef97de2ae1428a9f432f4480fee846bf8abefbecdd4e418736ca700481e3fc6f114d6c62ff083dae60cefee4e5d8481f97f013fba1e0242 SHA512 32cfa9d890059fda32bbd0062b0333bad4b1b616bd555a99870fad09e7d3c662117b4fd5fb98ac7e634daf199434c2f58fdaeb28d895cf714ae05fbf7eef1b91
+DIST Django-3.2.1.tar.gz 9820723 BLAKE2B 968104e3a42310effe8a81b46eb7e17b97aa8f92fddaeef6a1dbee49947d9711daf0c71628fb9c4384a4e7bcb63041a15151f71a368f20934db80513967f0ea2 SHA512 5f3f80047cdcb6c9a07ca0dc9d6d83d190c8c0215311f39e6e441384659c92e4fa42bf4677d297a4ba8520a0bfbd78c4b2ca13cf467c1e1220c0c6a3131ba444
 DIST Django-3.2.checksum.txt 2532 BLAKE2B f36a277a983bed99905a61ab19bff11e50ac253838ec2d9d03fb9a88541d5da530dab60817e6286dcd022cf28ce136c410b06bdd96b96547199d039b3dad922f SHA512 fae42d25963618b68f39218c6c2ed70bf5b0785568e0a7e34a6613015dcf34f433fe571866478dafa601e83150dc10b766186c820e18fd57c213867208fb6800
 DIST Django-3.2.tar.gz 9819119 BLAKE2B 5fdc0a3ee9be8b084427f4fcb226616360eaed110066aa721136045c7139683f94488434c6079e450eec65b06551e3c18d4963ae30eae06acf483a39762c6c82 SHA512 126b9e9e848ed049721163a770af062e829c11d38c8be64288287149e494ac20bb2ecec28055c36cb515fec8c4e574c4e9923b3d7bbccc548a843ce7ff7fd004

diff --git a/dev-python/django/django-3.2.1.ebuild b/dev-python/django/django-3.2.1.ebuild
new file mode 100644
index 00000000000..f17bdecc612
--- /dev/null
+++ b/dev-python/django/django-3.2.1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+MY_P=${P^}
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="https://www.djangoproject.com/ 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
+BDEPEND="
+	test? (
+		$(python_gen_impl_dep sqlite)
+		${RDEPEND}
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/jinja[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pillow[webp,${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/selenium[${PYTHON_USEDEP}]
+		dev-python/tblib[${PYTHON_USEDEP}]
+		sys-devel/gettext
+		!!<dev-python/ipython-7.21.0-r1
+		!!=dev-python/ipython-7.22.0-r0
+	)
+	verify-sig? ( >=app-crypt/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+	"${FILESDIR}"/django-2.2.21-fix-bpo43882.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
+}
+
+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 ||
+		die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/django_bash_completion ${PN}-admin
+	bashcomp_alias ${PN}-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:2
+	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
+	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+}

diff --git a/dev-python/django/files/django-2.2.21-fix-bpo43882.patch b/dev-python/django/files/django-2.2.21-fix-bpo43882.patch
new file mode 100644
index 00000000000..dc5d333be94
--- /dev/null
+++ b/dev-python/django/files/django-2.2.21-fix-bpo43882.patch
@@ -0,0 +1,25 @@
+From bf04b74b155f91b47ca986543348bdf644f2ffb0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 4 May 2021 13:10:50 +0200
+Subject: [PATCH] Reject URLs containing LF, CR or HT to workaround bpo43882
+
+---
+ django/core/validators.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/django/core/validators.py b/django/core/validators.py
+index a385819510..bab034912a 100644
+--- a/django/core/validators.py
++++ b/django/core/validators.py
+@@ -110,6 +110,8 @@ class URLValidator(RegexValidator):
+         try:
+             super().__call__(value)
+         except ValidationError as e:
++            if '\r' in value or '\n' in value or '\t' in value:
++                raise e
+             # Trivial case failed. Try for possible IDN domain
+             if value:
+                 try:
+-- 
+2.31.1
+


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2021-09-05  6:35 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2021-09-05  6:35 UTC (permalink / raw
  To: gentoo-commits

commit:     0ecce525422b4b8e7931b397b55f7e30b5c8ee31
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  5 06:33:57 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Sep  5 06:33:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ecce525

dev-python/django: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                         |   2 -
 dev-python/django/django-3.2.5.ebuild              | 103 ---------------------
 .../django/files/django-3.2.3-py310-repr.patch     |  92 ------------------
 3 files changed, 197 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index fe0e31a141c..086de7c321b 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -2,7 +2,5 @@ DIST Django-2.2.24.checksum.txt 2558 BLAKE2B 8a4b1759f0c52f9dfe6eafc2b54d2d6db8c
 DIST Django-2.2.24.tar.gz 9211396 BLAKE2B 7422019ad8849ae543d7b2ca7f5624b5379c832b5d19511f52df77d95acaa0a45cc61579b0e3a74671c295ffab5e1dfecd1c044e9ec042c46606f888c257e1d0 SHA512 5a3ee79500ad458bfc5220b9b68248bec59bf6d2304d58ca280111854d6a5f7e25784680e949487e8b59c1de0b329a53cf0676d2ee4bb2b88463918c4b0b6085
 DIST Django-3.1.13.checksum.txt 2552 BLAKE2B e82052d952f7dfd15e11b413fe2f106af3d3774073c57538b10f1beeada3128de2cb3d861684599fbf5f337b0ae4eff3a101998da30d8d961f84ac7cb3bb31c5 SHA512 07870c27034f70f335ac35b34317944947f544f63108f21134e81326b4e8f05a7cb3d382d91e7f0a846d51944032efcddca2c3bf980f626627c74c388932e4cf
 DIST Django-3.1.13.tar.gz 9656683 BLAKE2B bb2dd72ba2dfc13c8f487d6b59cd9302160800dca4f63b92e640eddf4aba2e5b1bd67580e56477bced44a5393b5f65a463a9c0c539ba998a20606bffdfafcf74 SHA512 55b1ceb24b6e0ba542a96319f63b138439532cf4b00971a8432baaab4a8ee219cc9fbb31d457ba7da9e932c919df83da9630866d909df4a5d432866b158098d7
-DIST Django-3.2.5.checksum.txt 2543 BLAKE2B 4a07a518bdde4670dc3bf079d8d3cfa32b6580cc06f18306a2127463f3a6a2d8f2a50c4562092439c7c99ccf80dde160b061180826c94d4e1064d5064ff500fe SHA512 b073ff758843f72b6467dae7580941774de9702db02a6fab303cb696cb22c84ca961885792e8ec85545294610f34a4eb52ac3f6521c190d2c339c1957ab4156a
-DIST Django-3.2.5.tar.gz 9806547 BLAKE2B d804d758f95f18aac5c44cba9bd9248efa56cba91bea5db2ac89e8c2202ac1fd088b61d6cc98eb7d6d33a95f85983b801c6cc26a3231986a8cf224a0bbeb8a7c SHA512 03d4eee650a857bed298658c68b916beb74690d16b4b28d649c52a7c2d8a61e92f53136d2de3a77fabe1dd01c0e6b3033befc6842f39c222793fb590b1020c13
 DIST Django-3.2.6.checksum.txt 2551 BLAKE2B 2fae4e3daca01f285f651b76df7402a0c08cdea9a98bdc3be3f9b337732c26b2a3dcb239fc06274b6a30227394047476d454bf34fd7e8b765df047510b08620c SHA512 66b9dff471928be514198e50e62f46d14fbea9c1cfb55e9d82562271795fc3e719e0bb8c43a1f6ff6c903700b648a6a0e19e335ddc50df2a7fa539911b6d44b6
 DIST Django-3.2.6.tar.gz 9821499 BLAKE2B 9f18d308bf15ef16a9fe9d84219bd7ad37833b718ff975344aae5950ef01a7a0e8ef8669936c8908e38e07fb078ce2e2d6392968177400c2357b1d3787e0ce39 SHA512 adf2d2ab3006cc5b389bed8d8e16ee8c98393b20d719c3521068e5cc5d1e679b9f660be90f827ea1cc6a41f975641c32bdb0779ee145e5e31a501ca9e06898a4

diff --git a/dev-python/django/django-3.2.5.ebuild b/dev-python/django/django-3.2.5.ebuild
deleted file mode 100644
index 96f67052a29..00000000000
--- a/dev-python/django/django-3.2.5.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="https://www.djangoproject.com/ 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"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=app-crypt/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
-	# From https://github.com/django/django/pull/14228
-	"${FILESDIR}"/${PN}-3.2.3-py310-repr.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-python_prepare_all() {
-	# Fails because of warnings
-	sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py
-
-	distutils-r1_python_prepare_all
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/files/django-3.2.3-py310-repr.patch b/dev-python/django/files/django-3.2.3-py310-repr.patch
deleted file mode 100644
index 9bc32ecf176..00000000000
--- a/dev-python/django/files/django-3.2.3-py310-repr.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/django/db/models/constraints.py b/django/db/models/constraints.py
-index b073df17636a..6dfc42942f79 100644
---- a/django/db/models/constraints.py
-+++ b/django/db/models/constraints.py
-@@ -4,6 +4,7 @@
- from django.db.models.indexes import IndexExpression
- from django.db.models.query_utils import Q
- from django.db.models.sql.query import Query
-+from django.utils.version import PY310
- 
- __all__ = ['CheckConstraint', 'Deferrable', 'UniqueConstraint']
- 
-@@ -85,6 +86,11 @@ class Deferrable(Enum):
-     DEFERRED = 'deferred'
-     IMMEDIATE = 'immediate'
- 
-+    # A similar format is used in Python 3.10+.
-+    if not PY310:
-+        def __repr__(self):
-+            return '%s.%s' % (self.__class__.__qualname__, self._name_)
-+
- 
- class UniqueConstraint(BaseConstraint):
-     def __init__(
-@@ -218,7 +224,7 @@ def __repr__(self):
-             '' if not self.expressions else ' expressions=%s' % repr(self.expressions),
-             ' name=%s' % repr(self.name),
-             '' if self.condition is None else ' condition=%s' % self.condition,
--            '' if self.deferrable is None else ' deferrable=%s' % self.deferrable,
-+            '' if self.deferrable is None else ' deferrable=%r' % self.deferrable,
-             '' if not self.include else ' include=%s' % repr(self.include),
-             '' if not self.opclasses else ' opclasses=%s' % repr(self.opclasses),
-         )
-diff --git a/django/db/models/enums.py b/django/db/models/enums.py
-index 7082a397c237..dd9088597d4d 100644
---- a/django/db/models/enums.py
-+++ b/django/db/models/enums.py
-@@ -2,6 +2,7 @@
- from types import DynamicClassAttribute
- 
- from django.utils.functional import Promise
-+from django.utils.version import PY310
- 
- __all__ = ['Choices', 'IntegerChoices', 'TextChoices']
- 
-@@ -74,6 +75,11 @@ def __str__(self):
-         """
-         return str(self.value)
- 
-+    # A similar format is used in Python 3.10+.
-+    if not PY310:
-+        def __repr__(self):
-+            return '%s.%s' % (self.__class__.__qualname__, self._name_)
-+
- 
- class IntegerChoices(int, Choices):
-     """Class for creating enumerated integer choices."""
-diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py
-index 78f8b146be92..cda835010d7e 100644
---- a/tests/model_enums/tests.py
-+++ b/tests/model_enums/tests.py
-@@ -48,7 +48,7 @@ def test_integerchoices(self):
-         self.assertEqual(Suit.values, [1, 2, 3, 4])
-         self.assertEqual(Suit.names, ['DIAMOND', 'SPADE', 'HEART', 'CLUB'])
- 
--        self.assertEqual(repr(Suit.DIAMOND), '<Suit.DIAMOND: 1>')
-+        self.assertEqual(repr(Suit.DIAMOND), 'Suit.DIAMOND')
-         self.assertEqual(Suit.DIAMOND.label, 'Diamond')
-         self.assertEqual(Suit.DIAMOND.value, 1)
-         self.assertEqual(Suit['DIAMOND'], Suit.DIAMOND)
-@@ -89,7 +89,7 @@ def test_textchoices(self):
-         self.assertEqual(YearInSchool.values, ['FR', 'SO', 'JR', 'SR', 'GR'])
-         self.assertEqual(YearInSchool.names, ['FRESHMAN', 'SOPHOMORE', 'JUNIOR', 'SENIOR', 'GRADUATE'])
- 
--        self.assertEqual(repr(YearInSchool.FRESHMAN), "<YearInSchool.FRESHMAN: 'FR'>")
-+        self.assertEqual(repr(YearInSchool.FRESHMAN), 'YearInSchool.FRESHMAN')
-         self.assertEqual(YearInSchool.FRESHMAN.label, 'Freshman')
-         self.assertEqual(YearInSchool.FRESHMAN.value, 'FR')
-         self.assertEqual(YearInSchool['FRESHMAN'], YearInSchool.FRESHMAN)
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 4b26586b36..b84ca7db27 100644
---- a/django/utils/version.py
-+++ b/django/utils/version.py
-@@ -13,7 +13,7 @@ PY36 = sys.version_info >= (3, 6)
- PY37 = sys.version_info >= (3, 7)
- PY38 = sys.version_info >= (3, 8)
- PY39 = sys.version_info >= (3, 9)
--
-+PY310 = sys.version_info >= (3, 10)
- 
- def get_version(version=None):
-     """Return a PEP 440-compliant version number from VERSION."""


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2022-07-05  8:47 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2022-07-05  8:47 UTC (permalink / raw
  To: gentoo-commits

commit:     af6f9816b2f6ae5a2e08fb68752e3de8032f4ff4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  5 08:46:51 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul  5 08:46:51 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af6f9816

dev-python/django: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                         |   8 --
 dev-python/django/django-2.2.28.ebuild             | 105 --------------------
 dev-python/django/django-3.2.13.ebuild             | 109 --------------------
 dev-python/django/django-4.0.4.ebuild              | 109 --------------------
 dev-python/django/django-4.0.5.ebuild              | 110 ---------------------
 .../django/files/django-2.0.7-bashcomp.patch       |  41 --------
 6 files changed, 482 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index cdbf41a44aae..2820539c0d36 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,12 +1,4 @@
-DIST Django-2.2.28.checksum.txt 2554 BLAKE2B 23421008f45040be56c417fb4d31ab8cb72d6d6fb59f12e53de1a7947ffed3a290908a49e7ce08bbb155380472daed93b33c2e90580d3bd0aa3d0d9190478bca SHA512 a7e4b2abf3f3ff79e6a0a55047afc6dcb97a2a27bdd6b25770ad60df3eaa4d260d332ef0b94e63971c500a313c2033127575510e871c5ec648bd045c04353aa1
-DIST Django-2.2.28.tar.gz 9187543 BLAKE2B da6ae04b84a858a678b9740694cf1b638128b783da1aa8443c0e85ea3d7f71104e433de043ff7264575e2df36b6fea7275874ff04391b41eb70ba6c7c78306dc SHA512 228aec6ee8619ff3d0397ff867bd59352900fb95557bd02cfea594b3bc3f813b5bcd13f488b451b0ee79a4d52deab19c5e97aa40f1075ba06db72542d119228e
-DIST Django-3.2.13.checksum.txt 2554 BLAKE2B 301d816685f6d97c4a18b4f9d015b063521a7e90a870f1c95ec37ebbc1d4e7311abfee7f7c4aafaa40932334d0eab68fc768dcf21acfffe1d098cabd71ea161a SHA512 ef4a5d0fb8e885cbc2854a4b9b2380dec1cec0e8f6d9bc54179354eb6170755bd6f02268ad5bdc81fdea9d30022422462b0b14894ccc0f37d2e7288aeda83abb
-DIST Django-3.2.13.tar.gz 9813985 BLAKE2B eb8319cc225491fc71f719d2eef6daa05114a97b1302093a0cf0f77bb2a51f398e7a034df7aa52c6a64e9796b9cc66b127fccee810cb38508506ba4cd121cfbf SHA512 08f056b18bc04b95d6705cf70c2ecc5be0c1324e0b38582991b907ed5977c4e3d35417ccf4ec06c2436a718e3aae007b015f0d40dd94ce5cfb129a54cceb6578
 DIST Django-3.2.14.checksum.txt 2552 BLAKE2B 8949b6bbc05160539ba26e4a9a2b774e450890b1668ee9794b087e97c772a78e010f0f33d7f15b9b43fb749bc7804a6c9ea7f24125b6f93c8af6d408d29e530d SHA512 84de32c72c72f2dd8d7c5e159fb77d82b04fe3cb66f30e808249eb1778305f29c75569c3ebf7e89ffdeca12a68a6f8334830db202f230901ddff1f47a3b03b8f
 DIST Django-3.2.14.tar.gz 9814965 BLAKE2B d2081621598ca9743b056b752775d8fe87748e7e0ad4e252f9bb0d50bbdd942cf5908aafc7757668a5dd041aafecd94f63b38441e4dbb8e1810babde1aaec436 SHA512 daa18a0a64870789af4627b1cd345fef66d4b227d71cbd9b4766332728c37e3fb17472924c290851f8bc2111efe90c5e22eebf9b6f7a26e77bdc8edaa8e42e16
-DIST Django-4.0.4.checksum.txt 2545 BLAKE2B d82f7b01f49f2b37de3cfd9eb8738e4af69c8eda0c3ed2b6d80a5f876989f36a9335640c5cd5916dcc682fcbf5453c299cb8b3f52e05f2d29413a4c75d274cbc SHA512 9889e086f35192432084fd2ae1104c316e63fa2ab0d34f6954d5eb98b810b5f2e10861a4136c480b54178d2a5453a36f3b893c7720a92f35b44cd578902a8bf9
-DIST Django-4.0.4.tar.gz 10388499 BLAKE2B f839b343bf5c2f83810f2bb22e93a91b18ccc30754589fef2931ebdf29d4600a3bf5493f9e977a3b647097c3a379ea1ef4e0e25366efb54082bc0f43ed00485f SHA512 75ecf5991763237297b458f546d245a25f62272f7013364783aea19469586fa54ce94a16323ac9a6d6b81097f8e962ea7a20f26c7afd8acda842812409215bb1
-DIST Django-4.0.5.checksum.txt 2549 BLAKE2B e0aae25d6e9b15eddc9f6be566d611d03b3cd2aa97020b99372eebbc5183e2f04f27bfc9c1faa9f4b5ec0e4da453a5812a8c8afd7dbb61c10424c458c81bf453 SHA512 45c628253a530df210c94b7c2e8493faaa5eecd68c1f84c4d61936f0f85d590ddc96d64be0313a6353435bed884fde6f6cf0bd54dc04d361dac093f259c5927b
-DIST Django-4.0.5.tar.gz 10410720 BLAKE2B 43c8000a54829d639a63a7a17067368b3c6fbda483eae374d4e7f561a3bd3490b754de888e597514f706b1843c8dae2f78453f0efc8eb9a335874993eac44e8f SHA512 915dd5f853544dcd9f85e7d11f50d3f8c34eaf4a6819ec76178bec9466feaf2b386f044fdeebec6bd88366917b8feb6e2512d45b8996c8906326205d4f449f90
 DIST Django-4.0.6.checksum.txt 2543 BLAKE2B 4d38a86dc468f1cf9553557073fa6d5aad6875739c5cd3e50dd79954254dc25a0345b32fc771f4db3d566858c58b48d4f0fba434903eae0e0709666627b5e38c SHA512 b701e13371bdc00b61e7ff7f5a2b2d39a9d703616ce79640700e53a252f8aefd8bbf5560b082420bd4ff921110a44ac6a353c61db664b0ee899905d5cf65de59
 DIST Django-4.0.6.tar.gz 10389543 BLAKE2B c458b2b2a782d95771df00ed529d4b0ef0f42720f19258d32ea955e90806b61aabf03a5eb39a7a36c5d220af32dd35e78244db4d17a3f074601952905fd5e0fa SHA512 1050511bd9345519d8382a58e4e6ccc39cd41a6777c9575540dcc655f11dd36316cfc2431f94da9ac4a0fa6e41640a9131c8d49df4188a2ffc26f7ff56d40a6a

diff --git a/dev-python/django/django-2.2.28.ebuild b/dev-python/django/django-2.2.28.ebuild
deleted file mode 100644
index 67a3178ca32c..000000000000
--- a/dev-python/django/django-2.2.28.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..9} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
-	https://www.djangoproject.com/
-	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"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-	)
-	verify-sig? ( sec-keys/openpgp-keys-django )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.0.7-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-python_prepare_all() {
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-3.2.13.ebuild b/dev-python/django/django-3.2.13.ebuild
deleted file mode 100644
index b83663879072..000000000000
--- a/dev-python/django/django-3.2.13.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
-	https://www.djangoproject.com/
-	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"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-python_prepare_all() {
-	# Fails because of warnings
-	sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py || die
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.0.4.ebuild b/dev-python/django/django-4.0.4.ebuild
deleted file mode 100644
index 623879d088f5..000000000000
--- a/dev-python/django/django-4.0.4.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
-	https://www.djangoproject.com/
-	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"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.4.1[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
-	' 3.8)
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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() {
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_src_prepare
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.0.5.ebuild b/dev-python/django/django-4.0.5.ebuild
deleted file mode 100644
index 16e1a7824c10..000000000000
--- a/dev-python/django/django-4.0.5.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
-	https://www.djangoproject.com/
-	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"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.4.1[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
-	' 3.8)
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-	"${FILESDIR}"/django-4.0.5-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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() {
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_src_prepare
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/files/django-2.0.7-bashcomp.patch b/dev-python/django/files/django-2.0.7-bashcomp.patch
deleted file mode 100644
index 2d886fe6481c..000000000000
--- a/dev-python/django/files/django-2.0.7-bashcomp.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,37 +37,4 @@ _django_completion()
-                    COMP_CWORD=$COMP_CWORD \
-                    DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
--complete -F _django_completion -o default django-admin.py manage.py django-admin
--
--_python_django_completion()
--{
--    if [[ ${COMP_CWORD} -ge 2 ]]; then
--        local PYTHON_EXE=${COMP_WORDS[0]##*/}
--        echo $PYTHON_EXE | egrep "python([3-9]\.[0-9])?" >/dev/null 2>&1
--        if [[ $? == 0 ]]; then
--            local PYTHON_SCRIPT=${COMP_WORDS[1]##*/}
--            echo $PYTHON_SCRIPT | egrep "manage\.py|django-admin(\.py)?" >/dev/null 2>&1
--            if [[ $? == 0 ]]; then
--                COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]:1}" \
--                               COMP_CWORD=$(( COMP_CWORD-1 )) \
--                               DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) )
--            fi
--        fi
--    fi
--}
--
--# Support for multiple interpreters.
--unset pythons
--if command -v whereis &>/dev/null; then
--    python_interpreters=$(whereis python | cut -d " " -f 2-)
--    for python in $python_interpreters; do
--        [[ $python != *-config ]] && pythons="${pythons} ${python##*/}"
--    done
--    unset python_interpreters
--    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
--else
--    pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons
--unset pythons
-+complete -F _django_completion -o default django-admin.py django-admin


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2022-08-07  8:54 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2022-08-07  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     d18ad5e444b7c62f4960eb9abfe84ce13f26349d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  7 08:33:15 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug  7 08:49:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d18ad5e4

dev-python/django: Bump to 4.1

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                    |   2 +
 dev-python/django/django-4.1.ebuild           | 106 ++++++++++++++++++++++++++
 dev-python/django/files/django-4.1-test.patch |  33 ++++++++
 3 files changed, 141 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index adf350526e1b..e7168a82e114 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -2,3 +2,5 @@ DIST Django-3.2.15.checksum.txt 2560 BLAKE2B 35a4f28005a07cee0b667ec55838d846cb7
 DIST Django-3.2.15.tar.gz 9833828 BLAKE2B 4b914b1e3c192340d9a1bbd68b7d3bf3d1c1b3f41da6e4a67149e811a2312f646e2ced83af23ae035cf590e526dad00537aa5b4aee14a657f6952675eca94b30 SHA512 fccdad52d39c8757972d5e987b94b13d8ce5ce08ad480ef79407b0d9b88cff69336770409cbe18ce9529bf10966ad63105a0b0f1ffe39b681a41be3718ec886b
 DIST Django-4.0.7.checksum.txt 2551 BLAKE2B 6fa44707d33af485d3c55096dcc650b4e2384421c57c30cedee9f9577488783836a3ad8261dceaf5c718c1a5fcbe5852b081596525b22639c310c9aa6e86c639 SHA512 4b2453be8090c2a9d48bbe34f6e5dd55859b9debc3a116519c69da39d04ecca202e6da62ae9114790a9da8c55cfcfe176a972bb25576305a8e23736e2e063e3e
 DIST Django-4.0.7.tar.gz 10407810 BLAKE2B 77c994d042ace329699aa33e14098cbcd4f24fa4db880dd78ed87828b02c25298a1c1664511547de53eb80ebade7bdfb16412a615027e512ded437ae7de79b54 SHA512 51574ab7423a3948318a5985f74bd781269bf1c95dc77838c11e8f9d5e9233f0a3be5dfa4798d523473b9f1fd3196d4c10284e3a28d9543084b2a63179167731
+DIST Django-4.1.checksum.txt 2533 BLAKE2B 263c3719c572347cb5d2087b960a47f0e6ac409a94499cd5ee8ec619c3388d29354c10813d4b3d2a0d6bd73ca52f562a6ae89a3d9340d5ea478a80cc30284467 SHA512 96d0a66c40261530d65bdde34ba1fc2e650690821b0f52900d60ab85162debc64e33e089f90e2b106235fc47581a54dc6432968534837c1a71a887b40fdd4f36
+DIST Django-4.1.tar.gz 10484595 BLAKE2B 29a833330862abcf69bf082af6df08986443d34abfe821bd307fba6ddd73dd00be7ae8d3e809fe97db0b22f9062daa760cbe01da8d773e1528f583938959f775 SHA512 f0f7e627b3c474c886cb2476f900222d2623e1ed1da1ac6b23ac618ff49e330edc2efd47b275cb02b8bcb254126bf3c926462c616bb0abee1cd433715f5184da

diff --git a/dev-python/django/django-4.1.ebuild b/dev-python/django/django-4.1.ebuild
new file mode 100644
index 000000000000..5c62178ef58f
--- /dev/null
+++ b/dev-python/django/django-4.1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~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.5.2[${PYTHON_USEDEP}]
+	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
+	$(python_gen_cond_dep '
+		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
+	' 3.8)
+"
+BDEPEND="
+	test? (
+		$(python_gen_impl_dep sqlite)
+		${RDEPEND}
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/jinja[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pillow[webp,${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/selenium[${PYTHON_USEDEP}]
+		dev-python/tblib[${PYTHON_USEDEP}]
+		sys-devel/gettext
+		!!<dev-python/ipython-7.21.0-r1
+		!!=dev-python/ipython-7.22.0-r0
+	)
+	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
+	# https://github.com/django/django/commit/9e9bdf8dbd6e2354a2e23aa7e37d5b491338085e
+	"${FILESDIR}"/${P}-test.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
+}
+
+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 ||
+		die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/django_bash_completion ${PN}-admin
+	bashcomp_alias ${PN}-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:2
+	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
+	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+}

diff --git a/dev-python/django/files/django-4.1-test.patch b/dev-python/django/files/django-4.1-test.patch
new file mode 100644
index 000000000000..d50c3df89bec
--- /dev/null
+++ b/dev-python/django/files/django-4.1-test.patch
@@ -0,0 +1,33 @@
+From 9e9bdf8dbd6e2354a2e23aa7e37d5b491338085e Mon Sep 17 00:00:00 2001
+From: Alberto Planas <aplanas@gmail.com>
+Date: Wed, 3 Aug 2022 16:36:04 +0200
+Subject: [PATCH] [4.1.x] Fixed #33887 -- Fixed
+ test_fails_squash_migration_manual_porting() on final tags.
+
+Regression in 7c318a8bdd66f8c5241864c9970dddb525d0ca4c.
+Backport of 4e13b40a764cfdae50416338c5d077e9d9a6d0f1 from main
+---
+ tests/migrations/test_commands.py | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py
+index a3e1efc924bd..0d4fb52bbb82 100644
+--- a/tests/migrations/test_commands.py
++++ b/tests/migrations/test_commands.py
+@@ -3005,11 +3005,12 @@ def test_fails_squash_migration_manual_porting(self):
+         with self.temporary_migration_module(
+             module="migrations.test_migrations_manual_porting"
+         ) as migration_dir:
++            version = get_docs_version()
+             msg = (
+-                "Migration will require manual porting but is already a squashed "
+-                "migration.\nTransition to a normal migration first: "
+-                "https://docs.djangoproject.com/en/dev/topics/migrations/"
+-                "#squashing-migrations"
++                f"Migration will require manual porting but is already a squashed "
++                f"migration.\nTransition to a normal migration first: "
++                f"https://docs.djangoproject.com/en/{version}/topics/migrations/"
++                f"#squashing-migrations"
+             )
+             with self.assertRaisesMessage(CommandError, msg):
+                 call_command("optimizemigration", "migrations", "0004", stdout=out)


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2023-05-04 15:30 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2023-05-04 15:30 UTC (permalink / raw
  To: gentoo-commits

commit:     e4bc349e0c0f3d2ee0944fc3b4f3280ae9af6c47
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May  4 15:28:56 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May  4 15:28:56 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4bc349e

dev-python/django: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                       |  10 --
 dev-python/django/django-3.2.18-r1.ebuild        | 110 ------------
 dev-python/django/django-3.2.18.ebuild           | 109 ------------
 dev-python/django/django-4.0.10.ebuild           | 110 ------------
 dev-python/django/django-4.1.7.ebuild            | 103 -----------
 dev-python/django/django-4.1.8.ebuild            | 104 -----------
 dev-python/django/django-4.2.ebuild              | 101 -----------
 dev-python/django/files/django-4.0.5-py311.patch | 218 -----------------------
 dev-python/django/files/django-4.1.8-py311.patch |  28 ---
 9 files changed, 893 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index fb652472b186..d3bb648a215b 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,16 +1,6 @@
-DIST Django-3.2.18.checksum.txt 2563 BLAKE2B 8deb25cdc9f3a859b68925b7c8615bf3bf955f0c5db7558818fc9177c2a5d5f588b848bb15094d5f2d1f9a92693204ddc753ef25411d328e8c7f755f93184b54 SHA512 b5fb24a525c10bbb1f82074b9637e4ddd68ec8bd80c3676f326f4be41a81643cb539c13123447895f6a3639d8938f70f009de31752eb5753ca1dc3dd162d9f92
-DIST Django-3.2.18.tar.gz 9848949 BLAKE2B cf42d306d506addb43f725d5896be7bba41e37633fab0173d9e0bc76894b7c5a26fa945edb85e33f7b356d1d36b3ea9e7c85b5ec6efda5541639bc425230e8ff SHA512 dbcf8daa4edf3666bfcb366b09e1c3de12a4176770ab2e6cd22b459ff77aa4cdbd72c445f53e7b23a907f663dc37b07c15d5d0d67e63fdec98eb4832dcc57d6d
 DIST Django-3.2.19.checksum.txt 2558 BLAKE2B dafc8f9b47686b96aca4e3c48fd7bac91ce26f5439439f5799cdbfd892120797cdf99dcf99ede62bc825f4e2475691b6235c9fd077da1cc3b2a946933798f207 SHA512 4d1596e83a064b02abf0c00ec7f9f134be1cb9a77e61016b5a3370b5c286ebb667c1a29b678a403b98f6d8b5488dd16c50297db7026d46e913d2793996aa1171
 DIST Django-3.2.19.tar.gz 9832772 BLAKE2B 3b18fe5edf258b71111bbd34d55c5006d4f399155841549e02d4e256a2710bd1c22408d6cb1edea041aaf3239c709d4c51695e5a42a5440339714f0e6c3d4824 SHA512 25a611b4479718b866b9f7b9247d6ada1f20c9118d17735f07fe3ae2e7092bee3655c1733c5c244b2e7f5ab04f6d5cc7fab94ca33d2426e281581554a64582dc
-DIST Django-4.0.10.checksum.txt 2563 BLAKE2B 1ec93751204e80d75f5f4f15086cfd9aabe65e392359f82edb234f2b86802bd1078e00575379c1956dfca8e6c60ddc6209079ae7e99450aa000b22c3312a89f4 SHA512 67b335f184ce02395efba3a4bec7d8087735ef8816eda70867faf9c02242c11c95f30fc36db6abd30996098dd567ef53f6dd467567c5405f34cb2bff7cd2a23c
-DIST Django-4.0.10.tar.gz 10430363 BLAKE2B d36aefd5d00023e5c4e34dda2b283e9a82d9e3b82576ce00cef7d9b75837ffdbf56327ad21ccefb02b79e8db93f12cf850541f4cb1d01b3dd28bdea0c73cb9d6 SHA512 04d1b207af21067c22c120486ff57ea602b3436adf1871f691735825afb30c3ed62f1cbc98d92fa70e9a818bcf50db70d949ab0c460f48f6027b75df9eba56c7
-DIST Django-4.1.7.checksum.txt 2554 BLAKE2B 5a82eca5edb5b5d90c629c6d42414725b32ed55fc137cfb3fc9c5bfd392dc0fcc3f6b99eea64a16a88002a521bf910464a6fe11d9079d68e056acded3432be38 SHA512 4244abf4e81aec1f8daa7815f57483963e94cf67571f0c2f6ab67507515c7f6f72f86412a17c8e1e73170e1ed7d3d4503c5adba36c66d0b8f015350c81348116
-DIST Django-4.1.7.tar.gz 10520415 BLAKE2B 88b66fea737f6fb1661a6987b9d6cecb84d58d675655a0ea5bed60ee28252edd11d8025498b7bc854b9c0c4814148bdc3bcdf59014dd040b5c424c3cd1711e46 SHA512 e34b0b05209297164d6cb84e7edf4740a2d638496c3107c06c0e773db292e9b02e6abbd8c3da347addaf17d9c9a56ef4873eb9edc5f1164e3d13d7f3ef083844
-DIST Django-4.1.8.checksum.txt 2550 BLAKE2B 9a4b37655a75ed1e18fd4219b7480afbcc4bde7aaef0ca4865451714cc4bcd123fc7bd69bbbe70bdab375a64bc12b3b6410f24dca0eecdcbb3b2a4d4df2611ec SHA512 415a0c9173d9e96e5360e6bf27b33c699eb952654bde3a1cd8229ac1c5b5b5ac131d3c1b168fe945f525de63e08c2ad9097e1a9eeadcc2b76a96b999acb5feda
-DIST Django-4.1.8.tar.gz 10511976 BLAKE2B f269fb4d0047913fd0842daa67839d736b0d1b141081590beb2ffa2d0c535f992dab3820a9c5784caf2bb1ba1a7237b395a87d059ef2e4600341afb17bdafee2 SHA512 73910394a83e84522a41e98958701fab85ca71ed426c3cac549d1bd5eb2740106da9d2e3fba1ad8defaa2c7130c24e278558dd93e84afe8a66aa81686755ebc9
 DIST Django-4.1.9.checksum.txt 2548 BLAKE2B 13f0594922dce5c2f680b2c2c03955c1772161204f96ec48744b56d8388c35790fec9c1dcd6b91dc2585a07137e05b1952e3f2a8524112d5a2de4cd1590a247b SHA512 d80687c1986cdec1facb040f35380b34618b493abbedbaea9326814e64a200118c6ed74d7a1c48c794de8d30de7a87381ffc4df6024153a0380f840fa5caaf7d
 DIST Django-4.1.9.tar.gz 10514944 BLAKE2B d54350ee09f1460156d98d597075a63a5a64bc1198805eadffd337b1af8423332f874fca2327f4aa18aa3dd3ad362b687b14ceb2ca1b7d55b910b8a2030c182c SHA512 75f6f25e84b48f066b7e7e2ee47eb5af60a63d206d83aa32f366ec5685b202a97537daaf98afbbc1c3214f6df7b88630f0d2849f4c78827e2de1141c9bd0b317
 DIST Django-4.2.1.checksum.txt 2548 BLAKE2B 4d20462ad292d01544a60f9fac13a52204763555ce317ddde161613edd58641b0ba2e8313e5683de9cdf555b2d11d5d2942da4142844572ad928f1e49488be94 SHA512 aeb69a20e331416749712fc2738e9bf9798a7333f45d680149aaad65b88bcc5a76f6f8692eff43a9a74c33137ac4a135fd59f00f8400e20377025d4b7e3acd02
 DIST Django-4.2.1.tar.gz 10420051 BLAKE2B 7d657155f45bea0bfce964e74222edd742b2f4db1d23b91baac1021aebceef5d8e553767e1da32507832047e8d62e525783ddeed31f86f80ad7ea9a4962b5c6c SHA512 eaa3f633f380e9a215e52bd40c2f7c7aed9f0a6122f5c9c07d954904dcb8ccc9ae8ed2e988742e2b1b3b32e626cf754ab4e0d2b4ed06f3b81ef7a38f0bd047ee
-DIST Django-4.2.checksum.txt 2530 BLAKE2B 06ebf87ce44d32fd2491d600cbf4a74b32426dadc0096fe3a34933ba55ddcfed082e85021c9c4e525122e6be8aa3ff6a2bb282fa24fb29a732ea744d4fa1dd1a SHA512 6078fe14d8b356477bd163eca67ca9038b24f78b706bdd8fc2c4ebdbda5024c5014b333a820910dbfb075ff944b78789f7c745eec3a2724898b7b2620f40a6dd
-DIST Django-4.2.tar.gz 10415665 BLAKE2B 05faa1476f9bbbea93f33c0f35914b0893006ebbdfac98e347f886db0a39b263046dc149cbf41eeee982ef46138b835379f8384b5f8eb7ef77e16d338307830e SHA512 22a61943eb99cae81a99d84795155d5fecf5e1ec5d76be145b86d5ae1d4fb6a71be8bb62e58b935dedc846c8fd3f1e6fe68cbcc7fa1603a3c4753e69d61b7af4

diff --git a/dev-python/django/django-3.2.18-r1.ebuild b/dev-python/django/django-3.2.18-r1.ebuild
deleted file mode 100644
index bc404dde5670..000000000000
--- a/dev-python/django/django-3.2.18-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
-	"${FILESDIR}"/django-3.2.18-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-python_prepare_all() {
-	# Fails because of warnings
-	sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py || die
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-3.2.18.ebuild b/dev-python/django/django-3.2.18.ebuild
deleted file mode 100644
index 68c7e2f40c5e..000000000000
--- a/dev-python/django/django-3.2.18.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-python_prepare_all() {
-	# Fails because of warnings
-	sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py || die
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.0.10.ebuild b/dev-python/django/django-4.0.10.ebuild
deleted file mode 100644
index 9ed143fa88f6..000000000000
--- a/dev-python/django/django-4.0.10.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/asgiref-3.4.1[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
-	' 3.8)
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-	"${FILESDIR}"/django-4.0.5-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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() {
-	# TODO: this suddenly started failing
-	sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
-	distutils-r1_src_prepare
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.1.7.ebuild b/dev-python/django/django-4.1.7.ebuild
deleted file mode 100644
index 1c318d232ec1..000000000000
--- a/dev-python/django/django-4.1.7.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~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.5.2[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
-	' 3.8)
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.1.8.ebuild b/dev-python/django/django-4.1.8.ebuild
deleted file mode 100644
index 0bde99238c4f..000000000000
--- a/dev-python/django/django-4.1.8.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~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.5.2[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
-	' 3.8)
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-	"${FILESDIR}"/${PN}-4.1.8-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/django-4.2.ebuild b/dev-python/django/django-4.2.ebuild
deleted file mode 100644
index a5153c56732e..000000000000
--- a/dev-python/django/django-4.2.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature 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 )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~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.6.0[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		dev-python/docutils[${PYTHON_USEDEP}]
-		dev-python/jinja[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/selenium[${PYTHON_USEDEP}]
-		dev-python/tblib[${PYTHON_USEDEP}]
-		sys-devel/gettext
-		!!<dev-python/ipython-7.21.0-r1
-		!!=dev-python/ipython-7.22.0-r0
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
-	"${FILESDIR}"/${PN}-4.1.8-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-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 ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-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:2
-	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
-	optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}

diff --git a/dev-python/django/files/django-4.0.5-py311.patch b/dev-python/django/files/django-4.0.5-py311.patch
deleted file mode 100644
index d566db006574..000000000000
--- a/dev-python/django/files/django-4.0.5-py311.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From 3d022e13bcc1de5162ba7198c856bf27c03d4f37 Mon Sep 17 00:00:00 2001
-From: David Smith <39445562+smithdc1@users.noreply.github.com>
-Date: Sat, 19 Feb 2022 19:36:01 +0000
-Subject: [PATCH 1/3] Refs #33173 -- Fixed MailTests.test_backend_arg() on
- Windows and Python 3.11+.
-
----
- django/utils/version.py | 1 +
- tests/mail/tests.py     | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 77f13833cb..8f4ab2bcfa 100644
---- a/django/utils/version.py
-+++ b/django/utils/version.py
-@@ -15,6 +15,7 @@ PY37 = sys.version_info >= (3, 7)
- PY38 = sys.version_info >= (3, 8)
- PY39 = sys.version_info >= (3, 9)
- PY310 = sys.version_info >= (3, 10)
-+PY311 = sys.version_info >= (3, 11)
- 
- 
- def get_version(version=None):
-diff --git a/tests/mail/tests.py b/tests/mail/tests.py
-index 51e26cc6be..183a0c0ab1 100644
---- a/tests/mail/tests.py
-+++ b/tests/mail/tests.py
-@@ -29,6 +29,7 @@ from django.core.mail.message import BadHeaderError, sanitize_address
- from django.test import SimpleTestCase, override_settings
- from django.test.utils import requires_tz_support
- from django.utils.translation import gettext_lazy
-+from django.utils.version import PY311
- 
- try:
-     from aiosmtpd.controller import Controller
-@@ -790,7 +791,7 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
-                 filebased.EmailBackend,
-             )
- 
--        if sys.platform == "win32":
-+        if sys.platform == "win32" and not PY311:
-             msg = (
-                 "_getfullpathname: path should be string, bytes or os.PathLike, not "
-                 "object"
--- 
-2.35.1
-
-From 4d548dce8fb280ed7be63e9818c316fe5f0ee154 Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Thu, 7 Apr 2022 07:02:21 +0200
-Subject: [PATCH 2/3] Refs #33173 -- Fixed test_runner/test_utils tests on
- Python 3.11+.
-
-Python 3.11 uses fully qualified test name in unittest output. See
-https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
----
- tests/test_runner/test_debug_sql.py | 14 +++++++++-----
- tests/test_runner/test_parallel.py  |  5 ++++-
- tests/test_utils/tests.py           | 13 +++++++++----
- 3 files changed, 22 insertions(+), 10 deletions(-)
-
-diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
-index 9957295f01..d45d8cb4ba 100644
---- a/tests/test_runner/test_debug_sql.py
-+++ b/tests/test_runner/test_debug_sql.py
-@@ -4,6 +4,7 @@ from io import StringIO
- from django.db import connection
- from django.test import TestCase
- from django.test.runner import DiscoverRunner
-+from django.utils.version import PY311
- 
- from .models import Person
- 
-@@ -109,14 +110,17 @@ class TestDebugSQL(unittest.TestCase):
-         ),
-     ]
- 
-+    # Python 3.11 uses fully qualified test name in the output.
-+    method_name = ".runTest" if PY311 else ""
-+    test_class_path = "test_runner.test_debug_sql.TestDebugSQL"
-     verbose_expected_outputs = [
--        "runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest) ... FAIL",
--        "runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest) ... ERROR",
--        "runTest (test_runner.test_debug_sql.TestDebugSQL.PassingTest) ... ok",
-+        f"runTest ({test_class_path}.FailingTest{method_name}) ... FAIL",
-+        f"runTest ({test_class_path}.ErrorTest{method_name}) ... ERROR",
-+        f"runTest ({test_class_path}.PassingTest{method_name}) ... ok",
-         # If there are errors/failures in subtests but not in test itself,
-         # the status is not written. That behavior comes from Python.
--        "runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest) ...",
--        "runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest) ...",
-+        f"runTest ({test_class_path}.FailingSubTest{method_name}) ...",
-+        f"runTest ({test_class_path}.ErrorSubTest{method_name}) ...",
-         (
-             """SELECT COUNT(*) AS "__count" """
-             """FROM "test_runner_person" WHERE """
-diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
-index ca208f6a48..a2f68d3512 100644
---- a/tests/test_runner/test_parallel.py
-+++ b/tests/test_runner/test_parallel.py
-@@ -4,6 +4,7 @@ import unittest
- 
- from django.test import SimpleTestCase
- from django.test.runner import RemoteTestResult
-+from django.utils.version import PY311
- 
- try:
-     import tblib.pickling_support
-@@ -125,7 +126,9 @@ class RemoteTestResultTest(SimpleTestCase):
-         self.assertEqual(event[0], "addSubTest")
-         self.assertEqual(
-             str(event[2]),
--            "dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)",
-+            "dummy_test (test_runner.test_parallel.SampleFailingSubtest%s) (index=0)"
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".dummy_test" if PY311 else ""),
-         )
-         self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1')")
- 
-diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
-index b21c83585b..3b17da1c13 100644
---- a/tests/test_utils/tests.py
-+++ b/tests/test_utils/tests.py
-@@ -47,6 +47,7 @@ from django.test.utils import (
- from django.urls import NoReverseMatch, path, reverse, reverse_lazy
- from django.utils.deprecation import RemovedInDjango41Warning
- from django.utils.log import DEFAULT_LOGGING
-+from django.utils.version import PY311
- 
- from .models import Car, Person, PossessedCar
- from .views import empty_response
-@@ -99,9 +100,11 @@ class SkippingTestCase(SimpleTestCase):
-             SkipTestCase("test_foo").test_foo,
-             ValueError,
-             "skipUnlessDBFeature cannot be used on test_foo (test_utils.tests."
--            "SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase) "
-+            "SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase%s) "
-             "as SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase "
--            "doesn't allow queries against the 'default' database.",
-+            "doesn't allow queries against the 'default' database."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
-     def test_skip_if_db_feature(self):
-@@ -144,9 +147,11 @@ class SkippingTestCase(SimpleTestCase):
-             SkipTestCase("test_foo").test_foo,
-             ValueError,
-             "skipIfDBFeature cannot be used on test_foo (test_utils.tests."
--            "SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase) "
-+            "SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase%s) "
-             "as SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase "
--            "doesn't allow queries against the 'default' database.",
-+            "doesn't allow queries against the 'default' database."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
- 
--- 
-2.35.1
-
-From 2037b6b40a4250daaf3fa85f489fab34536c4f3a Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Mon, 9 May 2022 10:38:11 +0200
-Subject: [PATCH 3/3] Refs #33173 -- Fixed test_dateparse tests on Python
- 3.11+.
-
-date/datetime/time.fromisoformat() support any valid ISO 8601 format
-in Python 3.11+, see https://github.com/python/cpython/issues/80010.
----
- tests/utils_tests/test_dateparse.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/tests/utils_tests/test_dateparse.py b/tests/utils_tests/test_dateparse.py
-index 8683811636..3f04a8a49c 100644
---- a/tests/utils_tests/test_dateparse.py
-+++ b/tests/utils_tests/test_dateparse.py
-@@ -8,6 +8,7 @@ from django.utils.dateparse import (
-     parse_time,
- )
- from django.utils.timezone import get_fixed_timezone
-+from django.utils.version import PY311
- 
- 
- class DateParseTests(unittest.TestCase):
-@@ -15,14 +16,18 @@ class DateParseTests(unittest.TestCase):
-         # Valid inputs
-         self.assertEqual(parse_date("2012-04-23"), date(2012, 4, 23))
-         self.assertEqual(parse_date("2012-4-9"), date(2012, 4, 9))
-+        if PY311:
-+            self.assertEqual(parse_date("20120423"), date(2012, 4, 23))
-         # Invalid inputs
--        self.assertIsNone(parse_date("20120423"))
-+        self.assertIsNone(parse_date("2012423"))
-         with self.assertRaises(ValueError):
-             parse_date("2012-04-56")
- 
-     def test_parse_time(self):
-         # Valid inputs
-         self.assertEqual(parse_time("09:15:00"), time(9, 15))
-+        if PY311:
-+            self.assertEqual(parse_time("091500"), time(9, 15))
-         self.assertEqual(parse_time("10:10"), time(10, 10))
-         self.assertEqual(parse_time("10:20:30.400"), time(10, 20, 30, 400000))
-         self.assertEqual(parse_time("10:20:30,400"), time(10, 20, 30, 400000))
-@@ -35,7 +40,7 @@ class DateParseTests(unittest.TestCase):
-         self.assertIsNone(parse_time("00:05:23+"))
-         self.assertIsNone(parse_time("00:05:23+25:00"))
-         self.assertIsNone(parse_time("4:18:101"))
--        self.assertIsNone(parse_time("091500"))
-+        self.assertIsNone(parse_time("91500"))
-         with self.assertRaises(ValueError):
-             parse_time("09:15:90")
- 
--- 
-2.35.1
-

diff --git a/dev-python/django/files/django-4.1.8-py311.patch b/dev-python/django/files/django-4.1.8-py311.patch
deleted file mode 100644
index a84c9f4cb7e9..000000000000
--- a/dev-python/django/files/django-4.1.8-py311.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://code.djangoproject.com/ticket/34118#comment:11
-https://github.com/python/cpython/issues/102549
-https://github.com/django/django/commit/f55bcff9dcac1d0cb1f927f9fd543cfd567400c4
-
-From f55bcff9dcac1d0cb1f927f9fd543cfd567400c4 Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Fri, 7 Apr 2023 11:07:54 +0200
-Subject: [PATCH] [4.1.x] Refs #34118 -- Fixed
- CustomChoicesTests.test_uuid_unsupported on Python 3.11.4+.
-
-https://github.com/python/cpython/commit/5342f5e713e0cc45b6f226d2d053a8cde1b4d68e
-
-Follow up to 38e63c9e61152682f3ff982c85a73793ab6d3267.
-
-Backport of 2eb1f37260f0e0b71ef3a77eb5522d2bb68d6489 from main
---- a/tests/model_enums/tests.py
-+++ b/tests/model_enums/tests.py
-@@ -311,8 +311,7 @@ class Timezone(datetime.timezone, models.Choices):
-                 pass
- 
-     def test_uuid_unsupported(self):
--        msg = "UUID objects are immutable"
--        with self.assertRaisesMessage(TypeError, msg):
-+        with self.assertRaises(TypeError):
- 
-             class Identifier(uuid.UUID, models.Choices):
-                 A = "972ce4eb-a95f-4a56-9339-68c208a76f18"
- 


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2023-07-04  2:59 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2023-07-04  2:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d79dcfb326c7ad52927fdb926a6f0ebd776bf196
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  4 02:40:23 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul  4 02:40:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d79dcfb3

dev-python/django: Backport one more py3.11 fix to 3.2.20

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/django-3.2.20.ebuild             |   2 +
 .../django/files/django-3.2.20-urlsplit.patch      | 111 +++++++++++++++++++++
 2 files changed, 113 insertions(+)

diff --git a/dev-python/django/django-3.2.20.ebuild b/dev-python/django/django-3.2.20.ebuild
index 60bea073329b..ca46ed4c7d3b 100644
--- a/dev-python/django/django-3.2.20.ebuild
+++ b/dev-python/django/django-3.2.20.ebuild
@@ -55,6 +55,8 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
 	"${FILESDIR}"/django-3.2.19-py311.patch
+	# needed for Python 3.11
+	"${FILESDIR}"/django-3.2.20-urlsplit.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/files/django-3.2.20-urlsplit.patch b/dev-python/django/files/django-3.2.20-urlsplit.patch
new file mode 100644
index 000000000000..4883da38c0f5
--- /dev/null
+++ b/dev-python/django/files/django-3.2.20-urlsplit.patch
@@ -0,0 +1,111 @@
+From 74fee3f5cab1481dcb299b6eeaf82f862470bafa Mon Sep 17 00:00:00 2001
+From: mendespedro <windowsxpedro@gmail.com>
+Date: Wed, 15 Dec 2021 11:55:19 -0300
+Subject: [PATCH] Fixed #33367 -- Fixed URLValidator crash in some edge cases.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+[backported to 3.2.x by Michał Górny]
+---
+ django/core/validators.py                     | 13 +++---
+ .../forms_tests/field_tests/test_urlfield.py  | 40 +++++++++++++++----
+ 2 files changed, 40 insertions(+), 13 deletions(-)
+
+diff --git a/django/core/validators.py b/django/core/validators.py
+index b9b58dfa61..aad21f95ea 100644
+--- a/django/core/validators.py
++++ b/django/core/validators.py
+@@ -111,15 +111,16 @@ class URLValidator(RegexValidator):
+             raise ValidationError(self.message, code=self.code, params={'value': value})
+ 
+         # Then check full URL
++        try:
++            splitted_url = urlsplit(value)
++        except ValueError:
++            raise ValidationError(self.message, code=self.code, params={'value': value})
+         try:
+             super().__call__(value)
+         except ValidationError as e:
+             # Trivial case failed. Try for possible IDN domain
+             if value:
+-                try:
+-                    scheme, netloc, path, query, fragment = urlsplit(value)
+-                except ValueError:  # for example, "Invalid IPv6 URL"
+-                    raise ValidationError(self.message, code=self.code, params={'value': value})
++                scheme, netloc, path, query, fragment = splitted_url
+                 try:
+                     netloc = punycode(netloc)  # IDN -> ACE
+                 except UnicodeError:  # invalid domain part
+@@ -130,7 +131,7 @@ class URLValidator(RegexValidator):
+                 raise
+         else:
+             # Now verify IPv6 in the netloc part
+-            host_match = re.search(r'^\[(.+)\](?::\d{2,5})?$', urlsplit(value).netloc)
++            host_match = re.search(r'^\[(.+)\](?::\d{1,5})?$', splitted_url.netloc)
+             if host_match:
+                 potential_ip = host_match[1]
+                 try:
+@@ -142,7 +143,7 @@ class URLValidator(RegexValidator):
+         # section 3.1. It's defined to be 255 bytes or less, but this includes
+         # one byte for the length of the name and one byte for the trailing dot
+         # that's used to indicate absolute names in DNS.
+-        if len(urlsplit(value).hostname) > 253:
++        if splitted_url.hostname is None or len(splitted_url.hostname) > 253:
+             raise ValidationError(self.message, code=self.code, params={'value': value})
+ 
+ 
+diff --git a/tests/forms_tests/field_tests/test_urlfield.py b/tests/forms_tests/field_tests/test_urlfield.py
+index 19e4351c6a..68b148e7b7 100644
+--- a/tests/forms_tests/field_tests/test_urlfield.py
++++ b/tests/forms_tests/field_tests/test_urlfield.py
+@@ -135,13 +135,39 @@ class URLFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
+     def test_urlfield_10(self):
+         """URLField correctly validates IPv6 (#18779)."""
+         f = URLField()
+-        urls = (
+-            'http://[12:34::3a53]/',
+-            'http://[a34:9238::]:8080/',
+-        )
+-        for url in urls:
+-            with self.subTest(url=url):
+-                self.assertEqual(url, f.clean(url))
++        tests = [
++            'foo',
++            'com.',
++            '.',
++            'http://',
++            'http://example',
++            'http://example.',
++            'http://.com',
++            'http://invalid-.com',
++            'http://-invalid.com',
++            'http://inv-.alid-.com',
++            'http://inv-.-alid.com',
++            '[a',
++            'http://[a',
++            # Non-string.
++            23,
++            # Hangs "forever" before fixing a catastrophic backtracking,
++            # see #11198.
++            'http://%s' % ('X' * 60,),
++            # A second example, to make sure the problem is really addressed,
++            # even on domains that don't fail the domain label length check in
++            # the regex.
++            'http://%s' % ("X" * 200,),
++            # urlsplit() raises ValueError.
++            '////]@N.AN',
++            # Empty hostname.
++            '#@A.bO',
++        ]
++        msg = "'Enter a valid URL.'"
++        for value in tests:
++            with self.subTest(value=value):
++                with self.assertRaisesMessage(ValidationError, msg):
++                    f.clean(value)
+ 
+     def test_urlfield_not_string(self):
+         f = URLField(required=False)
+-- 
+2.41.0
+


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
@ 2024-08-08 11:30 Michał Górny
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2024-08-08 11:30 UTC (permalink / raw
  To: gentoo-commits

commit:     4c3e67cd3367ece0c0978b3d6d6bb70e57204ce8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  8 11:21:29 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug  8 11:30:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c3e67cd

dev-python/django: Backport pypy3 test fix

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/django-4.2.15.ebuild             |  2 +
 dev-python/django/django-5.0.8.ebuild              |  2 +
 dev-python/django/django-5.1.ebuild                |  2 +
 .../django/files/django-5.1-more-pypy3.patch       | 51 ++++++++++++++++++++++
 4 files changed, 57 insertions(+)

diff --git a/dev-python/django/django-4.2.15.ebuild b/dev-python/django/django-4.2.15.ebuild
index c05445503ec7..bd2335231db9 100644
--- a/dev-python/django/django-4.2.15.ebuild
+++ b/dev-python/django/django-4.2.15.ebuild
@@ -57,6 +57,8 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/django-4.0-bashcomp.patch
 	"${WORKDIR}"/django-4.2.8-pypy3.patch
+	# https://code.djangoproject.com/ticket/35661
+	"${FILESDIR}"/django-5.1-more-pypy3.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/django-5.0.8.ebuild b/dev-python/django/django-5.0.8.ebuild
index 80dc188258c8..2357d8dbed8b 100644
--- a/dev-python/django/django-5.0.8.ebuild
+++ b/dev-python/django/django-5.0.8.ebuild
@@ -59,6 +59,8 @@ PATCHES=(
 	"${WORKDIR}"/django-5.0-pypy3.patch
 	# https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
 	"${FILESDIR}"/django-5.0.6-py313.patch
+	# https://code.djangoproject.com/ticket/35661
+	"${FILESDIR}"/django-5.1-more-pypy3.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/django-5.1.ebuild b/dev-python/django/django-5.1.ebuild
index bd9babed87a6..1a52c318f46b 100644
--- a/dev-python/django/django-5.1.ebuild
+++ b/dev-python/django/django-5.1.ebuild
@@ -56,6 +56,8 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/django-4.0-bashcomp.patch
+	# https://code.djangoproject.com/ticket/35661
+	"${FILESDIR}"/django-5.1-more-pypy3.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/files/django-5.1-more-pypy3.patch b/dev-python/django/files/django-5.1-more-pypy3.patch
new file mode 100644
index 000000000000..27663898cc55
--- /dev/null
+++ b/dev-python/django/files/django-5.1-more-pypy3.patch
@@ -0,0 +1,51 @@
+From d9aeb23edb6cc861360ffbb59a45beccafe55dcb Mon Sep 17 00:00:00 2001
+From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
+Date: Thu, 8 Aug 2024 08:13:29 +0200
+Subject: [PATCH] [5.1.x] Fixed #35661 -- Fixed
+ test_too_many_digits_to_rander() test crash on PyPy.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Thanks Michał Górny for the report.
+
+Backport of 7fb15ad5bcae05324ee8913e4b2c6c982e8f2de0 from main.
+---
+ .../template_tests/filter_tests/test_floatformat.py  | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/tests/template_tests/filter_tests/test_floatformat.py b/tests/template_tests/filter_tests/test_floatformat.py
+index 3d6c34a55232..6183f6a0691d 100644
+--- a/tests/template_tests/filter_tests/test_floatformat.py
++++ b/tests/template_tests/filter_tests/test_floatformat.py
+@@ -4,6 +4,7 @@
+ from django.test import SimpleTestCase
+ from django.utils import translation
+ from django.utils.safestring import mark_safe
++from django.utils.version import PYPY
+ 
+ from ..utils import setup
+ 
+@@ -181,12 +182,21 @@ def test_too_many_digits_to_render(self):
+             "-1E10000000000000000",
+             "1e10000000000000000",
+             "-1e10000000000000000",
+-            "1" + "0" * 1_000_000,
+         ]
+         for value in cases:
+             with self.subTest(value=value):
+                 self.assertEqual(floatformat(value), value)
+ 
++    def test_too_many_digits_to_render_very_long(self):
++        value = "1" + "0" * 1_000_000
++        if PYPY:
++            # PyPy casts decimal parts to int, which reaches the integer string
++            # conversion length limit (default 4300 digits, CVE-2020-10735).
++            with self.assertRaises(ValueError):
++                floatformat(value)
++        else:
++            self.assertEqual(floatformat(value), value)
++
+     def test_float_dunder_method(self):
+         class FloatWrapper:
+             def __init__(self, value):


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

end of thread, other threads:[~2024-08-08 11:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-18 19:08 [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/ Virgil Dupras
  -- strict thread matches above, loose matches on Subject: below --
2020-08-04 13:48 Michał Górny
2021-05-04 12:41 Michał Górny
2021-09-05  6:35 Michał Górny
2022-07-05  8:47 Michał Górny
2022-08-07  8:54 Michał Górny
2023-05-04 15:30 Michał Górny
2023-07-04  2:59 Michał Górny
2024-08-08 11:30 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox