commit: fc61ac5e84e9681d1d68440879f3af81273d03cb Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz> AuthorDate: Sun May 7 22:27:18 2023 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Sun May 28 11:37:18 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc61ac5e
dev-python/txredisapi: new package, add 1.4.9 Bug: https://bugs.gentoo.org/905860 Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz> Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> dev-python/txredisapi/Manifest | 1 + dev-python/txredisapi/metadata.xml | 17 ++++++ dev-python/txredisapi/txredisapi-1.4.9.ebuild | 84 +++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) diff --git a/dev-python/txredisapi/Manifest b/dev-python/txredisapi/Manifest new file mode 100644 index 000000000000..c7939e6e5adb --- /dev/null +++ b/dev-python/txredisapi/Manifest @@ -0,0 +1 @@ +DIST txredisapi-1.4.9.gh.tar.gz 54484 BLAKE2B faf66eecd51f007dae03d34a6fab8c204b01b44d4967281dbf52fce1d3dd0dbf261e0901902cd3484c8edb951d7b318266f7a72e04eee9c55ca1684e12bc2a7f SHA512 b471bd6cbb7c01f5e1a87e1fc45cc6daf7ed08e0e4168e641e4b1b16a92481d0643eafed22efa9d0dbd807dab46359b570176d97a03673987f4a04930e231fdd 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>[email protected]</email> + <name>Petr Vaněk</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>[email protected]</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 +}
