commit: 0fb61a7c3ed3cddc49e666add619bd33279b14f8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 4 03:34:17 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 4 03:45:49 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fb61a7c
dev-python/django: Bump to 4.2.28
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/django/Manifest | 2 +
dev-python/django/django-4.2.28.ebuild | 100 +++++++++++++++++++++
.../django/files/django-4.2.28-htmlparser.patch | 15 ++++
3 files changed, 117 insertions(+)
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index c948a15ee210..5185f2266f7c 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,5 +1,6 @@
DIST Django-4.2.26.checksum.txt 2550 BLAKE2B
39602268316a1391e5f97baecf412c4c27c355521a82c99a9d017825f3edbb963e5f8693142889f77bd7352bb954a8cb0eee30701daaa03b128c28c6cb520c4a
SHA512
668536de6e8293ea72480e86fbdb42852364e8b81b8d170e2035026ca9f73697f1eb52c6c612a11bb2b2894a9a0de27d7f422fdf255b28152021014704070962
DIST Django-4.2.27.checksum.txt 2493 BLAKE2B
da4638b538a8ce20c4ee211b374299945a4c8b66854dd233986841073a7b8002b25f8280a9fd1916a2f44bfdcff3adc2760de6b0fd53bc0e4b481664d307ccb0
SHA512
ed435a7967679d8f7a4717fe71452522d2a8b18bd59586ccbe3550a84244d2b0098f631459a43519e55ae5b5615c0d10da69c9fda577395c8335cb624e0f8227
+DIST Django-4.2.28.checksum.txt 2501 BLAKE2B
b3d464449fd6e549616a6573915a273effc3c071538ea33966b18ffd151b31d376e2d2b51f993c09f8f69fd392588a011227d2678c4b90341a275dfd35574020
SHA512
33a6951b7f589a1a3dfe2b442b1093502e58fbaeab6414159b5f5a865a7aa83f90a82bdb5e340872dbf55d7d22c71c6f177ca5453fbb7c78f29265abd21d8bd1
DIST Django-5.1.14.checksum.txt 2550 BLAKE2B
73aa763ab3cb61b8de40cd58ea4ef9ca8c570233ab325b3407fa1f08cf6cb485a48a350314e09e01d943ec1091d4bdcd220c9ed4bafccb52c883c539d605aec9
SHA512
9d7f3e1bc290d931ff6285c6553049f687212a60b360fbb4054e76e59b08d51a07de1407cb963fbf551915279233995f049b3196cd3788870f853ec886c17beb
DIST Django-5.1.15.checksum.txt 2493 BLAKE2B
ad415c28c9676c39de6fd93976706a7228fbb3a257c6af1151d10ab33cc90b096caebc7150a6ff1f71f2469fcb9053076a29a22d336dd2dee9ed1efac2df6762
SHA512
04504dc22603ff97b0dc5bb1885d22368223d7a047a1a30db225b95376578dd7375b31d4b43036e4ae55e31156cc9d7c01d71f3d46e72bba72e74883a44de36a
DIST Django-5.2.10.checksum.txt 2500 BLAKE2B
421d8d4cdabd3a230c95d237c42689701f381e8a9d3cff9e2ccec998da53315318093db7e51542b6d8108cdf462986240408e36389f261ecf5ac8464992a003c
SHA512
016fcda2d99a85abd48fc02d9d3b2c8448859f649a23228049f693c309ac6ebe0a0c3d9995eedb360e6fb9d3f223243346b535df45c62cded8daf3549b19e090
@@ -12,6 +13,7 @@ DIST Django-6.0.checksum.txt 2463 BLAKE2B
7b0add97f793695868326b8eb58f22433b67d7
DIST django-4.2.17-pypy3.patch.xz 5900 BLAKE2B
2a564fc31d8e2f3def5a532d3bca1a4426a496c659192f602d659e0c1a5f5882978baedb384cc3b67fda8c836513ce43aece80db1528c8e8b6e9ca420f7572ce
SHA512
9c9d935aff6db7230a26931b5e7f5f94f3b5ff4fc8f7d4201178571de9d9c7929a0e1e558cc2d9b54b8ee91f85819a5680d24fad6251620515a4a020e3b2d66d
DIST django-4.2.26.tar.gz 10433052 BLAKE2B
5c6cd5cafcca047970b5bd9d4d6f6dedb0fdc51ff27421b409d3f08ec87422e4c33542c299389f315e2390b38498da4a0b8b934f24ececb0f3f9de729fc3975c
SHA512
49fc2d3796719b201567bcd1d68d4a018a62ffbd5aef3c609cbeb4e415f6508e383908949dba45fc3c2c9ca6d53f88c80598cf72ea29bf7b9fbd7d237dcc5077
DIST django-4.2.27.tar.gz 10432781 BLAKE2B
1a5864841d86881f245f4e8a11db290aa76753b713f3584aa1a2334131191c472839c2c5ae98bbb2c9e5ed85d99e558f08844a6d38fa87c716092efcd5fcc0b8
SHA512
8bb5e63ef13066aa8ee051ba2b7914f3c848f9c7406f2f53dd1fbaedf1ad752d342ea670485d81969d2b60a42dea2c6064065431e1415e408a7da026785e8ff1
+DIST django-4.2.28.tar.gz 10464933 BLAKE2B
ba3cccd170050cffe1fafbb7e06ff7f74b47b4a402539283957d8079522aa81fdc45801acb719cf26c4bdf37cfd1e5dfc2e3d533979526f411c072b1d190d2de
SHA512
7d7e33d8bb08aed5d6f500058989b70cb0a4a7e81bf0c49e2da8f627885d0f7d408c40fed521ba500fef871091eecf80ebac662672573128a06006f77f7cfd1d
DIST django-5.1.14.tar.gz 10720998 BLAKE2B
83bc02c1375a75b83678a9fe86362077e96b34c6fd2c451072c7be3b343c6fe2754deb107ffa34d949ab5ff0f406acfc967ef3cd52cd5147255d09a4ac5828c3
SHA512
29e2d4746df664a129a940ba9ba35d5b5e5f7104477e3055b02628f66c761def7d601b0f917c7e16988795c36c749d7c093e53da8ad90983a9d7f478adb41781
DIST django-5.1.15.tar.gz 10719662 BLAKE2B
fd8a78384b04cf1e0fa7553ebd7db77078450227c6f66e63f5f251efc2c7a7f71a48d1235c179e2f316efe5666681622a1608a129c0aab40c1d2ca4bf0f3879a
SHA512
050a3ded3566e378cb273cb95fa1720632f1920aa86993c998758236df5041628ada7a5fb6bd3056720a5becbb45e358c70a2ca7c230b28606a1fd954771c070
DIST django-5.2.10.tar.gz 10880754 BLAKE2B
e82fb1e2e24b2bb8cf37442bd98f3e94b6bce74433e5e5d8ada73067a60476befb07ccc38377df26a4ce62b7b18bc3587b5843acb971cac7a54e513bc8f70ef0
SHA512
6cd90823a21b8eee6a2e9f083c379329b016525b02d0c1fbee3aeb68c137f65e163c5390e9024007bcdac3f39742258ab613a41fa2908d923166215ec3d7c101
diff --git a/dev-python/django/django-4.2.28.ebuild
b/dev-python/django/django-4.2.28.ebuild
new file mode 100644
index 000000000000..0050143556b8
--- /dev/null
+++ b/dev-python/django/django-4.2.28.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{12..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
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~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/jinja2[${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-20241002 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ # https://code.djangoproject.com/ticket/34900
+ "${FILESDIR}"/django-4.2.21-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-4.2.28-htmlparser.patch
b/dev-python/django/files/django-4.2.28-htmlparser.patch
new file mode 100644
index 000000000000..b439a81eb408
--- /dev/null
+++ b/dev-python/django/files/django-4.2.28-htmlparser.patch
@@ -0,0 +1,15 @@
+diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py
+index f755b8cebc..ef5fe77951 100644
+--- a/tests/utils_tests/test_html.py
++++ b/tests/utils_tests/test_html.py
+@@ -101,9 +101,7 @@ class TestUtilsHtml(SimpleTestCase):
+ (3, 9): (3, 9, 24),
+ }
+ py_version = sys.version_info[:2]
+- htmlparser_fixed = (
+- py_version in min_fixed and sys.version_info >=
min_fixed[py_version]
+- )
++ htmlparser_fixed = True
+ items = (
+ (
+ "<p>See: 'é is an apostrophe followed by e
acute</p>",