commit: a3587767cb3ea7f007865c1e7b19ae9ed7667bf0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 18 05:53:05 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 18 10:38:08 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3587767
dev-python/django-redis: Bump to 6.0.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/django-redis/Manifest | 1 +
dev-python/django-redis/django-redis-6.0.0.ebuild | 103 ++++++++++++++++++++++
2 files changed, 104 insertions(+)
diff --git a/dev-python/django-redis/Manifest b/dev-python/django-redis/Manifest
index ac9c29bbbe25..54bf95ca08fa 100644
--- a/dev-python/django-redis/Manifest
+++ b/dev-python/django-redis/Manifest
@@ -1 +1,2 @@
DIST django-redis-5.4.0.tar.gz 52567 BLAKE2B
f3ac670500dbe57d795905d10d3a63102c60de6b61e96af257c0e654cd7aa7dc2e70e512bad55ef4129dd11f60ceaaeeccf78b94486550a555a843e4dea98f1f
SHA512
12eb85ee3ce2c8fcf013c804a630bd3eb943de0980d1f6d365b5b5ed762ab956db80329f3e170f330ccc5b9e6f178ffa7938b1880477b7fb609d2cc3680b984a
+DIST django_redis-6.0.0.tar.gz 56904 BLAKE2B
795c285fde69dff4809323e7da2aa0d2720c5939ab68197cbc8ab2b3cf468397146d25791e46b148e0214ff25169a8ac9dac990befb07ade16ed695e4b28c7c0
SHA512
616f3a81d986c5958b2d2740ad1becbd304ed395b9907758fd80a1cf2a5457c8f66a158874ee4b416b85c3540dc45f4127587cdf15d7b884c624ab7e8f84272e
diff --git a/dev-python/django-redis/django-redis-6.0.0.ebuild
b/dev-python/django-redis/django-redis-6.0.0.ebuild
new file mode 100644
index 000000000000..c7b93c7209bf
--- /dev/null
+++ b/dev-python/django-redis/django-redis-6.0.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Full featured redis cache backend for Django"
+HOMEPAGE="
+ https://github.com/jazzband/django-redis/
+ https://pypi.org/project/django-redis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.0.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/lz4[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/--cov/d' \
+ -e '/--no-cov/d' \
+ -i setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # no clue why we need to set it explicitly
+ local -x DJANGO_SETTINGS_MODULE=settings.sqlite
+ # sqlite_zstd requires pyzstd
+ # the test suite only works with -n4
+ # https://github.com/jazzband/django-redis/issues/777
+ epytest -p xdist -n 4 -p pytest_mock -k "not sqlite_zstd"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_sock="${T}"/redis.sock
+ local redis_test_config="
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ unixsocket ${redis_sock}
+ bind 127.0.0.1
+ logfile ${T}/redis.log
+ enable-debug-command yes
+ "
+ local sentinel_pid="${T}"/sentinel.pid
+ local sentinel_port=26379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Also Redis sentinel
+ cat > "${T}"/sentinel.conf <<-EOF || die
+ # from docker/sentinel.conf
+ sentinel monitor default_service 127.0.0.1 ${redis_port} 1
+ sentinel down-after-milliseconds default_service 3200
+ sentinel failover-timeout default_service 10000
+
+ # for some reason, tests expect 127.0.0.1 too
+ sentinel monitor 127.0.0.1 127.0.0.1 ${redis_port} 1
+ sentinel down-after-milliseconds 127.0.0.1 3200
+ sentinel failover-timeout 127.0.0.1 10000
+
+ daemonize yes
+ pidfile ${sentinel_pid}
+ port ${sentinel_port}
+ logfile ${T}/sentinel.log
+ EOF
+ "${EPREFIX}"/usr/sbin/redis-sentinel "${T}"/sentinel.conf || die
+
+ # Update the socket path, we don't want hardcoded /tmp
+ sed -e "s^/tmp/redis.sock^${redis_sock}^g" \
+ -i tests/settings/sqlite_usock.py || die
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${sentinel_pid}")" "$(<"${redis_pid}")" || die
+}