summaryrefslogtreecommitdiff
path: root/dev-python/txredisapi
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/txredisapi')
-rw-r--r--dev-python/txredisapi/Manifest3
-rw-r--r--dev-python/txredisapi/metadata.xml17
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.9.ebuild84
3 files changed, 104 insertions, 0 deletions
diff --git a/dev-python/txredisapi/Manifest b/dev-python/txredisapi/Manifest
new file mode 100644
index 000000000000..a93a6cf7d817
--- /dev/null
+++ b/dev-python/txredisapi/Manifest
@@ -0,0 +1,3 @@
+DIST txredisapi-1.4.9.gh.tar.gz 54484 BLAKE2B faf66eecd51f007dae03d34a6fab8c204b01b44d4967281dbf52fce1d3dd0dbf261e0901902cd3484c8edb951d7b318266f7a72e04eee9c55ca1684e12bc2a7f SHA512 b471bd6cbb7c01f5e1a87e1fc45cc6daf7ed08e0e4168e641e4b1b16a92481d0643eafed22efa9d0dbd807dab46359b570176d97a03673987f4a04930e231fdd
+EBUILD txredisapi-1.4.9.ebuild 1872 BLAKE2B e5978f3b9e22398e1ba900fade46e5df2d0d6dac813f8a77f14933949340cf64ea1b68a7e0d0a6f555065b7ded2344f21b3409ae622bf004a3aa48205e5c2e25 SHA512 9be285b258c1c6c201819a06119d709563426be3e4912840cd440ee672bb555e57eac507104e2933c49c5cf571bea41f166a2700795ae200dbd2a0a30e5a7e6a
+MISC metadata.xml 540 BLAKE2B 5d6aaf37b2dc2c74562fcf2d038617b12cbd6d27dfbfcb3eb91a9f1d9ba608f7ab32dc4efbf0712068877921d938b263623ffef7a5cbaee02c1da99166baf965 SHA512 9bf78049d4ef687b204f3b3392dc4ef17416c8de796013cbe59ae8b7dbc37ddaae62722e734fde192c0e7922fafc6c2f0a68a858087d8812128e93f4116df819
diff --git a/dev-python/txredisapi/metadata.xml b/dev-python/txredisapi/metadata.xml
new file mode 100644
index 000000000000..ad26c4383d88
--- /dev/null
+++ b/dev-python/txredisapi/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arkamar@atlas.cz</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">IlyaSkriblovsky/txredisapi</remote-id>
+ <remote-id type="pypi">txredisapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txredisapi/txredisapi-1.4.9.ebuild b/dev-python/txredisapi/txredisapi-1.4.9.ebuild
new file mode 100644
index 000000000000..cd1aaaeaa710
--- /dev/null
+++ b/dev-python/txredisapi/txredisapi-1.4.9.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+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 package contains broken 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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP},ssl(-)]
+"
+BDEPEND="
+ test? (
+ 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
+}