summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/django-cacheops/Manifest1
-rw-r--r--dev-python/django-cacheops/django-cacheops-7.0.2.ebuild71
2 files changed, 72 insertions, 0 deletions
diff --git a/dev-python/django-cacheops/Manifest b/dev-python/django-cacheops/Manifest
index 347d5b027944..1395befd31e1 100644
--- a/dev-python/django-cacheops/Manifest
+++ b/dev-python/django-cacheops/Manifest
@@ -1 +1,2 @@
DIST django-cacheops-7.0.1.tar.gz 70830 BLAKE2B a90c5b145475f9942de5fee4403c5d237a6754026a0e581d1cab56a1b538cbb041fa50fcc67b0a7c922274c49b510d833e2924d8744e62e5a71149d6ddd6144d SHA512 a73b24acd668d9104b8b8f27859d643ea9b80bf53375389cb21b2bbd3d97ea508f826752df2fa5ed576e91a35ba5c6cfb0e8dded772b2c47babf739e6b26dd38
+DIST django-cacheops-7.0.2.tar.gz 71747 BLAKE2B ceb5a536b1ee25c2b25beb9bac4b193325d74b58f7abc6f8edf62a9327eeb25fe8fd68292d5887aa02655f14290e7430d18747ccd487a4f44cdad7fa991f458c SHA512 cd6ea11c54d0c49c52a912033b0ef5d1940c9f061b5a248b4238bf22efa17aefdc48c10a3724613401e9972226e0ad20cbd607b4b63812efc5ae78c35968b767
diff --git a/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild b/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild
new file mode 100644
index 000000000000..32d703bbe33f
--- /dev/null
+++ b/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ORM cache with automatic granular event-driven invalidation for Django"
+HOMEPAGE="
+ https://github.com/Suor/django-cacheops/
+ https://pypi.org/project/django-cacheops/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+ >=dev-python/redis-2.9.1[${PYTHON_USEDEP}]
+ >=dev-python/funcy-1.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-db/redis
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # Remove test dependent on unpackaged before_after
+ sed -e 's/test_lock/_&/' -i tests/test_extras.py || die
+ # Remove upper bounds on dependencies
+ sed -i -e 's:,<[0-9]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings
+ local -x PYTHONPATH=.
+ django-admin test -v 2 || die
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<-EOF || die
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}