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: &#39;&eacute; is an apostrophe followed by e 
acute</p>",

Reply via email to