commit:     5af1544d0da31a2c905d49667e78cb59e37ebc86
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Fri Jul 21 06:51:48 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 07:10:55 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5af1544d

dev-python/txredisapi: add 1.4.10

Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/31990
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/txredisapi/Manifest                 |  1 +
 dev-python/txredisapi/txredisapi-1.4.10.ebuild | 84 ++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)

diff --git a/dev-python/txredisapi/Manifest b/dev-python/txredisapi/Manifest
index c7939e6e5adb..b18523de2cab 100644
--- a/dev-python/txredisapi/Manifest
+++ b/dev-python/txredisapi/Manifest
@@ -1 +1,2 @@
+DIST txredisapi-1.4.10.gh.tar.gz 54536 BLAKE2B 
d1224a95516323bfe3cf57b66612cea6b5fe7a4bd9aba0d2202f19575e1607209dc018ad6f754530ba07f09e89f38238f7ae3213898a33f317dc347722e055d7
 SHA512 
f0ba61c48807de90ec1dde5100b735f7fe0fb8168895d99ee77cbbfe741bae77e0495bf60f719d6cda65d6403c011c9bb15e6057e717afc4051cfdd7e514ddf9
 DIST txredisapi-1.4.9.gh.tar.gz 54484 BLAKE2B 
faf66eecd51f007dae03d34a6fab8c204b01b44d4967281dbf52fce1d3dd0dbf261e0901902cd3484c8edb951d7b318266f7a72e04eee9c55ca1684e12bc2a7f
 SHA512 
b471bd6cbb7c01f5e1a87e1fc45cc6daf7ed08e0e4168e641e4b1b16a92481d0643eafed22efa9d0dbd807dab46359b570176d97a03673987f4a04930e231fdd

diff --git a/dev-python/txredisapi/txredisapi-1.4.10.ebuild 
b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
new file mode 100644
index 000000000000..0f42671db075
--- /dev/null
+++ b/dev-python/txredisapi/txredisapi-1.4.10.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..12} )
+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 ~ppc64"
+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
+}

Reply via email to