dev-python/gmpy: Enable py3.8, fix tests
authorMichał Górny <mgorny@gentoo.org>
Fri, 22 Nov 2019 08:33:32 +0000 (09:33 +0100)
committerMichał Górny <mgorny@gentoo.org>
Fri, 22 Nov 2019 08:40:45 +0000 (09:40 +0100)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
dev-python/gmpy/gmpy-2.0.8.ebuild

index 2538dfd438f40702b0bbf2715047f38be3f925a4..f4e4508c5246285650a1b08f1ef960a678b579de 100644 (file)
@@ -3,7 +3,7 @@
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} )
 
 inherit distutils-r1
 
@@ -13,6 +13,7 @@ MY_P="${MY_PN}-${PV}"
 DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
 HOMEPAGE="https://github.com/aleaxit/gmpy"
 SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.zip"
+S="${WORKDIR}"/${MY_P}
 
 LICENSE="LGPL-2.1"
 SLOT="2"
@@ -26,24 +27,31 @@ RDEPEND="
        mpir? ( sci-libs/mpir:= )"
 DEPEND="${RDEPEND}
        app-arch/unzip
-       doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}"/${MY_P}
+       doc? ( $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]') )"
 
 PATCHES=(
        "${FILESDIR}"/${P}-fix-mpir-types.patch
+       "${FILESDIR}"/gmpy-2.0.8-test-exit-status.patch
 )
 
+python_check_deps() {
+       use doc || return 0
+       has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
 python_prepare_all() {
+       distutils-r1_python_prepare_all
+
        # rm non std test file
        rm test*/gmpy_test_thr.py || die
-       distutils-r1_python_prepare_all
+       # testing for contents of __dir__ is really silly, and fails
+       sed -i -e '/__dir__/,+1d' test3/*.py || die
 }
 
 python_configure_all() {
        mydistutilsargs=(
                $(usex mpir --mpir --gmp)
-               )
+       )
 }
 
 python_compile() {
@@ -57,13 +65,13 @@ python_compile_all() {
 
 python_test() {
        cd test || die
-       "${PYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
+       "${EPYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
        if python_is_python3; then
                cd ../test3 || die
        else
                cd ../test2 || die
        fi
-       "${PYTHON}" gmpy_test.py || die "tests failed under ${EPYTHON}"
+       "${EPYTHON}" gmpy_test.py || die "tests failed under ${EPYTHON}"
 }
 
 python_install_all() {