guru/dev-python/asyncmy/asyncmy-0.2.8.ebuild
Anna (cybertailor) Vyalkova bb0aae8ad3
*/*: disable py3.10
Python 3.10 target is scheduled for removal in Gentoo:
https://public-inbox.gentoo.org/gentoo-dev/e6ca9f1f4ababb79ab2a3d005c39b483c3ecef6e.camel@gentoo.org/

Sphinx 8.2.0 already dropped support for CPython 3.10 and PyPy 3.10,
leading to multiple CI failures in ::guru.

We can safely remove this target, because GURU is "experimental" and
does not have stable keywords.

Let's not remove "pypy3" right now because
a) There are not many packages using it.
b) So we can see which packages supported PyPy 3.10, and test them with
   PyPy 3.11.

Closes: https://github.com/gentoo/guru/pull/291
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
2025-02-21 17:51:14 +05:00

75 lines
1.5 KiB
Bash

# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..12} )
PYTHON_REQ_USE="ssl"
DISTUTILS_USE_PEP517=poetry
DISTUTILS_EXT=1
inherit databases distutils-r1 optfeature
DESCRIPTION="A fast asyncio MySQL driver"
HOMEPAGE="
https://pypi.org/project/asyncmy/
https://github.com/long2ice/asyncmy
"
SRC_URI="https://github.com/long2ice/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
TEST_S="${S}_test"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
${DATABASES_DEPEND[mysql]}
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_unpack() {
default
cp -a "${S}" "${TEST_S}" || die
rm -r "${TEST_S}"/asyncmy || die
}
src_test() {
emysql --start
local sockfile=$(emysql --get-sockfile)
local myargs=(
--user=root
--socket="${sockfile}"
--silent
--execute="ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';"
)
ebegin "Changing database password"
mysql "${myargs[@]}"
eend $? || emysql --die "Changing database password failed"
distutils-r1_src_test
emysql --stop
}
python_test() {
cd "${T}" || die
epytest "${TEST_S}"
}
python_install() {
distutils-r1_python_install
find "${ED}"/usr/lib -name '*.md' -delete || die
find "${ED}"/usr/lib -name LICENSE -delete || die
}
pkg_postinst() {
optfeature "sha256_password and caching_sha2_password auth methods" dev-python/cryptography
}