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
+}

Reply via email to