From ad1aaaf223c6a45db1df030819fc8f2e57bcf754 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 15 Nov 2019 08:58:51 +0100 Subject: [PATCH] dev-python/setuptools: Enable Python 3.8 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Enable Python 3.8 as needed to start bootstrapping it everywhere. For now, without test deps since they cause many blockers in keywording process. However, when test deps are built without testing, setuptools' tests just pass. Signed-off-by: Michał Górny --- .../setuptools/setuptools-41.5.1.ebuild | 27 ++++++++++++++----- dev-python/setuptools/setuptools-9999.ebuild | 2 +- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/dev-python/setuptools/setuptools-41.5.1.ebuild b/dev-python/setuptools/setuptools-41.5.1.ebuild index 69da3de1a382..ff4a7aa54630 100644 --- a/dev-python/setuptools/setuptools-41.5.1.ebuild +++ b/dev-python/setuptools/setuptools-41.5.1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy{,3} ) +PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 @@ -25,15 +25,19 @@ RESTRICT="!test? ( test )" RDEPEND=" " +# Temporary hack to avoid py38 keywording hell. Please remove when +# the test deps all have py38. Also setuptools' test pass with py38, +# so you need to hack them all in locally before bumping and test. +TEST_USEDEP=$(python_gen_usedep python2_7 python3_{5,6,7} pypy{,3}) DEPEND="${RDEPEND} app-arch/unzip test? ( - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pip[${PYTHON_USEDEP}] - >=dev-python/pytest-3.7.0[${PYTHON_USEDEP}] - dev-python/pytest-fixture-config[${PYTHON_USEDEP}] - dev-python/pytest-virtualenv[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] + dev-python/mock[${TEST_USEDEP}] + dev-python/pip[${TEST_USEDEP}] + >=dev-python/pytest-3.7.0[${TEST_USEDEP}] + dev-python/pytest-fixture-config[${TEST_USEDEP}] + dev-python/pytest-virtualenv[${TEST_USEDEP}] + dev-python/wheel[${TEST_USEDEP}] virtual/python-futures[${PYTHON_USEDEP}] ) " @@ -61,6 +65,15 @@ python_prepare_all() { } python_test() { + if [[ ${EPYTHON} == python3.8 ]]; then + if [[ ${PV} != 41.5.1 ]]; then + eerror "Please disable py38 hacks and test locally, then update this." + die "Python 3.8 support untested for ${PV}" + fi + einfo "Skipping testing on ${EPYTHON} due to unkeyworded deps" + return + fi + # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg # It tries to sandbox the test in a tempdir HOME="${PWD}" pytest -vv ${PN} || die "Tests failed under ${EPYTHON}" diff --git a/dev-python/setuptools/setuptools-9999.ebuild b/dev-python/setuptools/setuptools-9999.ebuild index 69da3de1a382..8d522c4213f5 100644 --- a/dev-python/setuptools/setuptools-9999.ebuild +++ b/dev-python/setuptools/setuptools-9999.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy{,3} ) +PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 -- 2.26.2