# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( pypy3 python3_{7..9} ) PYTHON_REQ_USE="sqlite?" inherit distutils-r1 multiprocessing optfeature MY_PN="SQLAlchemy" MY_P="${MY_PN}-${PV/_beta/b}" DESCRIPTION="Python SQL toolkit and Object Relational Mapper" HOMEPAGE="https://www.sqlalchemy.org/ https://pypi.org/project/SQLAlchemy/" SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" LICENSE="MIT" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="examples +sqlite test" RDEPEND=" $(python_gen_cond_dep ' dev-python/importlib_metadata[${PYTHON_USEDEP}] ' python3_7 pypy3) " # Use pytest-xdist to speed up tests BDEPEND=" test? ( $(python_gen_impl_dep sqlite) dev-python/pytest-xdist[${PYTHON_USEDEP}] ) " distutils_enable_tests pytest src_prepare() { # remove optional/partial dep on greenlet, greenlet is not very portable sed -i -e '/greenlet/d' setup.cfg || die distutils-r1_src_prepare } python_test() { # Disable tests hardcoding function call counts specific to Python versions. epytest --ignore test/aaa_profiling \ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" } python_install_all() { if use examples; then docompress -x "/usr/share/doc/${PF}/examples" dodoc -r examples fi distutils-r1_python_install_all } pkg_postinst() { optfeature "MySQL support" dev-python/mysqlclient dev-python/pymysql \ dev-python/mysql-connector-python optfeature "mssql support" dev-python/pymssql optfeature "postgresql support" dev-python/psycopg:2 }