public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2015-12-02  7:53 Justin Lecher
  0 siblings, 0 replies; 20+ messages in thread
From: Justin Lecher @ 2015-12-02  7:53 UTC (permalink / raw
  To: gentoo-commits

commit:     b626ca718f4736db3dcdef09cf465dab65ef13a1
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  2 07:53:01 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Wed Dec  2 07:53:01 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b626ca71

dev-python/django: Version Bump

Package-Manager: portage-2.2.25
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 dev-python/django/Manifest                        |   1 +
 dev-python/django/django-1.9.ebuild               | 111 ++++++++++++++++++++++
 dev-python/django/files/django-1.9-bashcomp.patch |  46 +++++++++
 3 files changed, 158 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 4c37289..08ed8fe 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -3,3 +3,4 @@ DIST Django-1.5.12.tar.gz 8202839 SHA256 b3de77beb6e59b72071ca66f20c2ad34e1b90d3
 DIST Django-1.6.11.tar.gz 6764000 SHA256 7e50e573e484435873b3515d7982d80093b2695aba17fd0ff024307454dc3a56 SHA512 de6024b49e0344bf153f73ec344180fb701e415e4f9c330118821744d0e579436cc265724f7ef7213c9551847022ba9570312633f317b9003db533d06deb9829 WHIRLPOOL 5de086952bda9449f85798e8fe3bac82f11e1b856c1d39e340399e71ca6bf183318eebf1f536714567036485637166a929082a1ba9d6c1816f07c53dcc12c72a
 DIST Django-1.7.11.tar.gz 7586798 SHA256 2039144fce8f1b603d03fa5a5643578df1ad007c4ed41a617f02a3943f7059a1 SHA512 2e3415295ee6b590e366b09adb261baccb750519b9bcef1bb09bd52a2db705c8082bfc13440c621a5f41dd4f9bd626792eba4a572e78de3b7caf93c951c406ee WHIRLPOOL 8797862021c6acdfcba5752f6f5f2d567a564812fc5089678a9d00b9d8f1cb13c03bd0cb9b369b68ce1d1f1dc1522f05d41778f5181aef9c7d49783afc280e7c
 DIST Django-1.8.7.tar.gz 7276831 SHA256 17a66de5cf59b5ee81c3dc57609b145bb45adddc0dc06937b998597d6e7b4523 SHA512 74b89efd4fd2d19542a30e0fa0648652aa85ea309804afadae1162b1cac3492e599beaf5ea868d67bcef5f016283952dcc869726cbf6f15141f0816a0377b041 WHIRLPOOL adae3d00ceab8bb3e526107068270d53de968b782d5e37a64f59ecaf75e8933d3895dc6de5c934ea180c8436a88acb4949f7f4f8bba56c13c92d08874596c784
+DIST Django-1.9.tar.gz 7392116 SHA256 05fe4b19a8778d4b48bbf1f4dfca3106881fea7982664553e7f7f861606f7c66 SHA512 255438e4ce89bc128506ef9137604cd38bc7cd5f69b687e9ec6c9332b7a89b55cc904209b630e42e0376cca944a26090da9b209ea2ecaaf0033ee5e8c9e0378d WHIRLPOOL d1ae1b62c7e3966dbef4191910970db3d83b5a6693528adb2966b00f0a599b7674689230e6d2875ea9fd44e0926ab0d98a303b45c61c1bb9a7e54555fd7a1cb7

diff --git a/dev-python/django/django-1.9.ebuild b/dev-python/django/django-1.9.ebuild
new file mode 100644
index 0000000..a435541
--- /dev/null
+++ b/dev-python/django/django-1.9.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} pypy )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils versionator webapp
+
+MY_PN="Django"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ https://pypi.python.org/pypi/Django"
+SRC_URI="
+	https://www.djangoproject.com/m/releases/$(get_version_component_range 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 ~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/setuptools[${PYTHON_USEDEP}]
+	doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+	test? (
+		${PYTHON_DEPS//sqlite?/sqlite}
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/numpy[$(python_gen_usedep 'python*')]
+		dev-python/pillow[${PYTHON_USEDEP}]
+		dev-python/pytz[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		)"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-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 \
+		|| 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 in python 2.7 only" dev-python/mysql-python
+	optfeature "MySQL backend support in python 2.7 - 3.4" 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-1.9-bashcomp.patch b/dev-python/django/files/django-1.9-bashcomp.patch
new file mode 100644
index 0000000..8618dbe
--- /dev/null
+++ b/dev-python/django/files/django-1.9-bashcomp.patch
@@ -0,0 +1,46 @@
+ extras/django_bash_completion | 35 +----------------------------------
+ 1 file changed, 1 insertion(+), 34 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+index 06a2321..abe76e5 100755
+--- 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([2-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] 20+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2018-07-21  0:20 Virgil Dupras
  0 siblings, 0 replies; 20+ messages in thread
From: Virgil Dupras @ 2018-07-21  0:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b5bd127d40a0ae08853af6e2c2c7cff86c5cc608
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 00:15:27 2018 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Sat Jul 21 00:15:27 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5bd127d

dev-python/django: remove old and vulnerable

Bug: https://bugs.gentoo.org/630064
Package-Manager: Portage-2.3.43, Repoman-2.3.10

 dev-python/django/Manifest                         |   7 --
 dev-python/django/django-1.10.7.ebuild             | 110 ---------------------
 dev-python/django/django-1.4.22.ebuild             | 103 -------------------
 dev-python/django/django-1.5.12.ebuild             |  77 ---------------
 dev-python/django/django-1.6.11.ebuild             | 105 --------------------
 dev-python/django/django-1.7.11.ebuild             | 104 -------------------
 dev-python/django/django-1.8.18.ebuild             | 106 --------------------
 dev-python/django/django-1.9.13.ebuild             | 110 ---------------------
 .../django/files/django-1.4.19-bashcomp.patch      |  37 -------
 dev-python/django/files/django-1.5-py3tests.patch  |  22 -----
 dev-python/django/files/django-1.5.4-objects.patch |  31 ------
 dev-python/django/files/django-1.6-objects.patch   |  18 ----
 .../django/files/django-1.6.10-bashcomp.patch      |  35 -------
 .../django/files/django-1.7.6-bashcomp.patch       |  34 -------
 14 files changed, 899 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 85e277a20ee..581892f6f14 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,9 +1,2 @@
-DIST Django-1.10.7.tar.gz 7737654 BLAKE2B 54625d105eff94f64aa6d9e3afbad390a1d63e4d262e5ef8ec47c568438ad756eff1e59450d34139e6a3e3dab0eb2c16aa7fbe71b9a0379625e57ef8da45331c SHA512 2b16de21a1c966942f0d912bde4f5be7004f250e5ce3c56a5ac462f81f82e911da19fa0aeb9058670d663caecc1016ce4bcd93c1fa058675150caa33cfeb0e3b
 DIST Django-1.11.14.tar.gz 7850578 BLAKE2B b858ab51d40812979ec04cffc459ce137a5f5604d105e73c2fdf9e36b07fd5cf12a7f31d6f89607716220328313663f4e99dabfdf40f93b5c829efe533efbc51 SHA512 71dbbad22bf0675a5c9aa36bcf69d6de561cf041b744fa37b407cb021ef342c3245b8001025c0492ce20df664e37ed2d7a5ffdc397761065d088ddb0d9fbe6c8
-DIST Django-1.4.22.tar.gz 7802249 BLAKE2B daf3a23c4e863ec9e5ff538f4a0720036e035be0c871fb6342ef9b40b8bb7a3dff9a735a040f4c003bce815f10153f4cf31dfdc181cd69fe4db1ab217ea93d76 SHA512 03e833d95d8ffacf8cb753b8b8c15edc145830add322ad166c574a9a7428ed308082ffea7a73bcdb7315f489270fd84a38d1a8b12c090dfb9d68da5d281cef68
-DIST Django-1.5.12.tar.gz 8202839 BLAKE2B 9f177aa1e06b2d908448022ccd9986074abf66e58f4ab3315f5d3fb28cc45b77e23fc0c3933166e2720d1869b35a596d65350742a8015688f88c5358fa0e3484 SHA512 37736827618737c54e7b63f2376b915d8dc0cdaf1900a2f6c3c9e0edd69e50379f95e3b6a31c930efdca88793b6330e7226175af91951d8637e5db780bc9fd8d
-DIST Django-1.6.11.tar.gz 6764000 BLAKE2B 85ea8c37e0728405e0109504e81db92a0a4f31c908daa09fdcb73890df5724d7bea0a8c8322ee62b8b1ee07cf5a01078ba404140991799bc0acf1f31ca5003f5 SHA512 de6024b49e0344bf153f73ec344180fb701e415e4f9c330118821744d0e579436cc265724f7ef7213c9551847022ba9570312633f317b9003db533d06deb9829
-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-1.10.7.ebuild b/dev-python/django/django-1.10.7.ebuild
deleted file mode 100644
index 1e04f234403..00000000000
--- a/dev-python/django/django-1.10.7.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 eutils versionator 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/$(get_version_component_range 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 ~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/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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.9-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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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/django-1.4.22.ebuild b/dev-python/django/django-1.4.22.ebuild
deleted file mode 100644
index 0f0ba08919d..00000000000
--- a/dev-python/django/django-1.4.22.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 eutils versionator webapp
-
-MY_P="Django-${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/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="sqlite test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		$(python_gen_impl_dep sqlite)
-		dev-python/docutils[${PYTHON_USEDEP}]
-		<dev-python/numpy-1.9[$(python_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		)"
-
-#		app-text/pytextile[${PYTHON_USEDEP}]
-#		dev-python/markdown[${PYTHON_USEDEP}]
-#		dev-python/selenium[${PYTHON_USEDEP}]
-#		dev-python/py-bcrypt[${PYTHON_USEDEP}]
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.4.19-bashcomp.patch
-)
-
-python_prepare_all() {
-	# Disable tests requiring network connection.
-	sed \
-		-e "s/test_correct_url_value_passes/_&/" \
-		-e "s/test_correct_url_with_redirect/_&/" \
-		-i tests/modeltests/validation/tests.py || die
-	sed \
-		-e "s/test_urlfield_3/_&/" \
-		-e "s/test_urlfield_4/_&/" \
-		-e "s/test_urlfield_10/_&/" \
-		-i tests/regressiontests/forms/tests/fields.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=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
-		|| die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
-	distutils-r1_src_install
-	webapp_src_install
-
-	elog "Additional Backend support can be enabled via"
-	optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysql-connector-python
-	optfeature "PostgreSQL backend support" dev-python/psycopg:2
-	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
-	optfeature "ImageField Support" dev-python/pillow
-	echo ""
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}-admin
-	bashcomp_alias ${PN}-admin django-admin.py
-
-	insinto "${MY_HTDOCSDIR#${EPREFIX}}"
-	doins -r django/contrib/admin/static/admin/.
-	distutils-r1_python_install_all
-}
-
-pkg_postinst() {
-	elog "A copy of the admin media is available to"
-	elog "webapp-config for installation in a webroot,"
-	elog "as well as the traditional location in python's"
-	elog "site-packages dir for easy development"
-	elog
-	ewarn "If you build Django ${PV} without USE=\"vhosts\""
-
-	# XXX: call webapp_pkg_postinst? the old ebuild didn't do that...
-	ewarn "webapp-config will automatically install the"
-	ewarn "admin media into the localhost webroot."
-}

diff --git a/dev-python/django/django-1.5.12.ebuild b/dev-python/django/django-1.5.12.ebuild
deleted file mode 100644
index 79854907c61..00000000000
--- a/dev-python/django/django-1.5.12.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 pypy )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 versionator webapp
-
-MY_P="Django-${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/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="doc mysql postgres sqlite test"
-
-PY2_USEDEP=$(python_gen_usedep 'python*')
-RDEPEND="dev-python/pillow[${PYTHON_USEDEP}]
-	postgres? ( dev-python/psycopg:2[${PY2_USEDEP}] )
-	mysql? ( >=dev-python/mysql-python-1.2.3[${PY2_USEDEP}] )"
-DEPEND="${RDEPEND}
-	doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
-	test? ( $(python_gen_impl_dep sqlite) )"
-
-REQUIRED_USE="mysql? ( $(python_gen_useflags 'python2*') )
-		postgres? ( || ( $(python_gen_useflags 'python2*') ) )"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.5.4-objects.patch \
-		"${FILESDIR}"/${PN}-1.5-py3tests.patch )
-
-python_compile_all() {
-	if use doc; then
-		emake -C docs html
-	fi
-}
-
-python_test() {
-	# Tests have non-standard assumptions about PYTHONPATH,
-	# and don't work with ${BUILD_DIR}/lib.
-	# https://code.djangoproject.com/ticket/20514
-	PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v1 \
-		|| die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
-	distutils-r1_src_install
-	webapp_src_install
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${PN}
-
-	if use doc; then
-		rm -fr docs/_build/html/_sources
-		local HTML_DOCS=( docs/_build/html/. )
-	fi
-
-	insinto "${MY_HTDOCSDIR#${EPREFIX}}"
-	doins -r django/contrib/admin/static/admin/.
-	distutils-r1_python_install_all
-}
-
-pkg_postinst() {
-	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/django-1.6.11.ebuild b/dev-python/django/django-1.6.11.ebuild
deleted file mode 100644
index a46445f638c..00000000000
--- a/dev-python/django/django-1.6.11.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_4 pypy )
-
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 eutils versionator webapp
-
-MY_P="Django-${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/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="doc sqlite test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	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-1.9[$(python_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		)"
-
-#		dev-python/bcrypt[${PYTHON_USEDEP}]
-#		dev-python/selenium[${PYTHON_USEDEP}]
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.5-py3tests.patch
-	"${FILESDIR}"/${PN}-1.6-objects.patch
-	"${FILESDIR}"/${PN}-1.6.10-bashcomp.patch
-)
-
-pkg_setup() {
-	webapp_pkg_setup
-}
-
-python_prepare_all() {
-	# Disable tests requiring network connection.
-	sed \
-		-e "s:test_sensitive_cookie_not_cached:_&:g" \
-		-i tests/cache/tests.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 \
-		|| die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
-	distutils-r1_src_install
-	webapp_src_install
-
-	elog "Additional Backend support can be enabled via"
-	optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysql-connector-python
-	optfeature "PostgreSQL backend support" dev-python/psycopg:2
-	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
-	optfeature "ImageField Support" dev-python/pillow
-	echo ""
-}
-
-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
-}
-
-pkg_postinst() {
-	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/django-1.7.11.ebuild b/dev-python/django/django-1.7.11.ebuild
deleted file mode 100644
index 86ddb5fc5df..00000000000
--- a/dev-python/django/django-1.7.11.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_4 pypy )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 eutils versionator webapp
-
-MY_P="Django-${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/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="doc sqlite test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		)"
-
-#		dev-python/python-sqlparse[${PYTHON_USEDEP}]
-#		dev-python/bcrypt[${PYTHON_USEDEP}]
-#		dev-python/selenium[${PYTHON_USEDEP}]
-#		sci-libs/gdal[geos,${PYTHON_USEDEP}]
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.7.6-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 \
-		|| die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
-	distutils-r1_src_install
-	webapp_src_install
-
-	elog "Additional Backend support can be enabled via"
-	optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysqlclient
-	optfeature "PostgreSQL backend support" dev-python/psycopg:2
-	optfeature "GEO Django" sci-libs/gdal[geos]
-	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
-	optfeature "ImageField Support" dev-python/pillow
-	echo ""
-}
-
-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
-}
-
-pkg_postinst() {
-	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/django-1.8.18.ebuild b/dev-python/django/django-1.8.18.ebuild
deleted file mode 100644
index 413258c4600..00000000000
--- a/dev-python/django/django-1.8.18.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 eutils versionator 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/$(get_version_component_range 1-2)/${MY_P}.tar.gz
-	mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz
-	"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~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/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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.7.6-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 \
-		|| 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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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/django-1.9.13.ebuild b/dev-python/django/django-1.9.13.ebuild
deleted file mode 100644
index 481a4e6cfeb..00000000000
--- a/dev-python/django/django-1.9.13.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-WEBAPP_NO_AUTO_INSTALL="yes"
-
-inherit bash-completion-r1 distutils-r1 eutils versionator 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/$(get_version_component_range 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=""
-IUSE="doc sqlite test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.9-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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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-1.4.19-bashcomp.patch b/dev-python/django/files/django-1.4.19-bashcomp.patch
deleted file mode 100644
index 26d5f7ee140..00000000000
--- a/dev-python/django/files/django-1.4.19-bashcomp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
- extras/django_bash_completion | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-old mode 100755
-new mode 100644
-index 1c3887e..748227d
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,7 +37,7 @@ _django_completion()
-                    COMP_CWORD=$COMP_CWORD \
- 	               DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
--complete -F _django_completion -o default django-admin.py manage.py django-admin
-+complete -F _django_completion -o default django-admin.py django-admin
- 
- _python_django_completion()
- {
-@@ -55,18 +55,3 @@ _python_django_completion()
-         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
--        pythons="${pythons} $(basename -- $python)"
--    done
--    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
--else
--    pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons
--

diff --git a/dev-python/django/files/django-1.5-py3tests.patch b/dev-python/django/files/django-1.5-py3tests.patch
deleted file mode 100644
index 16b2cc209c0..00000000000
--- a/dev-python/django/files/django-1.5-py3tests.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://code.djangoproject.com/ticket/20514
-diff -ur Django-1.5.orig/django/contrib/gis/tests/test_measure.py Django-1.5/django/contrib/gis/tests/test_measure.py
---- django/contrib/gis/tests/test_measure.py	2013-02-27 03:04:14.000000000 +0800
-+++ django/contrib/gis/tests/test_measure.py	2013-05-28 04:40:18.983011224 +0800
-@@ -40,7 +40,7 @@
-         "Testing access in different units"
-         d = D(m=100)
-         self.assertEqual(d.km, 0.1)
--        self.assertAlmostEqual(d.ft, 328.084, 3)
-+        self.assertAlmostEqual(d.ft, 328.084, places=3)
- 
-     def testAccessInvalid(self):
-         "Testing access in invalid units"
-@@ -172,7 +172,7 @@
-         "Testing access in different units"
-         a = A(sq_m=100)
-         self.assertEqual(a.sq_km, 0.0001)
--        self.assertAlmostEqual(a.sq_ft, 1076.391, 3)
-+        self.assertAlmostEqual(a.sq_ft, 1076.391, places=3)
- 
-     def testAccessInvaliA(self):
-         "Testing access in invalid units"

diff --git a/dev-python/django/files/django-1.5.4-objects.patch b/dev-python/django/files/django-1.5.4-objects.patch
deleted file mode 100644
index 48e649081d3..00000000000
--- a/dev-python/django/files/django-1.5.4-objects.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Remove un-needed objects.inv files from d'loading during doc build
-diff -ur Django-1.5.1.orig/docs/conf.py Django-1.5.1/docs/conf.py
---- docs/conf.py	2013-03-29 04:10:14.000000000 +0800
-+++ docs/conf.py	2013-05-28 01:54:49.695008477 +0800
-@@ -91,12 +91,6 @@
- 
- # Links to Python's docs should reference the most recent version of the 2.x
- # branch, which is located at this URL.
--intersphinx_mapping = {
--    'python': ('http://docs.python.org/2.7', None),
--    'sphinx': ('http://sphinx.pocoo.org/', None),
--    'six': ('http://pythonhosted.org/six/', None),
--    'simplejson': ('http://simplejson.readthedocs.org/en/latest/', None),
--}
- 
- # Python's docs don't change every week.
- intersphinx_cache_limit = 90 # days
-# Fix creation of html docs on python 3
-# https://github.com/django/django/commit/a5733fcd7be7adb8b236825beff4ccda19900f9e
-diff -ur Django-1.5.1.orig/docs/_ext/djangodocs.py Django-1.5.1/docs/_ext/djangodocs.py
---- docs/_ext/djangodocs.py	2013-03-29 04:07:21.000000000 +0800
-+++ docs/_ext/djangodocs.py	2013-05-28 02:34:59.057009144 +0800
-@@ -204,7 +204,7 @@
-                         if t == "templatefilter" and l == "ref/templates/builtins"],
-         }
-         outfilename = os.path.join(self.outdir, "templatebuiltins.js")
--        with open(outfilename, 'wb') as fp:
-+        with open(outfilename, 'w') as fp:
-             fp.write('var django_template_builtins = ')
-             json.dump(templatebuiltins, fp)
-             fp.write(';\n')

diff --git a/dev-python/django/files/django-1.6-objects.patch b/dev-python/django/files/django-1.6-objects.patch
deleted file mode 100644
index 597da6e6bb1..00000000000
--- a/dev-python/django/files/django-1.6-objects.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-#Remove un-needed objects.inv files from d'loading during doc build
-diff -ur Django-1.6.1.orig/docs/conf.py Django-1.6.1/docs/conf.py
---- docs/conf.py    2013-12-12 14:37:59.000000000 -0500
-+++ docs/conf.py    2014-01-16 20:57:36.253670094 -0500
-@@ -109,12 +109,6 @@
- 
- # Links to Python's docs should reference the most recent version of the 2.x
- # branch, which is located at this URL.
--intersphinx_mapping = {
--    'python': ('http://docs.python.org/2.7', None),
--    'sphinx': ('http://sphinx.pocoo.org/', None),
--    'six': ('http://pythonhosted.org/six/', None),
--    'simplejson': ('http://simplejson.readthedocs.org/en/latest/', None),
--}
- 
- # Python's docs don't change every week.
- intersphinx_cache_limit = 90 # days
-

diff --git a/dev-python/django/files/django-1.6.10-bashcomp.patch b/dev-python/django/files/django-1.6.10-bashcomp.patch
deleted file mode 100644
index 7c6ceff076a..00000000000
--- a/dev-python/django/files/django-1.6.10-bashcomp.patch
+++ /dev/null
@@ -1,35 +0,0 @@
- extras/django_bash_completion | 17 +----------------
- 1 file changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-index 8f85211..ab13755 100755
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,7 +37,7 @@ _django_completion()
-                    COMP_CWORD=$COMP_CWORD \
- 	               DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
--complete -F _django_completion -o default django-admin.py manage.py django-admin
-+complete -F _django_completion -o default django-admin.py django-admin
- 
- _python_django_completion()
- {
-@@ -55,18 +55,3 @@ _python_django_completion()
-         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
--        pythons="${pythons} ${python##*/}"
--    done
--    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
--else
--    pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons
--

diff --git a/dev-python/django/files/django-1.7.6-bashcomp.patch b/dev-python/django/files/django-1.7.6-bashcomp.patch
deleted file mode 100644
index ef76f8a873c..00000000000
--- a/dev-python/django/files/django-1.7.6-bashcomp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
- extras/django_bash_completion | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-index 3e02d8e..5a33938 100755
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,7 +37,7 @@ _django_completion()
-                    COMP_CWORD=$COMP_CWORD \
-                    DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
--complete -F _django_completion -o default django-admin.py manage.py django-admin
-+complete -F _django_completion -o default django-admin.py django-admin
- 
- _python_django_completion()
- {
-@@ -55,17 +55,3 @@ _python_django_completion()
-         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
--        pythons="${pythons} ${python##*/}"
--    done
--    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
--else
--    pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2018-07-21  1:06 Virgil Dupras
  0 siblings, 0 replies; 20+ messages in thread
From: Virgil Dupras @ 2018-07-21  1:06 UTC (permalink / raw
  To: gentoo-commits

commit:     37f30b0a27452cf4fb2b9cf37a5ae8f7d95f9954
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 01:05:36 2018 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Sat Jul 21 01:06:17 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37f30b0a

dev-python/django: revert removal of 1.8.18

Its removal broke a couple of revdeps I didn't properly check. Sorry.

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 dev-python/django/Manifest                         |   1 +
 dev-python/django/django-1.8.18.ebuild             | 106 +++++++++++++++++++++
 .../django/files/django-1.7.6-bashcomp.patch       |  34 +++++++
 3 files changed, 141 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 581892f6f14..95d178fbb87 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,2 +1,3 @@
 DIST Django-1.11.14.tar.gz 7850578 BLAKE2B b858ab51d40812979ec04cffc459ce137a5f5604d105e73c2fdf9e36b07fd5cf12a7f31d6f89607716220328313663f4e99dabfdf40f93b5c829efe533efbc51 SHA512 71dbbad22bf0675a5c9aa36bcf69d6de561cf041b744fa37b407cb021ef342c3245b8001025c0492ce20df664e37ed2d7a5ffdc397761065d088ddb0d9fbe6c8
+DIST Django-1.8.18.tar.gz 7297986 BLAKE2B 3cf777d98bfc278a3b6458cbb1bbd273e6b77e35bdae24e73cd1af6b6ab7e71ef12d36df73d90a3971ac3b6fe6edbb4a2d14a95a6f2200c99419a049eb95cdda SHA512 41959c1012feec579dc991129976a655bc2f1ff7298bd05951c925b3d0a86a67cc32bf8a78273236b3db05cc1eb841a7aba5091bd06a072dd73c55eb0f7ecee8
 DIST Django-2.0.7.tar.gz 7988568 BLAKE2B afc3fb9cd3f37b7488ad8eb46eb9ebb540c54b04661a44620951930a352537ee3a3072a604fd2cbbc95ea3fe112ebab25f45f971bc30ad48161eb8cda26db6d3 SHA512 ef42d9046ce3e7b5067c5b85114c0cb5854b0ebb1d3bae526484f11da8abbf04864c83f176e9c6e498c9140b134c9a517968c7bb0bc087c49bf105b2aae8644c

diff --git a/dev-python/django/django-1.8.18.ebuild b/dev-python/django/django-1.8.18.ebuild
new file mode 100644
index 00000000000..413258c4600
--- /dev/null
+++ b/dev-python/django/django-1.8.18.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils versionator 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/$(get_version_component_range 1-2)/${MY_P}.tar.gz
+	mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz
+	"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~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/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_gen_usedep 'python*')]
+		dev-python/pillow[${PYTHON_USEDEP}]
+		dev-python/pytz[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		)"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.7.6-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 \
+		|| 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 in python 2.7 only" dev-python/mysql-python
+	optfeature "MySQL backend support in python 2.7 - 3.4" 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-1.7.6-bashcomp.patch b/dev-python/django/files/django-1.7.6-bashcomp.patch
new file mode 100644
index 00000000000..ef76f8a873c
--- /dev/null
+++ b/dev-python/django/files/django-1.7.6-bashcomp.patch
@@ -0,0 +1,34 @@
+ extras/django_bash_completion | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+index 3e02d8e..5a33938 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,7 +37,7 @@ _django_completion()
+                    COMP_CWORD=$COMP_CWORD \
+                    DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
++complete -F _django_completion -o default django-admin.py django-admin
+ 
+ _python_django_completion()
+ {
+@@ -55,17 +55,3 @@ _python_django_completion()
+         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
+-        pythons="${pythons} ${python##*/}"
+-    done
+-    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+-    pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2018-09-03 13:33 Virgil Dupras
  0 siblings, 0 replies; 20+ messages in thread
From: Virgil Dupras @ 2018-09-03 13:33 UTC (permalink / raw
  To: gentoo-commits

commit:     77e79a429c95e05559c0c7ae0b477fec28c6d6f6
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  3 13:30:46 2018 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Mon Sep  3 13:33:14 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77e79a42

dev-python/django: remove old and vulnerable

Bug: https://bugs.gentoo.org/662632
Package-Manager: Portage-2.3.48, Repoman-2.3.10

 dev-python/django/Manifest                         |   1 -
 dev-python/django/django-1.8.19.ebuild             | 106 ---------------------
 .../django/files/django-1.7.6-bashcomp.patch       |  34 -------
 3 files changed, 141 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 8a8b1f942ed..f7d578ab5c1 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,4 +1,3 @@
 DIST Django-1.11.15.tar.gz 7843843 BLAKE2B b7713de8136302d8d95929ed449ab01173e28c0d5d20529eaae9d6bd6d323f53b674a4fb6e8398da4b57a223f10ef63e7961accc8fd777313f18b4e2b0f225ed SHA512 4ea18c59f7c74d0b6deb9d292d5de068c6dcc53d9596f321f5a7e823ff5fe423cc8d69c88bf53e3acd9c36c4ecc4447148243a127d5114a4894b0fd4d449f37e
-DIST Django-1.8.19.tar.gz 7359244 BLAKE2B 1c7b857f864527cf5b9cac8e08599e1f4f3306a828bcc253e0e59755da6d464592e627eb3743687b0410d308b3d089359dd79af0146b02e6db7f5eca43f04401 SHA512 cec71f4a1aaa3fcfc43a035e9fcd8d6fabde7aade43491f9205942cbeb251ae394e49ec6b5b2403b74c24b069064d44ae6070b151c0c949b940f2d46aa87774e
 DIST Django-2.0.8.tar.gz 7987343 BLAKE2B ab35f50ce1911cb9603c7ac85e7ab01e6019ce9a2dac4cd733b11f35722368946ff3a130c3c791da4d49cf609b5747b4c5de64e29e27a8e12abb7f9e29cd363b SHA512 ac3cc3f58cb977518c6f549834beb35677c2d5541cfb5723045b98165926e826178cb33737c52a0f999be24bc38b84dde489a5f91d1c8d51b8338aa611acb518
 DIST Django-2.1.tar.gz 8583964 BLAKE2B 92a48bbdd45fa94c7b43961bf22bd5521019bf0c9f37f6685c8916d9d1886b77522fb58d7db27989a713445b51e15858161e5b99e636cdadc23860d2d0a8ef56 SHA512 1c75f0ad8ef353fb38d245034f108df5554cc27073f44ef920576b5dba3d2dd685d8905c0bde1701d43cb01b4c9dbb2bfa7c38c57fae3208af5be616d26d39cb

diff --git a/dev-python/django/django-1.8.19.ebuild b/dev-python/django/django-1.8.19.ebuild
deleted file mode 100644
index 1dda1fe2a77..00000000000
--- a/dev-python/django/django-1.8.19.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5} pypy )
-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"
-SLOT="0"
-KEYWORDS="amd64 ~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/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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.7.6-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 \
-		|| 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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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-1.7.6-bashcomp.patch b/dev-python/django/files/django-1.7.6-bashcomp.patch
deleted file mode 100644
index ef76f8a873c..00000000000
--- a/dev-python/django/files/django-1.7.6-bashcomp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
- extras/django_bash_completion | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-index 3e02d8e..5a33938 100755
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,7 +37,7 @@ _django_completion()
-                    COMP_CWORD=$COMP_CWORD \
-                    DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
--complete -F _django_completion -o default django-admin.py manage.py django-admin
-+complete -F _django_completion -o default django-admin.py django-admin
- 
- _python_django_completion()
- {
-@@ -55,17 +55,3 @@ _python_django_completion()
-         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
--        pythons="${pythons} ${python##*/}"
--    done
--    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
--else
--    pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons


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

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

commit:     124b2b0f18a73dc01d867817a1604ef227f48a44
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  5 18:53:33 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar  5 19:07:51 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=124b2b0f

dev-python/django: Remove 1*

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

 dev-python/django/Manifest                        |   2 -
 dev-python/django/django-1.11.20.ebuild           | 113 ----------------------
 dev-python/django/django-1.11.21.ebuild           | 113 ----------------------
 dev-python/django/files/django-1.9-bashcomp.patch |  46 ---------
 4 files changed, 274 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 86e9ef6d1a0..a24eca6d3aa 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,5 +1,3 @@
-DIST Django-1.11.20.tar.gz 7846576 BLAKE2B 11423edda7f2f08cc894957da65c746c99ce7ce5399ff236972cce627e347cbc4a43c7ff75282318fac2ac8f65fc4db691ac9fe8e04059b0de4f1bfe31278382 SHA512 5a0fff6c9b90a08e98dee6d4d090047adb900a8f6a061f98e685e8998bfe3d97fe7a90aa7d4d2feae67026fb6e4441393d50cb5ab295604ed362a080b987f062
-DIST Django-1.11.21.tar.gz 7847136 BLAKE2B 940734dc980901cb13fd90ef38815556d41e94a9fb1ac3a0e36e786b4a8df549ec2bce8a114ffbff1133a066ee8423c7beaccc7c774985df0aa1def1ebab58c1 SHA512 c91a1189b6b8fbbb1470f870b09c1c553e860d3b8c0977240399524a830d5403929f14b4e4b689354080748aab1c70587ad56e265f4ac0b3bdc2714d01adbbc4
 DIST Django-2.1.8.tar.gz 8613572 BLAKE2B 543e41f1b4031b624f903f075e95af7e010510f4c265aebd35a5f6b3f074703b3a4b54bc7f2a9752e717ac99d20c42d6e34e556ca619a531cf8c66622ce1419a SHA512 f84fcdf919091a9db6289f25da601ce447382f79118a99f8f316b2479a9325d629f725edb4618300f76e23bd68ae45ff4c6b6576988f109d1a7ba715c73327c3
 DIST Django-2.1.9.tar.gz 8608747 BLAKE2B d5ef1aacc30067dfe5369655eb23ea67788f22edcf8ba070944c0fb4fdf2fc3628a364d480a3d47bae0339255fb66a3bc27f11eb5f07280812ab5f57b4367c64 SHA512 1f6ad122012d898da52ce44465700d2492ef9002d5c327b25e3edfe2116b8a1143feab79751a581029664311452d52d96fe116d8817edb0ef7d7dbddfc0a5ec7
 DIST Django-2.2.1.tar.gz 8973889 BLAKE2B 890ab092807a587dbaba69fb6da7a4c53c8e976d3a4c29003549d72dd69c374640df280885a62845dda0d00f432e398747b9ed652aebbd7e3434c07e71d9a80f SHA512 661ed7352847d2167f8d3410b476cb585a269ef5d3afe0cb59cf0c9a2ea22f0572f12825368bc222f33f8c6d4c71767adade97e25b69f5a619795ccb670773e2

diff --git a/dev-python/django/django-1.11.20.ebuild b/dev-python/django/django-1.11.20.ebuild
deleted file mode 100644
index 63eb7b863c6..00000000000
--- a/dev-python/django/django-1.11.20.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-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 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( 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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		virtual/python-enum34[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.9-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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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/django-1.11.21.ebuild b/dev-python/django/django-1.11.21.ebuild
deleted file mode 100644
index a09c08fe93a..00000000000
--- a/dev-python/django/django-1.11.21.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-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 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( 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_gen_usedep 'python*')]
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		virtual/python-enum34[${PYTHON_USEDEP}]
-		)"
-
-S="${WORKDIR}/${MY_P}"
-
-WEBAPP_MANUAL_SLOT="yes"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.9-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 in python 2.7 only" dev-python/mysql-python
-	optfeature "MySQL backend support in python 2.7 - 3.4" 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-1.9-bashcomp.patch b/dev-python/django/files/django-1.9-bashcomp.patch
deleted file mode 100644
index 8618dbef920..00000000000
--- a/dev-python/django/files/django-1.9-bashcomp.patch
+++ /dev/null
@@ -1,46 +0,0 @@
- extras/django_bash_completion | 35 +----------------------------------
- 1 file changed, 1 insertion(+), 34 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-index 06a2321..abe76e5 100755
---- 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([2-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] 20+ messages in thread

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

commit:     00ca5c9b7c573e43daf2088514df52e02c429e07
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May  6 05:26:30 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May  6 06:03:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00ca5c9b

dev-python/django: Redo bash-completion patch for 3.0.6

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

 dev-python/django/django-3.0.6.ebuild              |  4 ++
 .../django/files/django-3.0.6-bashcomp.patch       | 56 ++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/dev-python/django/django-3.0.6.ebuild b/dev-python/django/django-3.0.6.ebuild
index 0482e460c9a..9b34e353eec 100644
--- a/dev-python/django/django-3.0.6.ebuild
+++ b/dev-python/django/django-3.0.6.ebuild
@@ -44,6 +44,10 @@ BDEPEND="
 		dev-python/tblib[${PYTHON_USEDEP}]
 	)"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.0.6-bashcomp.patch
+)
+
 distutils_enable_sphinx docs
 
 python_test() {

diff --git a/dev-python/django/files/django-3.0.6-bashcomp.patch b/dev-python/django/files/django-3.0.6-bashcomp.patch
new file mode 100644
index 00000000000..2eca3416db6
--- /dev/null
+++ b/dev-python/django/files/django-3.0.6-bashcomp.patch
@@ -0,0 +1,56 @@
+From d082b413b0b6edfcae52f64c8a64f16b2bf6110f 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 3c2f14c263..abe76e5903 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,35 +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]##*/}
+-        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.26.2
+


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

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

commit:     f400b9b53ce0dddb41adaad0c27c96a57c90bf49
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 18:41:04 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 20:25:13 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f400b9b5

dev-python/django: Backport gettext-0.21 compat fix

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

 dev-python/django/django-2.2.16.ebuild            |  4 +--
 dev-python/django/django-3.0.10-r1.ebuild         |  4 +--
 dev-python/django/django-3.1.1-r1.ebuild          |  4 +--
 dev-python/django/django-3.1.2-r1.ebuild          |  4 +--
 dev-python/django/files/django-gettext-0.21.patch | 39 +++++++++++++++++++++++
 5 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/dev-python/django/django-2.2.16.ebuild b/dev-python/django/django-2.2.16.ebuild
index a104153638a..a6fd5e608d0 100644
--- a/dev-python/django/django-2.2.16.ebuild
+++ b/dev-python/django/django-2.2.16.ebuild
@@ -30,7 +30,6 @@ RESTRICT="!test? ( test )"
 RDEPEND="
 	dev-python/pytz[${PYTHON_USEDEP}]
 	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
-# gettext: https://code.djangoproject.com/ticket/31850
 BDEPEND="
 	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
 	test? (
@@ -43,11 +42,12 @@ BDEPEND="
 		dev-python/pyyaml[${PYTHON_USEDEP}]
 		dev-python/selenium[${PYTHON_USEDEP}]
 		dev-python/tblib[${PYTHON_USEDEP}]
-		<sys-devel/gettext-0.21
+		sys-devel/gettext
 	)"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.0.7-bashcomp.patch
+	"${FILESDIR}"/django-gettext-0.21.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/django-3.0.10-r1.ebuild b/dev-python/django/django-3.0.10-r1.ebuild
index 58de4970519..75ded0b622f 100644
--- a/dev-python/django/django-3.0.10-r1.ebuild
+++ b/dev-python/django/django-3.0.10-r1.ebuild
@@ -31,7 +31,6 @@ RDEPEND="
 	dev-python/asgiref[${PYTHON_USEDEP}]
 	dev-python/pytz[${PYTHON_USEDEP}]
 	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
-# gettext: https://code.djangoproject.com/ticket/31850
 BDEPEND="
 	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
 	test? (
@@ -44,11 +43,12 @@ BDEPEND="
 		dev-python/pyyaml[${PYTHON_USEDEP}]
 		dev-python/selenium[${PYTHON_USEDEP}]
 		dev-python/tblib[${PYTHON_USEDEP}]
-		<sys-devel/gettext-0.21
+		sys-devel/gettext
 	)"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.0.6-bashcomp.patch
+	"${FILESDIR}"/django-gettext-0.21.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/django-3.1.1-r1.ebuild b/dev-python/django/django-3.1.1-r1.ebuild
index 858be578907..2c544a79688 100644
--- a/dev-python/django/django-3.1.1-r1.ebuild
+++ b/dev-python/django/django-3.1.1-r1.ebuild
@@ -31,7 +31,6 @@ RDEPEND="
 	dev-python/asgiref[${PYTHON_USEDEP}]
 	dev-python/pytz[${PYTHON_USEDEP}]
 	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
-# gettext: https://code.djangoproject.com/ticket/31850
 BDEPEND="
 	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
 	test? (
@@ -44,11 +43,12 @@ BDEPEND="
 		dev-python/pyyaml[${PYTHON_USEDEP}]
 		dev-python/selenium[${PYTHON_USEDEP}]
 		dev-python/tblib[${PYTHON_USEDEP}]
-		<sys-devel/gettext-0.21
+		sys-devel/gettext
 	)"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+	"${FILESDIR}"/django-gettext-0.21.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/django-3.1.2-r1.ebuild b/dev-python/django/django-3.1.2-r1.ebuild
index 858be578907..2c544a79688 100644
--- a/dev-python/django/django-3.1.2-r1.ebuild
+++ b/dev-python/django/django-3.1.2-r1.ebuild
@@ -31,7 +31,6 @@ RDEPEND="
 	dev-python/asgiref[${PYTHON_USEDEP}]
 	dev-python/pytz[${PYTHON_USEDEP}]
 	>=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
-# gettext: https://code.djangoproject.com/ticket/31850
 BDEPEND="
 	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
 	test? (
@@ -44,11 +43,12 @@ BDEPEND="
 		dev-python/pyyaml[${PYTHON_USEDEP}]
 		dev-python/selenium[${PYTHON_USEDEP}]
 		dev-python/tblib[${PYTHON_USEDEP}]
-		<sys-devel/gettext-0.21
+		sys-devel/gettext
 	)"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+	"${FILESDIR}"/django-gettext-0.21.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/files/django-gettext-0.21.patch b/dev-python/django/files/django-gettext-0.21.patch
new file mode 100644
index 00000000000..5d3edfea4a1
--- /dev/null
+++ b/dev-python/django/files/django-gettext-0.21.patch
@@ -0,0 +1,39 @@
+From 07a30f561661efae1691ff45d10ec6014b395b58 Mon Sep 17 00:00:00 2001
+From: Max Smolens <msmolens@gmail.com>
+Date: Tue, 6 Oct 2020 17:58:52 -0400
+Subject: [PATCH] Fixed #31850 -- Fixed
+ BasicExtractorTests.test_extraction_warning with xgettext 0.21+.
+
+"format string with unnamed arguments cannot be properly localized"
+warning is not raised in xgettext 0.21+.
+
+This patch uses a message that causes an xgettext warning regardless of
+the version.
+---
+ AUTHORS                         | 1 +
+ tests/i18n/commands/code.sample | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index b10852f407a4..9253740857de 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -622,6 +622,7 @@ answer newbie questions, and generally made Django that much better:
+     mattycakes@gmail.com
+     Max Burstein <http://maxburstein.com>
+     Max Derkachev <mderk@yandex.ru>
++    Max Smolens <msmolens@gmail.com>
+     Maxime Lorant <maxime.lorant@gmail.com>
+     Maxime Turcotte <maxocub@riseup.net>
+     Maximilian Merz <django@mxmerz.de>
+diff --git a/tests/i18n/commands/code.sample b/tests/i18n/commands/code.sample
+index a5f1520ecba5..2c305a3a1dcf 100644
+--- a/tests/i18n/commands/code.sample
++++ b/tests/i18n/commands/code.sample
+@@ -1,4 +1,4 @@
+ from django.utils.translation import gettext
+ 
+-# This will generate an xgettext warning
+-my_string = gettext("This string contain two placeholders: %s and %s" % ('a', 'b'))
++# This will generate an xgettext "Empty msgid" warning.
++my_string = gettext('')


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

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

commit:     70cd8f0b94f8277ce84ea0502ce83a243d6167c9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 13 18:41:56 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 13 20:15:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70cd8f0b

dev-python/django: Remove old

Bug: https://bugs.gentoo.org/768240
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/Manifest                        |   8 --
 dev-python/django/django-2.2.17.ebuild            |  95 --------------------
 dev-python/django/django-3.0.11.ebuild            | 103 ----------------------
 dev-python/django/django-3.1.4.ebuild             |  95 --------------------
 dev-python/django/django-3.1.5.ebuild             |  95 --------------------
 dev-python/django/files/django-gettext-0.21.patch |  39 --------
 6 files changed, 435 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 638384b6b80..dd501def0d1 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,14 +1,6 @@
-DIST Django-2.2.17.checksum.txt 2438 BLAKE2B 5d9454884110f1debec7fa1644b13be43b9b6b8d3f333a05df823332c94a6f4a220791bf0cc7d139baf5aac856443a4b211dd8e98d23d4cc62d1d6ce7ebd69c8 SHA512 0dc71edfe3264d3353238124dc5374aac07fb73ede167a52f16bf3b147bf351651f4197a1fe5027dca23ad144755fff6447f06d8cdf11126184cf5e291c90402
-DIST Django-2.2.17.tar.gz 8885492 BLAKE2B 30046adc54c31e0e8dac3c573da58e8536246ba6fc5675ec5ad5efc4b170331b893ffe766e7eb404b445d5b37e018e1ac9e2b8e659a5f10c4c165ec9ef5c00d1 SHA512 4ba1e12332cafaa49a087494f9e85e992a414ad153ef935fcf50f1a533ac9c7049a421140552f77b3dbf41c51a4f42aca13dc5f8f479049c21037c541a34320b
 DIST Django-2.2.18.checksum.txt 2556 BLAKE2B a2cbb2f10c8173bfbb29033d2e33035a04ce0a6c997a3930f4fc59951e46ea31df23a664df1a11b7d652d7efb794b55d7dadb4e0868245afbb2951f630b674c9 SHA512 f48fda050be7d88783bdbdeafc5bf8dd130eb43b7ff08bb1ac7602f5e94615cb2f02a05787dbb025df3f01d70f789d03220651b8217de5ba48cffadb0d57ba7d
 DIST Django-2.2.18.tar.gz 9180844 BLAKE2B 4001c89674dacaddea279e4e9484cc820a18115bda3a0f8091797fd0924ee7b9aad0e520b1bda21b539e8b140dc473154e4cd6f11a16fb706dd3ee8e7dd8679f SHA512 8c38330042244513576151a9ae64293b9838df42dcb4204713859dd8fcd81154edf42738d0bd05770c9bbe13bfdb1f73781453cf1d14fbc31149a2cb89e34b59
-DIST Django-3.0.11.checksum.txt 2438 BLAKE2B df936992a02e5a34b26e91654962507d973f8831c1eebada4cbdb578f83fba974532867b9f20828afc2467c2521e117b8dd543cde6f664d3c122a95207c50608 SHA512 a7b98d102775cc7854b0c242507d4ff8778984dc8b2e269352103249d6d1c5cea7e6eb8dbe08700b19ad4428e30c469e0e959a622ea4ce3198a75f72b2bb8871
-DIST Django-3.0.11.tar.gz 8958879 BLAKE2B 078ffde9ae186ae8add2136c303ba38a1b38525481b2272384b8a1bb3428dcf6a31991a86b2078aea6cf250808af399acac5461a33c8e1fda5d6bc552eac478f SHA512 d24e8167f3f871f24ea5e288557a49d71f9b5c398c84e8434d5d3dc224ef62775121a016ad89e997fabe88893adc3a83176211d5b9a9730ec23d37d256aa4fb0
 DIST Django-3.0.12.checksum.txt 2556 BLAKE2B 9012a130029c6fe73ace78fbdd32f1653bb7a7e84c343c394acc5563b7de9b5d6ec58734fdf79f2e7657f18644dd3a12c12c4a400a1002ad74d0891738ef4137 SHA512 46e7291f4d73472a118ff3aca4f597d6abde4a4217bb95ed84fda91efd0ed63e946d9ddf35ae65ff1e898462aebc32a3a43241f261099b17667958412d5afb32
 DIST Django-3.0.12.tar.gz 9255277 BLAKE2B 68be34ddad965bacca6bfcf045b5ab4072ef8a17f09acc674d2b5535b074d90c6881fd22edd89bdc82eefc90a2e7f561a041f9da066b85c13b10866f731a6106 SHA512 7f21a1a88a8c57d3b6ffa1a39e0df491e45f4e37181c4951db2a330266bf3ed8bf4e240a69a9b627dbbb090816c991b877b777e35b1c252a5ee08680eb3b0135
-DIST Django-3.1.4.checksum.txt 2466 BLAKE2B 635ddd40b542890aef29f53df0fad172e48450081f57c72042a71bb5de654b1d1f5f7ce0c588b1070a203e1d4afe3a1ed19431dd23a2a67cd510d4072c79a00f SHA512 729b771008489bbf0563002e438ef88abb2a14b2c29f307cb2db9c75450f30ac8bd4920bf0493dbec06b3640fc0d4b6817e8a054af1028ad065bd321c761a6c3
-DIST Django-3.1.4.tar.gz 9392125 BLAKE2B b583442de50c358e70a49b9ef557d43211e6faee17933a44012dbb9f0dac3ccbf0a91e01a2b8b798fff7ae05100199e9e9c94a81748b41ea13e49d12bb510617 SHA512 02cfaabb25e5f932dcbf659faba2f0afe298e4bee4f510f7adebfff181bdd13c3a0b08e8ce379bcc59326d904be8699db4ce31065d93566b93cad758365207f5
-DIST Django-3.1.5.checksum.txt 2428 BLAKE2B 69347177b3c8c592a0b9df832c8f0abebdd4f1ff420f95f63310eb41d3614b241dc8f01b71abfec12faa006a8e69310d31cd68425f57ecf7a02948e83c65e0b3 SHA512 93d3e0de057518b60d9da2c1193ec59a8601f53b5d81a09fa4f6866336fbff85b81c01711eb07544fce30fe17e6dec89e5a5d6a66a929d451bca77cfe172bf19
-DIST Django-3.1.5.tar.gz 9257571 BLAKE2B 0ec618753d922e64b2f0e75506843383568c0013a8f7528cf10e9ee49ffc7be8a3effda39c27497510728a16d276db5c620bab22b5a001a86cafdb4d4e2560ea SHA512 b8f0e034fcd282d6e4a9e42565da5d5f4750c900264bed10e72b8c1866370f75fd1bc856d22950e1d3ad03229c38559989a26ccc9f1252ea31d407410134a548
 DIST Django-3.1.6.checksum.txt 2547 BLAKE2B 509254e5d24cdddfb452d922554db12a16ee1c5840d61d17f57c7b209aa71e3b8c8279efec35508cafd059836601d85bca16a33c618b466c438fc323bcbab720 SHA512 d9dd2763285ae9da7cf24bff957ed2cc78ab088fa34ad45fe176bd869fb892a0e50d2b67fb6a0fcda08f85c68602a3b1f76c265e3776d762f2ee1f96f0dd116f
 DIST Django-3.1.6.tar.gz 9645871 BLAKE2B 96269d5977d422e62637a956ea8b1af7abc4647350aa4c913e986a7104843d2a4d6c6425deabe2358e819692a721caa18002448b780d4384493bf9078bfbabd1 SHA512 fe5baef4aee51cc84292d1f4d3681cff8170c1307aa172b86faa15771af2c3e0b4dbb24ae671ad8ed31c53ab38ed99c64b5deb69d77fc268d8a232f3463c3221

diff --git a/dev-python/django/django-2.2.17.ebuild b/dev-python/django/django-2.2.17.ebuild
deleted file mode 100644
index e06fc5f7ba7..00000000000
--- a/dev-python/django/django-2.2.17.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{7..8} )
-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 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? ( app-crypt/openpgp-keys-django )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.0.7-bashcomp.patch
-	"${FILESDIR}"/django-gettext-0.21.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() {
-	elog "Additional Backend support can be enabled via"
-	optfeature "MySQL backend support" dev-python/mysqlclient
-	optfeature "PostgreSQL backend support" dev-python/psycopg:2
-	elog
-	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/django-3.0.11.ebuild b/dev-python/django/django-3.0.11.ebuild
deleted file mode 100644
index 6929f595181..00000000000
--- a/dev-python/django/django-3.0.11.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
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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 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}]
-		sys-devel/gettext
-	)
-	verify-sig? ( app-crypt/openpgp-keys-django )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-3.0.6-bashcomp.patch
-	"${FILESDIR}"/django-gettext-0.21.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() {
-	# do not bind to a specific version
-	# https://bugs.gentoo.org/750695
-	sed -i -e 's:asgiref ~= 3.2:asgiref:' setup.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() {
-	elog "Additional Backend support can be enabled via"
-	optfeature "MySQL backend support" dev-python/mysqlclient
-	optfeature "PostgreSQL backend support" dev-python/psycopg:2
-	elog
-	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/django-3.1.4.ebuild b/dev-python/django/django-3.1.4.ebuild
deleted file mode 100644
index 3dbc4762cd6..00000000000
--- a/dev-python/django/django-3.1.4.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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 x86 ~x64-macos"
-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}]
-		sys-devel/gettext
-	)
-	verify-sig? ( >=app-crypt/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_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
-	elog
-	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/django-3.1.5.ebuild b/dev-python/django/django-3.1.5.ebuild
deleted file mode 100644
index e6482b2c0bd..00000000000
--- a/dev-python/django/django-3.1.5.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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[${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}]
-		sys-devel/gettext
-	)
-	verify-sig? ( >=app-crypt/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_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
-	elog
-	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-gettext-0.21.patch b/dev-python/django/files/django-gettext-0.21.patch
deleted file mode 100644
index 5d3edfea4a1..00000000000
--- a/dev-python/django/files/django-gettext-0.21.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 07a30f561661efae1691ff45d10ec6014b395b58 Mon Sep 17 00:00:00 2001
-From: Max Smolens <msmolens@gmail.com>
-Date: Tue, 6 Oct 2020 17:58:52 -0400
-Subject: [PATCH] Fixed #31850 -- Fixed
- BasicExtractorTests.test_extraction_warning with xgettext 0.21+.
-
-"format string with unnamed arguments cannot be properly localized"
-warning is not raised in xgettext 0.21+.
-
-This patch uses a message that causes an xgettext warning regardless of
-the version.
----
- AUTHORS                         | 1 +
- tests/i18n/commands/code.sample | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/AUTHORS b/AUTHORS
-index b10852f407a4..9253740857de 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -622,6 +622,7 @@ answer newbie questions, and generally made Django that much better:
-     mattycakes@gmail.com
-     Max Burstein <http://maxburstein.com>
-     Max Derkachev <mderk@yandex.ru>
-+    Max Smolens <msmolens@gmail.com>
-     Maxime Lorant <maxime.lorant@gmail.com>
-     Maxime Turcotte <maxocub@riseup.net>
-     Maximilian Merz <django@mxmerz.de>
-diff --git a/tests/i18n/commands/code.sample b/tests/i18n/commands/code.sample
-index a5f1520ecba5..2c305a3a1dcf 100644
---- a/tests/i18n/commands/code.sample
-+++ b/tests/i18n/commands/code.sample
-@@ -1,4 +1,4 @@
- from django.utils.translation import gettext
- 
--# This will generate an xgettext warning
--my_string = gettext("This string contain two placeholders: %s and %s" % ('a', 'b'))
-+# This will generate an xgettext "Empty msgid" warning.
-+my_string = gettext('')


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

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

commit:     783c22d4945c7e0242620794ac623e25aeca6bcb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May  9 07:56:46 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May  9 08:23:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=783c22d4

dev-python/django: Remove old

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

 dev-python/django/Manifest                         |  6 --
 dev-python/django/django-2.2.21.ebuild             | 93 --------------------
 dev-python/django/django-3.1.9.ebuild              | 99 ----------------------
 dev-python/django/django-3.2.1.ebuild              | 95 ---------------------
 .../django/files/django-2.2.21-fix-bpo43882.patch  | 25 ------
 5 files changed, 318 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 9a0807f7d40..9b3bbca974b 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,12 +1,6 @@
-DIST Django-2.2.21.checksum.txt 2557 BLAKE2B 76c1588760de34bdd4274eb12abcb60dd476ef1057dd7679ae76f8b7fe916c40c26ab19a821075523c5ae886802af7aa267efafe3d8192ad14ac18557651f5cf SHA512 83d4893e83eaf271f783c177549f8267a2d84969a6d87447f3cb9d9cb36d9acb48564867644c7d95763f9a3888dd9d8647233733b92b432c54e4472f8c34a5fd
-DIST Django-2.2.21.tar.gz 9209871 BLAKE2B 616215d43fc879bd4f01fb6fec7f3fa47c4630bcc961c8606c01a6e25c2ff27dfdf886db7dc03f8445b52957c1ad858fb8bb5e7cd25c97a927646bba436399de SHA512 37d1f58c23907792e49c827fe1efe4345fd5d74ca85b44d1f492d45c9f4f7cc9ebfbd59dc6a142bb24b666fb89e2ee62a3bc3e2242cd25d5c1e801a3f07a2589
 DIST Django-2.2.22.checksum.txt 2551 BLAKE2B b08f1d904caedfad04eceb57a704cec9dc660e59d2ceeddbd98f16b8bf4f578a030f1baaef7e8eb7ffb022bcf11957642d08b972eec12aed12e51d41bacea07a SHA512 20adea9a59fad6974679836f044bd4a1089faa881a7efbf15fc6a17e3a674ff9b638708bdfa7724b82d80db73c64b478eed08cec6eb5d040100aec20078dc1df
 DIST Django-2.2.22.tar.gz 9182392 BLAKE2B f68141772ec101332a2a0c7b1b2216a14535404e814d80a6a350effcd4ee07eb6a4271f997a43d24e4a083fef690492714858b2c92d982fb113352f6fd062545 SHA512 215497034224dbbbffb3e70f9c50e51a149c9962074d2ae7152a664d21f7e762a7f62baebad2387037feff02e880e1dfdfa04ad797907ba5daf65276c2b99fd7
 DIST Django-3.1.10.checksum.txt 2551 BLAKE2B 811e820ef036301ee1a6aafb2f74e5809baee591b37a04e5726bff4086f58d29e13ef7b0fd5f95fe9316232cff45ebd2d7c69fbdcd9a3d1322ede118c4577a65 SHA512 b1eb565dfb978cd4819817b1f0fbb9685c1a7d9d9863ea4a0da137056add6af98d6051eae1b81f37bfb0e673993a4af7dd760811e343bb2fd7a0d98a3ee1663a
 DIST Django-3.1.10.tar.gz 9654073 BLAKE2B c3729b7007b0b8309fda111f7bd988c861fb1002da3683e972a01bcd2aecfc6b42e896f91297239cba2061106096226552c26eb50325ea5b50f5a5df3a191bfd SHA512 6dd3c7a5cd1b5cbeb6e62f72fa56fce260bd407a3ac659ddee893489efae7a6bea862ecc113da342a2ed4cffa39e564c55dd20792b5435f9f00fef5488579aad
-DIST Django-3.1.9.checksum.txt 2548 BLAKE2B 2b733f7ef48b861fd97136a4efa034420e956e506020336ffaec4de7aa7d967d88bcfc5d8574afde317a74f95703378489109334569a84e163fcc635c59378ee SHA512 4558df4393661deb44c0b0c4658aeef3757e8e16dab98b177d0f5102398530dc96d526a955e4f7c88b2d0c40af544e7f9f6deb8d2697c4626c19e16f1860fb06
-DIST Django-3.1.9.tar.gz 9673018 BLAKE2B 6212bb48b31566ed2d87f2bdf7922b6e3e93df06b4f8f7ddb1fd20a1a7465856ccc280dad6885f1d2fbf90c6c1919cbc0830416e82e4123fee1c116561d0631c SHA512 7df6afd2539407727a250a981488c80450b882772ecf0edb778182a828d4c80a47b668e64e6e2adc8d21fcab92aef5322cfae3f386369688087774708e75fa13
-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.2.checksum.txt 2542 BLAKE2B 1a61ea4e8415d77b50d0dc227905596941a9cfed019c3442be1d7529d0b82204b08e15befdcccccd3a7a4625b762e99526b762053e9ec7c29068caa2dfe055a1 SHA512 eebb6e7172d85af3d6f65296d816f40cacd78c8270bd198d275c3c2844e9106ec517265490e7371d5df803d044ee1534a4eb836d2a279d395884c1ec7b9cb0f5
 DIST Django-3.2.2.tar.gz 9796920 BLAKE2B 09a720d169702f1d80b592e8a4c8e136b9b3c4539db44f8bcf3ef7d0e6bb678892b7ad4bbeac89fc887c9938cb35d8a9d3fee9a58e692f99c37e81f01615a6b4 SHA512 28d1d56cdf883f8fb5e438124be53dbefaa0045d1acf0b4b8b455a482422e2b88ffc5a3c8be2ee1b7d3c39fe29cfa854b44b438c3d43323483bd35e0d05f9e49

diff --git a/dev-python/django/django-2.2.21.ebuild b/dev-python/django/django-2.2.21.ebuild
deleted file mode 100644
index 0065f66f759..00000000000
--- a/dev-python/django/django-2.2.21.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# 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 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? ( app-crypt/openpgp-keys-django )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.0.7-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/django-3.1.9.ebuild b/dev-python/django/django-3.1.9.ebuild
deleted file mode 100644
index ec49662ddb4..00000000000
--- a/dev-python/django/django-3.1.9.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# 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/asgiref-3.3.2[${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}]
-		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/django-3.2.1.ebuild b/dev-python/django/django-3.2.1.ebuild
deleted file mode 100644
index f17bdecc612..00000000000
--- a/dev-python/django/django-3.2.1.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# 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
deleted file mode 100644
index dc5d333be94..00000000000
--- a/dev-python/django/files/django-2.2.21-fix-bpo43882.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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] 20+ messages in thread

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

commit:     e586f438da0e7d5bb4b28977d9c5d879aa6fb84d
Author:     Ekaterina Vaartis <vaartis <AT> kotobank <DOT> ch>
AuthorDate: Sun May 16 00:11:41 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun  1 20:35:32 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e586f438

dev-python/django: Bump 3.2.3 to r1 and python 3.10

Signed-off-by: Ekaterina Vaartis <vaartis <AT> kotobank.ch>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...{django-3.2.3.ebuild => django-3.2.3-r1.ebuild} | 11 ++-
 .../django/files/django-3.2.3-py310-repr.patch     | 92 ++++++++++++++++++++++
 2 files changed, 102 insertions(+), 1 deletion(-)

diff --git a/dev-python/django/django-3.2.3.ebuild b/dev-python/django/django-3.2.3-r1.ebuild
similarity index 90%
rename from dev-python/django/django-3.2.3.ebuild
rename to dev-python/django/django-3.2.3-r1.ebuild
index 87dacd55b40..310cc821be3 100644
--- a/dev-python/django/django-3.2.3.ebuild
+++ b/dev-python/django/django-3.2.3-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
 PYTHON_REQ_USE='sqlite?,threads(+)'
 
 inherit bash-completion-r1 distutils-r1 optfeature verify-sig
@@ -50,6 +50,8 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+	# From https://github.com/django/django/pull/14228
+	"${FILESDIR}"/${P}-py310-repr.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc
@@ -67,6 +69,13 @@ src_unpack() {
 	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.

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
new file mode 100644
index 00000000000..9bc32ecf176
--- /dev/null
+++ b/dev-python/django/files/django-3.2.3-py310-repr.patch
@@ -0,0 +1,92 @@
+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] 20+ messages in thread

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

commit:     8d2990505684e8aae3f448e5ecfb12b04c9602b8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  3 06:15:32 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug  3 08:52:23 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d299050

dev-python/django: Bump to 3.2.6

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

 dev-python/django/Manifest                         |   2 +
 dev-python/django/django-3.2.6.ebuild              | 103 +++++++++++++++++++++
 .../django/files/django-3.2.6-argparse-py310.patch |  52 +++++++++++
 3 files changed, 157 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index d1ab52f5e4b..fe0e31a141c 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,3 +4,5 @@ DIST Django-3.1.13.checksum.txt 2552 BLAKE2B e82052d952f7dfd15e11b413fe2f106af3d
 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.6.ebuild b/dev-python/django/django-3.2.6.ebuild
new file mode 100644
index 00000000000..49eee54f6d6
--- /dev/null
+++ b/dev-python/django/django-3.2.6.ebuild
@@ -0,0 +1,103 @@
+# 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
+	# https://github.com/django/django/pull/14732
+	"${FILESDIR}"/${P}-argparse-py310.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.6-argparse-py310.patch b/dev-python/django/files/django-3.2.6-argparse-py310.patch
new file mode 100644
index 00000000000..3702a4c58c7
--- /dev/null
+++ b/dev-python/django/files/django-3.2.6-argparse-py310.patch
@@ -0,0 +1,52 @@
+From dc7d30c03ff72917584952e70b3b25c9a0c59033 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 3 Aug 2021 10:04:22 +0200
+Subject: [PATCH] Refs #32074 -- Update expected argparse error in invalid
+ choice test
+
+Python 3.10.0rc1 changed the error messages issued by argparse on
+invalid choice to include the argument name.  Update the expected test
+output to account for that.
+---
+ django/utils/version.py      | 1 +
+ tests/user_commands/tests.py | 5 +++--
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/django/utils/version.py b/django/utils/version.py
+index 4b26586b36..54b10e89d7 100644
+--- a/django/utils/version.py
++++ b/django/utils/version.py
+@@ -13,6 +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):
+diff --git a/tests/user_commands/tests.py b/tests/user_commands/tests.py
+index 9262e2717a..9da0977c38 100644
+--- a/tests/user_commands/tests.py
++++ b/tests/user_commands/tests.py
+@@ -17,7 +17,7 @@ from django.test import SimpleTestCase, override_settings
+ from django.test.utils import captured_stderr, extend_sys_path, ignore_warnings
+ from django.utils import translation
+ from django.utils.deprecation import RemovedInDjango41Warning
+-from django.utils.version import PY37
++from django.utils.version import PY37, PY310
+ 
+ from .management.commands import dance
+ 
+@@ -334,7 +334,8 @@ class CommandTests(SimpleTestCase):
+         self.assertIn('bar', out.getvalue())
+ 
+     def test_subparser_invalid_option(self):
+-        msg = "Error: invalid choice: 'test' (choose from 'foo')"
++        msg = "Error: %sinvalid choice: 'test' (choose from 'foo')" % (
++            'argument {foo}: ' if PY310 else '')
+         with self.assertRaisesMessage(CommandError, msg):
+             management.call_command('subparser', 'test', 12)
+         if PY37:
+-- 
+2.32.0
+


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2021-10-17 21:15 Michał Górny
  0 siblings, 0 replies; 20+ messages in thread
From: Michał Górny @ 2021-10-17 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     0654bb9565a5d02c2234e0f982084370bf869f69
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 17 20:05:24 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 17 21:15:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0654bb95

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.6.ebuild              | 103 ---------------------
 .../django/files/django-3.2.6-argparse-py310.patch |  52 -----------
 3 files changed, 157 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index aa28f06341b..e5f619107f5 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.6.checksum.txt 2551 BLAKE2B 2fae4e3daca01f285f651b76df7402a0c08cdea9a98bdc3be3f9b337732c26b2a3dcb239fc06274b6a30227394047476d454bf34fd7e8b765df047510b08620c SHA512 66b9dff471928be514198e50e62f46d14fbea9c1cfb55e9d82562271795fc3e719e0bb8c43a1f6ff6c903700b648a6a0e19e335ddc50df2a7fa539911b6d44b6
-DIST Django-3.2.6.tar.gz 9821499 BLAKE2B 9f18d308bf15ef16a9fe9d84219bd7ad37833b718ff975344aae5950ef01a7a0e8ef8669936c8908e38e07fb078ce2e2d6392968177400c2357b1d3787e0ce39 SHA512 adf2d2ab3006cc5b389bed8d8e16ee8c98393b20d719c3521068e5cc5d1e679b9f660be90f827ea1cc6a41f975641c32bdb0779ee145e5e31a501ca9e06898a4
 DIST Django-3.2.8.checksum.txt 2552 BLAKE2B e3bbf05bab72cfd71521451620706eb2b66d2f16791cd7897b2606083af91b62af6c6ea1e9f2b2a1437e3ffc1e1688149f9084d134ac6fc233f6285418bdbe5c SHA512 62cef4cc4c9de4be5db763e35957f2e71e9ca9fc5335a35bc51a1e337a91027236f41b84dd1f9eb513cb769174d9375c0a7b52cfc645331a3927c5498849eb56
 DIST Django-3.2.8.tar.gz 9820955 BLAKE2B 5b53c1033babda046c3e3ff8421465d5bf31e92c5c65e6ebf7d4a401a5f85017625efbf227c718877d58f80f9153fc205b817aeb030d0f322c26b10394e71287 SHA512 0d1d745fc7ebc20a2c3c1d18e270210ec57d605aafafb2bc2bee4229727469dfea6fbd510073ee6509b389eff2a7bdb75765aecafc4506d4489c2ce37a97bfbe

diff --git a/dev-python/django/django-3.2.6.ebuild b/dev-python/django/django-3.2.6.ebuild
deleted file mode 100644
index d2d43152401..00000000000
--- a/dev-python/django/django-3.2.6.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
-	# https://github.com/django/django/pull/14732
-	"${FILESDIR}"/${P}-argparse-py310.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.6-argparse-py310.patch b/dev-python/django/files/django-3.2.6-argparse-py310.patch
deleted file mode 100644
index 3702a4c58c7..00000000000
--- a/dev-python/django/files/django-3.2.6-argparse-py310.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From dc7d30c03ff72917584952e70b3b25c9a0c59033 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 3 Aug 2021 10:04:22 +0200
-Subject: [PATCH] Refs #32074 -- Update expected argparse error in invalid
- choice test
-
-Python 3.10.0rc1 changed the error messages issued by argparse on
-invalid choice to include the argument name.  Update the expected test
-output to account for that.
----
- django/utils/version.py      | 1 +
- tests/user_commands/tests.py | 5 +++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 4b26586b36..54b10e89d7 100644
---- a/django/utils/version.py
-+++ b/django/utils/version.py
-@@ -13,6 +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):
-diff --git a/tests/user_commands/tests.py b/tests/user_commands/tests.py
-index 9262e2717a..9da0977c38 100644
---- a/tests/user_commands/tests.py
-+++ b/tests/user_commands/tests.py
-@@ -17,7 +17,7 @@ from django.test import SimpleTestCase, override_settings
- from django.test.utils import captured_stderr, extend_sys_path, ignore_warnings
- from django.utils import translation
- from django.utils.deprecation import RemovedInDjango41Warning
--from django.utils.version import PY37
-+from django.utils.version import PY37, PY310
- 
- from .management.commands import dance
- 
-@@ -334,7 +334,8 @@ class CommandTests(SimpleTestCase):
-         self.assertIn('bar', out.getvalue())
- 
-     def test_subparser_invalid_option(self):
--        msg = "Error: invalid choice: 'test' (choose from 'foo')"
-+        msg = "Error: %sinvalid choice: 'test' (choose from 'foo')" % (
-+            'argument {foo}: ' if PY310 else '')
-         with self.assertRaisesMessage(CommandError, msg):
-             management.call_command('subparser', 'test', 12)
-         if PY37:
--- 
-2.32.0
-


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

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

commit:     9d03e546c0c80c0d3b1234b51e992e9625f5e466
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  7 22:38:19 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec  7 23:27:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d03e546

dev-python/django: Bump to 4.0

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

 dev-python/django/Manifest                        |   2 +
 dev-python/django/django-4.0.ebuild               | 103 ++++++++++++++++++++++
 dev-python/django/files/django-4.0-bashcomp.patch |  56 ++++++++++++
 3 files changed, 161 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 07cd085595e0..53143ba51c04 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,3 +4,5 @@ DIST Django-3.1.14.checksum.txt 2556 BLAKE2B bb17e596d076489ac00b6b3eb98ab294969
 DIST Django-3.1.14.tar.gz 9659386 BLAKE2B 5e9317e777e3879f2cea3eea98018884c073eed47c3da9aab09858bc0869f4f34f48d20860c32344446498879b6c9b5cb9d5ba12f0528b703436a2c37325d286 SHA512 5356f453e23a33092221137769a594608771c5832c0dc00453e571fee056438b5366eba720b1fefa33099356980ee56a9665fc6ed7c86f5412e45d6432940e64
 DIST Django-3.2.10.checksum.txt 2556 BLAKE2B cdc1b28f213e43b27b0534587b8475bd68979f3c179357a7978109fa85ee0a4bbd5d0bba4625e6850aca603f688483dbdcb102a7411e74394079d2b0c0ef767e SHA512 852f867a5a11f11f98710cf27fdba2774de537dbe1e5edc402214acb65a6e00bf05a7b4fe5eb663cc21aa6ee9da890d7c74172a17c1b084db89ada1ff1db3745
 DIST Django-3.2.10.tar.gz 9811341 BLAKE2B a2ed3dda0d88a884443cc07446921fcd9cc9f302b5f578910f2e4027f8d87b92717bb22a7bf73cdb44fb7ddf4c178349e31eee6b796a45727356cde24e41d318 SHA512 6b793a1e544ab988d909d9fc5152d9dbba864c4916bb1f703a07c72f1a945ba93ba53b2f8843b67a16d0e68a736c43faf2f3d8aaa0867de1668c3845c24da7da
+DIST Django-4.0.checksum.txt 2529 BLAKE2B 0488acaf4fe37c99e3bd2370d47c47db81ffcad961212a88e7d53349299fdb3cbdc4a10fea3729d6d2353405216b8073abe8fcb2596b845760f16f2539ba4417 SHA512 26ac6ce6118d60d7bd0f0ef4c24c590eef7a102f546c3163000ad392d8f64b1c24648b8a4110df81170d60e3528466ceae974d408a700cf238dfdb8f9386d1ce
+DIST Django-4.0.tar.gz 9980403 BLAKE2B fb3cdaa8beae6983930d1e2760d617f1a96e52d7f538269709b07cc31ef049511b0517c1538934cf9ede5e374cd466df05ebabe29f1f8fb8c4c3928e8a08a1fc SHA512 6fec0521ee7da209f3b0fb1487ef4e8ef16bf3bf4ea108efc7a2ee3a9d28c7c33e5e3b2bd92e231641b0be902b45d1fd8b712c48a33496ae2c865a3698b25e14

diff --git a/dev-python/django/django-4.0.ebuild b/dev-python/django/django-4.0.ebuild
new file mode 100644
index 000000000000..d3c26859a6de
--- /dev/null
+++ b/dev-python/django/django-4.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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}]
+	' python3_8 pypy3)"
+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}-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
+}
+
+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-4.0-bashcomp.patch b/dev-python/django/files/django-4.0-bashcomp.patch
new file mode 100644
index 000000000000..06d121cce102
--- /dev/null
+++ b/dev-python/django/files/django-4.0-bashcomp.patch
@@ -0,0 +1,56 @@
+From 103a0f5559795f6517c24ab65d2305a8320acf8a 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 6fb941bef6..2f761ceb83 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -36,35 +36,4 @@ _django_completion()
+                    COMP_CWORD=$COMP_CWORD \
+                    DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default 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"; 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
+-- 
+2.34.1
+


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
@ 2022-06-13  7:18 Michał Górny
  0 siblings, 0 replies; 20+ messages in thread
From: Michał Górny @ 2022-06-13  7:18 UTC (permalink / raw
  To: gentoo-commits

commit:     237224228973190d776f659ac99054f02abd2da5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 13 07:17:06 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 07:18:52 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23722422

dev-python/django: Enable py3.11 in 4.0.5

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

 dev-python/django/django-4.0.5.ebuild            |   3 +-
 dev-python/django/files/django-4.0.5-py311.patch | 218 +++++++++++++++++++++++
 2 files changed, 220 insertions(+), 1 deletion(-)

diff --git a/dev-python/django/django-4.0.5.ebuild b/dev-python/django/django-4.0.5.ebuild
index 17ed6b3a220c..16e1a7824c10 100644
--- a/dev-python/django/django-4.0.5.ebuild
+++ b/dev-python/django/django-4.0.5.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 PYTHON_REQ_USE='sqlite?,threads(+)'
 
 inherit bash-completion-r1 distutils-r1 optfeature verify-sig
@@ -58,6 +58,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-4.0-bashcomp.patch
+	"${FILESDIR}"/django-4.0.5-py311.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/files/django-4.0.5-py311.patch b/dev-python/django/files/django-4.0.5-py311.patch
new file mode 100644
index 000000000000..d566db006574
--- /dev/null
+++ b/dev-python/django/files/django-4.0.5-py311.patch
@@ -0,0 +1,218 @@
+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
+


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

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

commit:     046013556bccd396ceb57127b701e2be195c36d2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 30 15:12:15 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Mar 30 15:41:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04601355

dev-python/django: Backport py3.11 fixes to 3.2.18-r1

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

 dev-python/django/django-3.2.18-r1.ebuild         | 110 ++++++++++++++++
 dev-python/django/files/django-3.2.18-py311.patch | 153 ++++++++++++++++++++++
 2 files changed, 263 insertions(+)

diff --git a/dev-python/django/django-3.2.18-r1.ebuild b/dev-python/django/django-3.2.18-r1.ebuild
new file mode 100644
index 000000000000..bc404dde5670
--- /dev/null
+++ b/dev-python/django/django-3.2.18-r1.ebuild
@@ -0,0 +1,110 @@
+# 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/files/django-3.2.18-py311.patch b/dev-python/django/files/django-3.2.18-py311.patch
new file mode 100644
index 000000000000..2cebb8cc817b
--- /dev/null
+++ b/dev-python/django/files/django-3.2.18-py311.patch
@@ -0,0 +1,153 @@
+From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 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] Refs #33173 -- Fixed test_runner/test_utils tests on Python
+ 3.11+.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Python 3.11 uses fully qualified test name in unittest output. See
+https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
+
+(rebased by Michał Górny)
+---
+ django/utils/version.py             |  1 +
+ tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++-----------
+ tests/test_runner/test_parallel.py  | 11 ++++++++---
+ tests/test_utils/tests.py           |  9 +++++++--
+ 4 files changed, 35 insertions(+), 16 deletions(-)
+
+diff --git a/django/utils/version.py b/django/utils/version.py
+index 74c327525e..0c2bfc626e 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/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
+index 0e8e4207d6..2b5fed7a76 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
+ 
+@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase):
+             '''"test_runner_person"."first_name" = 'subtest-fail';'''),
+     ]
+ 
++    # 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) ...',
+-        ('''SELECT COUNT(*) AS "__count" '''
+-            '''FROM "test_runner_person" WHERE '''
+-            '''"test_runner_person"."first_name" = 'pass';'''),
+-        ('''SELECT COUNT(*) AS "__count" '''
+-            '''FROM "test_runner_person" WHERE '''
+-            '''"test_runner_person"."first_name" = 'subtest-pass';'''),
++        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 """
++            """"test_runner_person"."first_name" = 'pass';"""
++        ),
++        (
++            """SELECT COUNT(*) AS "__count" """
++            """FROM "test_runner_person" WHERE """
++            """"test_runner_person"."first_name" = 'subtest-pass';"""
++        ),
+     ]
+ 
+     def test_setupclass_exception(self):
+diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
+index c1a89bd0f0..0f1adcf208 100644
+--- a/tests/test_runner/test_parallel.py
++++ b/tests/test_runner/test_parallel.py
+@@ -2,7 +2,7 @@ import unittest
+ 
+ from django.test import SimpleTestCase
+ from django.test.runner import RemoteTestResult
+-from django.utils.version import PY37
++from django.utils.version import PY37, PY311
+ 
+ try:
+     import tblib
+@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase):
+         self.assertEqual(len(events), 4)
+ 
+         event = events[1]
+-        self.assertEqual(event[0], 'addSubTest')
+-        self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)')
++        self.assertEqual(event[0], "addSubTest")
++        self.assertEqual(
++            str(event[2]),
++            "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 ""),
++        )
+         trailing_comma = '' if PY37 else ','
+         self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma)
+ 
+diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
+index 9255315e98..8f72057afe 100644
+--- a/tests/test_utils/tests.py
++++ b/tests/test_utils/tests.py
+@@ -26,6 +26,7 @@ from django.test.utils import (
+ )
+ from django.urls import NoReverseMatch, path, reverse, reverse_lazy
+ from django.utils.deprecation import RemovedInDjango41Warning
++from django.utils.version import PY311
+ 
+ from .models import Car, Person, PossessedCar
+ from .views import empty_response
+@@ -78,9 +79,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."
++            # Python 3.11 uses fully qualified test name in the output.
++            % (".test_foo" if PY311 else ""),
+         )
+ 
+     def test_skip_if_db_feature(self):
+@@ -122,9 +125,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."
++            # Python 3.11 uses fully qualified test name in the output.
++            % (".test_foo" if PY311 else ""),
+         )
+ 
+ 
+-- 
+2.40.0
+


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

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

commit:     3a5885da62231276e93285b2f3922ebbf6076ceb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May  4 07:25:04 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May  4 08:06:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a5885da

dev-python/django: Bump to 3.2.19

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

 dev-python/django/Manifest                        |   2 +
 dev-python/django/django-3.2.19.ebuild            | 110 ++++++++++++++++++++++
 dev-python/django/files/django-3.2.19-py311.patch |  30 ++++++
 3 files changed, 142 insertions(+)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 967438be29ac..fb652472b186 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,5 +1,7 @@
 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

diff --git a/dev-python/django/django-3.2.19.ebuild b/dev-python/django/django-3.2.19.ebuild
new file mode 100644
index 000000000000..9f7349d8b9fd
--- /dev/null
+++ b/dev-python/django/django-3.2.19.ebuild
@@ -0,0 +1,110 @@
+# 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
+	)
+	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
+	# TODO: merge these two when older versions are gone
+	"${FILESDIR}"/django-3.2.18-py311.patch
+	"${FILESDIR}"/django-3.2.19-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/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch
new file mode 100644
index 000000000000..82cdb44aaad3
--- /dev/null
+++ b/dev-python/django/files/django-3.2.19-py311.patch
@@ -0,0 +1,30 @@
+From 0981a4bc273e2a87ad10c602d9547e006e06d8dd 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] Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported
+ on Python 3.11.4+.
+
+https://github.com/python/cpython/commit/5342f5e713e0cc45b6f226d2d053a8cde1b4d68e
+
+Follow up to 38e63c9e61152682f3ff982c85a73793ab6d3267.
+---
+ tests/model_enums/tests.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py
+index ffc199ce42..c4ca6c91d7 100644
+--- a/tests/model_enums/tests.py
++++ b/tests/model_enums/tests.py
+@@ -259,7 +259,7 @@ class CustomChoicesTests(SimpleTestCase):
+                 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'
+-- 
+2.40.1
+


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

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

commit:     110eb3286fe2c06a32e80572d24f866f53a5b2af
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May  4 15:30:13 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May  4 15:30:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=110eb328

dev-python/django: Merge 3.2.19 py311 patches

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

 dev-python/django/django-3.2.19.ebuild            |   2 -
 dev-python/django/files/django-3.2.18-py311.patch | 153 ----------------------
 dev-python/django/files/django-3.2.19-py311.patch | 153 ++++++++++++++++++++++
 3 files changed, 153 insertions(+), 155 deletions(-)

diff --git a/dev-python/django/django-3.2.19.ebuild b/dev-python/django/django-3.2.19.ebuild
index 9dd406113de8..897c8b62a8a4 100644
--- a/dev-python/django/django-3.2.19.ebuild
+++ b/dev-python/django/django-3.2.19.ebuild
@@ -54,8 +54,6 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-3.1-bashcomp.patch
-	# TODO: merge these two when older versions are gone
-	"${FILESDIR}"/django-3.2.18-py311.patch
 	"${FILESDIR}"/django-3.2.19-py311.patch
 )
 

diff --git a/dev-python/django/files/django-3.2.18-py311.patch b/dev-python/django/files/django-3.2.18-py311.patch
deleted file mode 100644
index 2cebb8cc817b..000000000000
--- a/dev-python/django/files/django-3.2.18-py311.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 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] Refs #33173 -- Fixed test_runner/test_utils tests on Python
- 3.11+.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Python 3.11 uses fully qualified test name in unittest output. See
-https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
-
-(rebased by Michał Górny)
----
- django/utils/version.py             |  1 +
- tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++-----------
- tests/test_runner/test_parallel.py  | 11 ++++++++---
- tests/test_utils/tests.py           |  9 +++++++--
- 4 files changed, 35 insertions(+), 16 deletions(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 74c327525e..0c2bfc626e 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/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
-index 0e8e4207d6..2b5fed7a76 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
- 
-@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase):
-             '''"test_runner_person"."first_name" = 'subtest-fail';'''),
-     ]
- 
-+    # 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) ...',
--        ('''SELECT COUNT(*) AS "__count" '''
--            '''FROM "test_runner_person" WHERE '''
--            '''"test_runner_person"."first_name" = 'pass';'''),
--        ('''SELECT COUNT(*) AS "__count" '''
--            '''FROM "test_runner_person" WHERE '''
--            '''"test_runner_person"."first_name" = 'subtest-pass';'''),
-+        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 """
-+            """"test_runner_person"."first_name" = 'pass';"""
-+        ),
-+        (
-+            """SELECT COUNT(*) AS "__count" """
-+            """FROM "test_runner_person" WHERE """
-+            """"test_runner_person"."first_name" = 'subtest-pass';"""
-+        ),
-     ]
- 
-     def test_setupclass_exception(self):
-diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
-index c1a89bd0f0..0f1adcf208 100644
---- a/tests/test_runner/test_parallel.py
-+++ b/tests/test_runner/test_parallel.py
-@@ -2,7 +2,7 @@ import unittest
- 
- from django.test import SimpleTestCase
- from django.test.runner import RemoteTestResult
--from django.utils.version import PY37
-+from django.utils.version import PY37, PY311
- 
- try:
-     import tblib
-@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase):
-         self.assertEqual(len(events), 4)
- 
-         event = events[1]
--        self.assertEqual(event[0], 'addSubTest')
--        self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)')
-+        self.assertEqual(event[0], "addSubTest")
-+        self.assertEqual(
-+            str(event[2]),
-+            "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 ""),
-+        )
-         trailing_comma = '' if PY37 else ','
-         self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma)
- 
-diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
-index 9255315e98..8f72057afe 100644
---- a/tests/test_utils/tests.py
-+++ b/tests/test_utils/tests.py
-@@ -26,6 +26,7 @@ from django.test.utils import (
- )
- from django.urls import NoReverseMatch, path, reverse, reverse_lazy
- from django.utils.deprecation import RemovedInDjango41Warning
-+from django.utils.version import PY311
- 
- from .models import Car, Person, PossessedCar
- from .views import empty_response
-@@ -78,9 +79,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."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
-     def test_skip_if_db_feature(self):
-@@ -122,9 +125,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."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
- 
--- 
-2.40.0
-

diff --git a/dev-python/django/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch
index 82cdb44aaad3..976537289ff3 100644
--- a/dev-python/django/files/django-3.2.19-py311.patch
+++ b/dev-python/django/files/django-3.2.19-py311.patch
@@ -1,3 +1,156 @@
+From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 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] Refs #33173 -- Fixed test_runner/test_utils tests on Python
+ 3.11+.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Python 3.11 uses fully qualified test name in unittest output. See
+https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
+
+(rebased by Michał Górny)
+---
+ django/utils/version.py             |  1 +
+ tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++-----------
+ tests/test_runner/test_parallel.py  | 11 ++++++++---
+ tests/test_utils/tests.py           |  9 +++++++--
+ 4 files changed, 35 insertions(+), 16 deletions(-)
+
+diff --git a/django/utils/version.py b/django/utils/version.py
+index 74c327525e..0c2bfc626e 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/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
+index 0e8e4207d6..2b5fed7a76 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
+ 
+@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase):
+             '''"test_runner_person"."first_name" = 'subtest-fail';'''),
+     ]
+ 
++    # 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) ...',
+-        ('''SELECT COUNT(*) AS "__count" '''
+-            '''FROM "test_runner_person" WHERE '''
+-            '''"test_runner_person"."first_name" = 'pass';'''),
+-        ('''SELECT COUNT(*) AS "__count" '''
+-            '''FROM "test_runner_person" WHERE '''
+-            '''"test_runner_person"."first_name" = 'subtest-pass';'''),
++        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 """
++            """"test_runner_person"."first_name" = 'pass';"""
++        ),
++        (
++            """SELECT COUNT(*) AS "__count" """
++            """FROM "test_runner_person" WHERE """
++            """"test_runner_person"."first_name" = 'subtest-pass';"""
++        ),
+     ]
+ 
+     def test_setupclass_exception(self):
+diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
+index c1a89bd0f0..0f1adcf208 100644
+--- a/tests/test_runner/test_parallel.py
++++ b/tests/test_runner/test_parallel.py
+@@ -2,7 +2,7 @@ import unittest
+ 
+ from django.test import SimpleTestCase
+ from django.test.runner import RemoteTestResult
+-from django.utils.version import PY37
++from django.utils.version import PY37, PY311
+ 
+ try:
+     import tblib
+@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase):
+         self.assertEqual(len(events), 4)
+ 
+         event = events[1]
+-        self.assertEqual(event[0], 'addSubTest')
+-        self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)')
++        self.assertEqual(event[0], "addSubTest")
++        self.assertEqual(
++            str(event[2]),
++            "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 ""),
++        )
+         trailing_comma = '' if PY37 else ','
+         self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma)
+ 
+diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
+index 9255315e98..8f72057afe 100644
+--- a/tests/test_utils/tests.py
++++ b/tests/test_utils/tests.py
+@@ -26,6 +26,7 @@ from django.test.utils import (
+ )
+ from django.urls import NoReverseMatch, path, reverse, reverse_lazy
+ from django.utils.deprecation import RemovedInDjango41Warning
++from django.utils.version import PY311
+ 
+ from .models import Car, Person, PossessedCar
+ from .views import empty_response
+@@ -78,9 +79,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."
++            # Python 3.11 uses fully qualified test name in the output.
++            % (".test_foo" if PY311 else ""),
+         )
+ 
+     def test_skip_if_db_feature(self):
+@@ -122,9 +125,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."
++            # Python 3.11 uses fully qualified test name in the output.
++            % (".test_foo" if PY311 else ""),
+         )
+ 
+ 
+-- 
+2.40.0
+
 From 0981a4bc273e2a87ad10c602d9547e006e06d8dd Mon Sep 17 00:00:00 2001
 From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
 Date: Fri, 7 Apr 2023 11:07:54 +0200


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

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

commit:     8b662f6292291606e579c70c581c6c76adba9534
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 11:04:17 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 23 11:24:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b662f62

dev-python/django: Enable py3.12

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

 dev-python/django/django-4.2.3-r1.ebuild         | 98 ++++++++++++++++++++++++
 dev-python/django/files/django-4.2.3-py312.patch | 25 ++++++
 2 files changed, 123 insertions(+)

diff --git a/dev-python/django/django-4.2.3-r1.ebuild b/dev-python/django/django-4.2.3-r1.ebuild
new file mode 100644
index 000000000000..f51d9733c439
--- /dev/null
+++ b/dev-python/django/django-4.2.3-r1.ebuild
@@ -0,0 +1,98 @@
+# 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_{10..12} )
+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 ~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
+	)
+	verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/django-4.0-bashcomp.patch
+	"${FILESDIR}"/django-4.2.3-py312.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
+}

diff --git a/dev-python/django/files/django-4.2.3-py312.patch b/dev-python/django/files/django-4.2.3-py312.patch
new file mode 100644
index 000000000000..7989f8e7cbcc
--- /dev/null
+++ b/dev-python/django/files/django-4.2.3-py312.patch
@@ -0,0 +1,25 @@
+This is a hack to get the tests to pass prior to:
+
+[e83a88566a71a2353cebc35992c110be0f8628af] Fixed #32172 -- Adapted signals to allow async handlers.
+
+diff --git a/django/test/signals.py b/django/test/signals.py
+index 94a5161e82..1358101b98 100644
+--- a/django/test/signals.py
++++ b/django/test/signals.py
+@@ -14,6 +14,7 @@ from django.utils import timezone
+ from django.utils.formats import FORMAT_SETTINGS, reset_format_cache
+ from django.utils.functional import empty
+ from django.utils.module_loading import import_string
++from django.utils.version import PY312
+ 
+ template_rendered = Signal()
+ 
+@@ -183,7 +184,7 @@ def complex_setting_changed(*, enter, setting, **kwargs):
+         # this stacklevel shows the line containing the override_settings call.
+         warnings.warn(
+             f"Overriding setting {setting} can lead to unexpected behavior.",
+-            stacklevel=6,
++            stacklevel=5 if PY312 else 6,
+         )
+ 
+ 


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

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

commit:     717e0097c43b38fe4460b9f4a37081ba599412ed
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 19 16:49:47 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 19 17:21:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=717e0097

dev-python/django: Enable py3.13

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

 dev-python/django/django-5.0.6.ebuild            |  4 +-
 dev-python/django/files/django-5.0.6-py313.patch | 58 ++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/dev-python/django/django-5.0.6.ebuild b/dev-python/django/django-5.0.6.ebuild
index 465a7dcda6cd..be69e34a55a0 100644
--- a/dev-python/django/django-5.0.6.ebuild
+++ b/dev-python/django/django-5.0.6.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
 PYTHON_REQ_USE='sqlite?,threads(+)'
 
 inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
@@ -57,6 +57,8 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/django-4.0-bashcomp.patch
 	"${WORKDIR}"/django-5.0-pypy3.patch
+	# https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
+	"${FILESDIR}"/django-5.0.6-py313.patch
 )
 
 distutils_enable_sphinx docs --no-autodoc

diff --git a/dev-python/django/files/django-5.0.6-py313.patch b/dev-python/django/files/django-5.0.6-py313.patch
new file mode 100644
index 000000000000..377d41261d2e
--- /dev/null
+++ b/dev-python/django/files/django-5.0.6-py313.patch
@@ -0,0 +1,58 @@
+From 3426a5c33c36266af42128ee9eca4921e68ea876 Mon Sep 17 00:00:00 2001
+From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
+Date: Tue, 20 Feb 2024 20:59:26 +0100
+Subject: [PATCH] Refs #34900 -- Fixed
+ CommandTypes.test_help_default_options_with_custom_arguments test on Python
+ 3.13+.
+
+https://github.com/python/cpython/commit/c4a2e8a2c5188c3288d57b80852e92c83f46f6f3
+---
+ django/utils/version.py      |  1 +
+ tests/admin_scripts/tests.py | 15 +++++++++++----
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/django/utils/version.py b/django/utils/version.py
+index ecd41dac897ab..6f8171ffe0cfe 100644
+--- a/django/utils/version.py
++++ b/django/utils/version.py
+@@ -20,6 +20,7 @@
+ PY310 = sys.version_info >= (3, 10)
+ PY311 = sys.version_info >= (3, 11)
+ PY312 = sys.version_info >= (3, 12)
++PY313 = sys.version_info >= (3, 13)
+ 
+ 
+ def get_version(version=None):
+diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
+index 50e8d4a3b1eda..688aaa0a2f8de 100644
+--- a/tests/admin_scripts/tests.py
++++ b/tests/admin_scripts/tests.py
+@@ -33,6 +33,7 @@
+ from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_settings
+ from django.test.utils import captured_stderr, captured_stdout
+ from django.urls import path
++from django.utils.version import PY313
+ from django.views.static import serve
+ 
+ from . import urls
+@@ -1901,10 +1902,16 @@ def test_help_default_options_with_custom_arguments(self):
+         ]
+         for option in expected_options:
+             self.assertOutput(out, f"[{option}]")
+-        self.assertOutput(out, "--option_a OPTION_A, -a OPTION_A")
+-        self.assertOutput(out, "--option_b OPTION_B, -b OPTION_B")
+-        self.assertOutput(out, "--option_c OPTION_C, -c OPTION_C")
+-        self.assertOutput(out, "-v {0,1,2,3}, --verbosity {0,1,2,3}")
++        if PY313:
++            self.assertOutput(out, "--option_a, -a OPTION_A")
++            self.assertOutput(out, "--option_b, -b OPTION_B")
++            self.assertOutput(out, "--option_c, -c OPTION_C")
++            self.assertOutput(out, "-v, --verbosity {0,1,2,3}")
++        else:
++            self.assertOutput(out, "--option_a OPTION_A, -a OPTION_A")
++            self.assertOutput(out, "--option_b OPTION_B, -b OPTION_B")
++            self.assertOutput(out, "--option_c OPTION_C, -c OPTION_C")
++            self.assertOutput(out, "-v {0,1,2,3}, --verbosity {0,1,2,3}")
+ 
+     def test_color_style(self):
+         style = color.no_style()


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

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

commit:     31775853d80b1b97c9f2382eaf433a2ddb543a32
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 10 06:37:59 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 10 06:37:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31775853

dev-python/django: Remove old

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

 dev-python/django/Manifest                         |   6 -
 dev-python/django/django-3.2.25.ebuild             | 110 -------------
 dev-python/django/django-4.2.13.ebuild             | 101 ------------
 dev-python/django/django-5.0.6.ebuild              | 103 ------------
 dev-python/django/files/django-3.1-bashcomp.patch  |  56 -------
 dev-python/django/files/django-3.2.19-py311.patch  | 183 ---------------------
 .../django/files/django-3.2.20-urlsplit.patch      | 111 -------------
 7 files changed, 670 deletions(-)

diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 2940b328c10c..3ac93beb70d7 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,11 +1,5 @@
-DIST Django-3.2.25.checksum.txt 2560 BLAKE2B e082c588f4e124c9d71c1914e475fd70ed9b68583d65ea59ba0822b96de36c2edc98b4d9192f3d7c75467306fe03404303f6c2a98a026bdb5308bbd1dee89f99 SHA512 49a1610dcd61cbd322f0a5d7fe3cf249c0c4288b194fc8c2bdf7ec6fb8f92b69ca68dcdb71b79998cd80b978b70f48069669d996b6503261ba726c77c8b87672
-DIST Django-3.2.25.tar.gz 9836336 BLAKE2B 586520e0689b2594dd8ce4abb173418aedfde80cc84012d2a4207cbfc67120cbf405a8dfc8d069bb946f027f0eef22b233bd3b3ce569b01ea8fdc7836a6e530f SHA512 ccba83abd1777123186d685e21b96f41abf216a692d18ffe764d2e519eb9d1f6011d08c86b3affdd891591ca4ed7fee27ffa4750d19b486ca775ee680fdb0cb1
-DIST Django-4.2.13.checksum.txt 2578 BLAKE2B c4dee2c255a77da0655f685852bfac937e6afbfa32c6f5048916675d806c1d9218ff40117c99d7e63ee06b05dd88af4db9460672c3628c948cb17e5ca2f56817 SHA512 0994eef854b991c2db290712aff892e900ef3bab84607e385b4f78e3213b816739e42d5010afaaf30f6c68d5bc52b509b7c6e797e8e87db499a49f75b4cfd232
-DIST Django-4.2.13.tar.gz 10430886 BLAKE2B 09e8743de500f11c32c540d23d9aae1377c83177089732c78c03501dc560fd7b4316d6032534c923c354539421e519ed8439fc09d61500cea479c9eaf115f160 SHA512 2d141e2d710dbd55999db9c7005ca4a8d291dad57f0ef246eb41d4ffed76e62035b36969c5f338c3158ccd2d1677eb23de0b8f783606b4c62a3ee45e8988b712
 DIST Django-4.2.14.checksum.txt 2579 BLAKE2B 9cf59d23c8fa0ad9b86f30a492d981a3084c31fd0c7e8ea212c62377385bcb45369ee3f29573c8e129f8d248ca4e94d4c1a4172048b9a9b2f66cc3291e972367 SHA512 c36efc19f8cc90db89dfe3ffaedff724f4b5a049f6def7acb194f8114a2ae519c5c07dea5452c09618629c9d585867de4b028bcef382f43d24f753f4a100c1c6
 DIST Django-4.2.14.tar.gz 10432993 BLAKE2B 0139669111f834bcb79fea5fa2bc43386d62a65790fda9d762f8ac4e2a32f2a3740629e31c863b2643fa13b893938c33b066c21f27857f391715b7cec88dfad7 SHA512 2663454c48f57a441d1620faad30ac25750d1e71bf34eddbdef3e6d8dd208913752ab657447ffea5e9d3a0676a4a4d501fa88a40a0ca0fd361df0782a6b3306b
-DIST Django-5.0.6.checksum.txt 2568 BLAKE2B c4c94e1a245248ed59707fb8aeb97a8379e679c50829d0470eefd2f870de32d5b57cb4841ac44809483993bc515514c3e2b0cdf0f1768681a4ba1930e2d278a3 SHA512 231954ae528beff69fbfa385aba192f19d56e862f1a2e5e40ccbba60ce31b59a075af31d75ab9e5767c9405a37f14fd3c5c41e74f60f6b7d6821391a43992301
-DIST Django-5.0.6.tar.gz 10639679 BLAKE2B 2198f273f28f89eb12db481e3531a963e2f5215677f0227d2ce8940cf1c2076acafe9bf1064595b481c6d65fadd7c6d6c7cda5fbbded81a87895e697338c78fd SHA512 6dab32357c423762a4fdd7372aec0ae4855861431fb9a90d4a818144e675cf891c0673a11351ddf8344f31624ce0ea8c9d9c6bc3c4514f38380aecb48a684894
 DIST Django-5.0.7.checksum.txt 2569 BLAKE2B 0d4cecf064da9313058606569fcb014c5f3d5ec3c60a5a056cd8242ed9a8349b6d273c38010ba3d41fac85e5551a21748a7739772ad310f8c64224243745eac5 SHA512 9ec2e5e3ac0cb99be9349373c2cf47c6055e0bb729e5bb7e476350cd39595c4c82e7eab9a7eb286a9199834bed65d7f3d31ba59509d6e2e827b0f9c743aa9fcd
 DIST Django-5.0.7.tar.gz 10642686 BLAKE2B 559c3e3dd3971081e8572a707f59054ec84d9922493caddec9e008c5e850e8beb7bfbca291e4e7157e94d4fcd655983e3444f1c8f078342c8b66b3e8ce122ab7 SHA512 29aa4cd7bfdc5c00479c9d60d988653bab76dcfd8cd553ab446f6c274f99677ccaef0571b0afdf1579215918f500d87a0b098a98452c7526e89b1ab64f00b037
 DIST django-4.2.8-pypy3.patch.xz 5900 BLAKE2B b7dc5c5fc162817a218ee6d025ed8a65559b80e4506e49ac393428c26e2621f9e7c5010b36f2412dea8194a9f1086ab21f97286eabd696c6a786285eb07393cf SHA512 f953b5adbd1364f1d84dde55087ccb493256b1327701275fd2fe99f3cd41751d18e002b6e21afc96892e1671428a6b8f3c2e4b88252c3c278f1a79e286bb73e3

diff --git a/dev-python/django/django-3.2.25.ebuild b/dev-python/django/django-3.2.25.ebuild
deleted file mode 100644
index a026c5a478e4..000000000000
--- a/dev-python/django/django-3.2.25.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..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}]
-	sys-libs/timezone-data
-"
-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
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-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
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
-	if use verify-sig; then
-		cd "${DISTDIR}" || die
-		verify-sig_verify_signed_checksums \
-			"${P^}.checksum.txt" sha256 "${P^}.tar.gz"
-		cd "${WORKDIR}" || die
-	fi
-
-	default
-}
-
-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
-}

diff --git a/dev-python/django/django-4.2.13.ebuild b/dev-python/django/django-4.2.13.ebuild
deleted file mode 100644
index 7379e6655f94..000000000000
--- a/dev-python/django/django-4.2.13.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing 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
-	https://dev.gentoo.org/~mgorny/dist/python/django-4.2.8-pypy3.patch.xz
-	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}]
-	sys-libs/timezone-data
-"
-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
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/django-4.0-bashcomp.patch
-	"${WORKDIR}"/django-4.2.8-pypy3.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
-	if use verify-sig; then
-		cd "${DISTDIR}" || die
-		verify-sig_verify_signed_checksums \
-			"${P^}.checksum.txt" sha256 "${P^}.tar.gz"
-		cd "${WORKDIR}" || die
-	fi
-
-	default
-}
-
-python_test() {
-	# Tests have non-standard assumptions about PYTHONPATH,
-	# and don't work with ${BUILD_DIR}/lib.
-	PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
-		-v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${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:0
-	optfeature_header
-	optfeature "GEO Django" "sci-libs/gdal[geos]"
-	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
-	optfeature "ImageField Support" dev-python/pillow
-	optfeature "Password encryption" dev-python/bcrypt
-}

diff --git a/dev-python/django/django-5.0.6.ebuild b/dev-python/django/django-5.0.6.ebuild
deleted file mode 100644
index be69e34a55a0..000000000000
--- a/dev-python/django/django-5.0.6.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing 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
-	https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz
-	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="~alpha 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.7.0[${PYTHON_USEDEP}]
-	>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
-	sys-libs/timezone-data
-"
-BDEPEND="
-	test? (
-		$(python_gen_impl_dep sqlite)
-		${RDEPEND}
-		>=dev-python/docutils-0.19[${PYTHON_USEDEP}]
-		>=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
-		dev-python/numpy[${PYTHON_USEDEP}]
-		dev-python/pillow[webp,${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		>=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
-		>=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
-		sys-devel/gettext
-	)
-	verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
-"
-
-PATCHES=(
-	"${FILESDIR}"/django-4.0-bashcomp.patch
-	"${WORKDIR}"/django-5.0-pypy3.patch
-	# https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
-	"${FILESDIR}"/django-5.0.6-py313.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
-	if use verify-sig; then
-		cd "${DISTDIR}" || die
-		verify-sig_verify_signed_checksums \
-			"${P^}.checksum.txt" sha256 "${P^}.tar.gz"
-		cd "${WORKDIR}" || die
-	fi
-
-	default
-}
-
-python_test() {
-	# Tests have non-standard assumptions about PYTHONPATH,
-	# and don't work with ${BUILD_DIR}/lib.
-	PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
-		-v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
-		die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/django_bash_completion ${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:0
-	optfeature_header
-	optfeature "GEO Django" "sci-libs/gdal[geos]"
-	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
-	optfeature "ImageField Support" dev-python/pillow
-	optfeature "Password encryption" dev-python/bcrypt
-}

diff --git a/dev-python/django/files/django-3.1-bashcomp.patch b/dev-python/django/files/django-3.1-bashcomp.patch
deleted file mode 100644
index 1652842aaa38..000000000000
--- a/dev-python/django/files/django-3.1-bashcomp.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-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
-

diff --git a/dev-python/django/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch
deleted file mode 100644
index 976537289ff3..000000000000
--- a/dev-python/django/files/django-3.2.19-py311.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 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] Refs #33173 -- Fixed test_runner/test_utils tests on Python
- 3.11+.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Python 3.11 uses fully qualified test name in unittest output. See
-https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
-
-(rebased by Michał Górny)
----
- django/utils/version.py             |  1 +
- tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++-----------
- tests/test_runner/test_parallel.py  | 11 ++++++++---
- tests/test_utils/tests.py           |  9 +++++++--
- 4 files changed, 35 insertions(+), 16 deletions(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 74c327525e..0c2bfc626e 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/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
-index 0e8e4207d6..2b5fed7a76 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
- 
-@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase):
-             '''"test_runner_person"."first_name" = 'subtest-fail';'''),
-     ]
- 
-+    # 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) ...',
--        ('''SELECT COUNT(*) AS "__count" '''
--            '''FROM "test_runner_person" WHERE '''
--            '''"test_runner_person"."first_name" = 'pass';'''),
--        ('''SELECT COUNT(*) AS "__count" '''
--            '''FROM "test_runner_person" WHERE '''
--            '''"test_runner_person"."first_name" = 'subtest-pass';'''),
-+        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 """
-+            """"test_runner_person"."first_name" = 'pass';"""
-+        ),
-+        (
-+            """SELECT COUNT(*) AS "__count" """
-+            """FROM "test_runner_person" WHERE """
-+            """"test_runner_person"."first_name" = 'subtest-pass';"""
-+        ),
-     ]
- 
-     def test_setupclass_exception(self):
-diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
-index c1a89bd0f0..0f1adcf208 100644
---- a/tests/test_runner/test_parallel.py
-+++ b/tests/test_runner/test_parallel.py
-@@ -2,7 +2,7 @@ import unittest
- 
- from django.test import SimpleTestCase
- from django.test.runner import RemoteTestResult
--from django.utils.version import PY37
-+from django.utils.version import PY37, PY311
- 
- try:
-     import tblib
-@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase):
-         self.assertEqual(len(events), 4)
- 
-         event = events[1]
--        self.assertEqual(event[0], 'addSubTest')
--        self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)')
-+        self.assertEqual(event[0], "addSubTest")
-+        self.assertEqual(
-+            str(event[2]),
-+            "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 ""),
-+        )
-         trailing_comma = '' if PY37 else ','
-         self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma)
- 
-diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
-index 9255315e98..8f72057afe 100644
---- a/tests/test_utils/tests.py
-+++ b/tests/test_utils/tests.py
-@@ -26,6 +26,7 @@ from django.test.utils import (
- )
- from django.urls import NoReverseMatch, path, reverse, reverse_lazy
- from django.utils.deprecation import RemovedInDjango41Warning
-+from django.utils.version import PY311
- 
- from .models import Car, Person, PossessedCar
- from .views import empty_response
-@@ -78,9 +79,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."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
-     def test_skip_if_db_feature(self):
-@@ -122,9 +125,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."
-+            # Python 3.11 uses fully qualified test name in the output.
-+            % (".test_foo" if PY311 else ""),
-         )
- 
- 
--- 
-2.40.0
-
-From 0981a4bc273e2a87ad10c602d9547e006e06d8dd 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] Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported
- on Python 3.11.4+.
-
-https://github.com/python/cpython/commit/5342f5e713e0cc45b6f226d2d053a8cde1b4d68e
-
-Follow up to 38e63c9e61152682f3ff982c85a73793ab6d3267.
----
- tests/model_enums/tests.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py
-index ffc199ce42..c4ca6c91d7 100644
---- a/tests/model_enums/tests.py
-+++ b/tests/model_enums/tests.py
-@@ -259,7 +259,7 @@ class CustomChoicesTests(SimpleTestCase):
-                 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'
--- 
-2.40.1
-

diff --git a/dev-python/django/files/django-3.2.20-urlsplit.patch b/dev-python/django/files/django-3.2.20-urlsplit.patch
deleted file mode 100644
index 4883da38c0f5..000000000000
--- a/dev-python/django/files/django-3.2.20-urlsplit.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-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] 20+ messages in thread

end of thread, other threads:[~2024-07-10  6:38 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-09  8:23 [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2024-07-10  6:38 Michał Górny
2024-06-19 17:21 Michał Górny
2023-07-23 11:24 Michał Górny
2023-05-04 15:30 Michał Górny
2023-05-04  8:06 Michał Górny
2023-03-30 15:41 Michał Górny
2022-06-13  7:18 Michał Górny
2021-12-07 23:27 Michał Górny
2021-10-17 21:15 Michał Górny
2021-08-03  8:52 Michał Górny
2021-06-01 20:35 Michał Górny
2021-02-13 20:15 Michał Górny
2020-10-29 20:25 Michał Górny
2020-05-06  6:04 Michał Górny
2020-03-05 19:07 Michał Górny
2018-09-03 13:33 Virgil Dupras
2018-07-21  1:06 Virgil Dupras
2018-07-21  0:20 Virgil Dupras
2015-12-02  7:53 Justin Lecher

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