summaryrefslogtreecommitdiff
path: root/dev-python/txredisapi/txredisapi-1.4.12.ebuild
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-05-07 07:10:39 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-05-07 07:10:39 +0000
commit6dd565aea2fc1e47796bb22fc2ec929c74dfa246 (patch)
tree97379541729a9e467025bf3266d6b70a207c35ae /dev-python/txredisapi/txredisapi-1.4.12.ebuild
parent6c2c44c149dc52d1f72e760c171f73fa33c4ee45 (diff)
downloadsrcux-6dd565aea2fc1e47796bb22fc2ec929c74dfa246.tar.gz
srcux-6dd565aea2fc1e47796bb22fc2ec929c74dfa246.tar.xz
srcux-6dd565aea2fc1e47796bb22fc2ec929c74dfa246.zip
Adding metadata
Diffstat (limited to 'dev-python/txredisapi/txredisapi-1.4.12.ebuild')
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.12.ebuild85
1 files changed, 85 insertions, 0 deletions
diff --git a/dev-python/txredisapi/txredisapi-1.4.12.ebuild b/dev-python/txredisapi/txredisapi-1.4.12.ebuild
new file mode 100644
index 000000000000..188a269c7e29
--- /dev/null
+++ b/dev-python/txredisapi/txredisapi-1.4.12.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2023-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Non-blocking redis client for python"
+HOMEPAGE="
+ https://github.com/IlyaSkriblovsky/txredisapi/
+ https://pypi.org/project/txredisapi/
+"
+# Github is used because PyPI archive does not contain tests,
+# see https://github.com/IlyaSkriblovsky/txredisapi/issues/149
+SRC_URI="
+ https://github.com/IlyaSkriblovsky/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP},ssl(-)]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-db/redis
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ sed -i "/redis_sock =/s:/tmp:${T}:" tests/test_unix_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # paralellized tests with -j parameter fail
+ "${EPYTHON}" -m twisted.trial tests || die "tests failed with ${EPYTHON}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ unixsocket ${T}/redis.sock
+ unixsocketperm 700
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+pkg_postinst() {
+ optfeature "Use hiredis protocol parser" dev-python/hiredis
+}