diff options
author | Michał Górny <mgorny@gentoo.org> | 2020-06-13 08:56:11 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2020-06-13 13:14:03 +0200 |
commit | 06643082d2a5a797a31b3013207791b38a14b9c0 (patch) | |
tree | 0f59d4c9453b49fc95901c3ebdf61744b7c179a9 /dev-python/pandas | |
parent | prefix/sunos/solaris/package: drop obsoleted mask (diff) | |
download | gentoo-06643082d2a5a797a31b3013207791b38a14b9c0.tar.gz gentoo-06643082d2a5a797a31b3013207791b38a14b9c0.tar.bz2 gentoo-06643082d2a5a797a31b3013207791b38a14b9c0.zip |
dev-python/pandas: Port to py3.8
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pandas')
-rw-r--r-- | dev-python/pandas/pandas-1.0.4.ebuild | 37 | ||||
-rw-r--r-- | dev-python/pandas/pandas-9999.ebuild | 68 |
2 files changed, 64 insertions, 41 deletions
diff --git a/dev-python/pandas/pandas-1.0.4.ebuild b/dev-python/pandas/pandas-1.0.4.ebuild index c2bd75a1183a..32373ba115aa 100644 --- a/dev-python/pandas/pandas-1.0.4.ebuild +++ b/dev-python/pandas/pandas-1.0.4.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{6..8} ) PYTHON_REQ_USE="threads(+)" VIRTUALX_REQUIRED="manual" @@ -14,6 +14,7 @@ inherit distutils-r1 eutils flag-o-matic virtualx DESCRIPTION="Powerful data structures for data analysis and statistics" HOMEPAGE="https://pandas.pydata.org/" SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz" +S="${WORKDIR}/${P/_/}" SLOT="0" LICENSE="BSD" @@ -41,10 +42,12 @@ OPTIONAL_DEPEND=" dev-python/xlsxwriter[${PYTHON_USEDEP}] ) >=dev-python/pytables-3.2.1[${PYTHON_USEDEP}] - dev-python/s3fs[${PYTHON_USEDEP}] - dev-python/statsmodels[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/s3fs[${PYTHON_USEDEP}] + dev-python/statsmodels[${PYTHON_USEDEP}] + >=dev-python/xarray-0.10.8[${PYTHON_USEDEP}] + ' python3_{6,7}) >=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}] - >=dev-python/xarray-0.10.8[${PYTHON_USEDEP}] >=dev-python/xlrd-1.0.0[${PYTHON_USEDEP}] dev-python/xlwt[${PYTHON_USEDEP}] >=sci-libs/scipy-1.1[${PYTHON_USEDEP}] @@ -106,13 +109,19 @@ RDEPEND="${COMMON_DEPEND} full-support? ( ${OPTIONAL_DEPEND} ) " -S="${WORKDIR}/${P/_/}" - python_prepare_all() { # Prevent un-needed download during build sed -e "/^ 'sphinx.ext.intersphinx',/d" \ -i doc/source/conf.py || die + # requires package installed + sed -e 's:test_register_entrypoint:_&:' \ + -i pandas/tests/plotting/test_backend.py || die + + # temporary mask to remove cycle on s3fs + sed -e 's:test_pickle_s3url_roundtrip:_&:' \ + -i pandas/tests/io/test_pickle.py || die + distutils-r1_python_prepare_all } @@ -126,13 +135,19 @@ python_compile_all() { fi } +src_test() { + virtx distutils-r1_src_test +} + python_test() { - pushd "${BUILD_DIR}"/lib > /dev/null + local -x LC_ALL=C.UTF-8 + pushd "${BUILD_DIR}"/lib > /dev/null || die "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die - PYTHONPATH=. virtx pytest pandas -v --skip-slow --skip-network \ - -m "not single" - find . -name .pytest_cache -exec rm -r {} + || die - popd > /dev/null + PYTHONPATH=. pytest pandas -v --skip-slow --skip-network \ + -m "not single" || die "Tests failed with ${EPYTHON}" + find . '(' -name .pytest_cache -o -name .hypothesis ')' \ + -exec rm -r {} + || die + popd > /dev/null || die } python_install_all() { diff --git a/dev-python/pandas/pandas-9999.ebuild b/dev-python/pandas/pandas-9999.ebuild index e597cacdc2c8..40d0c8aa908c 100644 --- a/dev-python/pandas/pandas-9999.ebuild +++ b/dev-python/pandas/pandas-9999.ebuild @@ -1,12 +1,13 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{6..8} ) PYTHON_REQ_USE="threads(+)" VIRTUALX_REQUIRED="manual" +DISTUTILS_USE_SETUPTOOLS=rdepend inherit distutils-r1 eutils flag-o-matic git-r3 virtualx @@ -22,49 +23,50 @@ IUSE="doc full-support minimal test X" RESTRICT="!test? ( test )" RECOMMENDED_DEPEND=" - dev-python/bottleneck[${PYTHON_USEDEP}] + >=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}] >=dev-python/numexpr-2.1[${PYTHON_USEDEP}] " + +# TODO: add pandas-gbq to the tree OPTIONAL_DEPEND=" dev-python/beautifulsoup:4[${PYTHON_USEDEP}] dev-python/blosc[${PYTHON_USEDEP}] - dev-python/boto[${PYTHON_USEDEP}] || ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] ) - dev-python/httplib2[${PYTHON_USEDEP}] dev-python/jinja[${PYTHON_USEDEP}] dev-python/matplotlib[${PYTHON_USEDEP}] || ( - >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] + dev-python/openpyxl[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] ) >=dev-python/pytables-3.2.1[${PYTHON_USEDEP}] - dev-python/rpy[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/statsmodels[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/s3fs[${PYTHON_USEDEP}] + dev-python/statsmodels[${PYTHON_USEDEP}] + >=dev-python/xarray-0.10.8[${PYTHON_USEDEP}] + ' python3_{6,7}) >=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}] - dev-python/xarray[${PYTHON_USEDEP}] - dev-python/xlrd[${PYTHON_USEDEP}] + >=dev-python/xlrd-1.0.0[${PYTHON_USEDEP}] dev-python/xlwt[${PYTHON_USEDEP}] - sci-libs/scipy[${PYTHON_USEDEP}] + >=sci-libs/scipy-1.1[${PYTHON_USEDEP}] X? ( - dev-python/PyQt5[${PYTHON_USEDEP}] || ( + dev-python/PyQt5[${PYTHON_USEDEP}] x11-misc/xclip x11-misc/xsel ) ) " COMMON_DEPEND=" - >dev-python/numpy-1.7[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}] + >dev-python/numpy-1.13.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] dev-python/pytz[${PYTHON_USEDEP}] " DEPEND="${COMMON_DEPEND} dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cython-0.23[${PYTHON_USEDEP}] + dev-python/cython[${PYTHON_USEDEP}] doc? ( ${VIRTUALX_DEPEND} app-text/pandoc @@ -74,11 +76,12 @@ DEPEND="${COMMON_DEPEND} dev-python/lxml[${PYTHON_USEDEP}] dev-python/matplotlib[${PYTHON_USEDEP}] dev-python/nbsphinx[${PYTHON_USEDEP}] + >=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}] >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}] dev-python/pytz[${PYTHON_USEDEP}] dev-python/rpy[${PYTHON_USEDEP}] - >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] dev-python/xlrd[${PYTHON_USEDEP}] dev-python/xlwt[${PYTHON_USEDEP}] sci-libs/scipy[${PYTHON_USEDEP}] @@ -89,8 +92,11 @@ DEPEND="${COMMON_DEPEND} ${RECOMMENDED_DEPEND} ${OPTIONAL_DEPEND} dev-python/beautifulsoup:4[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] dev-python/nose[${PYTHON_USEDEP}] dev-python/pymysql[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] dev-python/psycopg:2[${PYTHON_USEDEP}] x11-misc/xclip x11-misc/xsel @@ -99,8 +105,6 @@ DEPEND="${COMMON_DEPEND} # dev-python/statsmodels invokes a circular dep # hence rm from doc? ( ), again RDEPEND="${COMMON_DEPEND} - !<dev-python/numexpr-2.1[${PYTHON_USEDEP}] - !~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}] !minimal? ( ${RECOMMENDED_DEPEND} ) full-support? ( ${OPTIONAL_DEPEND} ) " @@ -110,9 +114,9 @@ python_prepare_all() { sed -e "/^ 'sphinx.ext.intersphinx',/d" \ -i doc/source/conf.py || die - # https://github.com/pydata/pandas/issues/11299 - sed -e 's:testOdArray:disable:g' \ - -i pandas/tests/io/json/test_ujson.py || die + # requires package installed + sed -e 's:test_register_entrypoint:_&:' \ + -i pandas/tests/plotting/test_backend.py || die distutils-r1_python_prepare_all } @@ -127,14 +131,19 @@ python_compile_all() { fi } +src_test() { + virtx distutils-r1_src_test +} + python_test() { - local test_pandas='not network and not disabled' - [[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow' - pushd "${BUILD_DIR}"/lib > /dev/null + local -x LC_ALL=C.UTF-8 + pushd "${BUILD_DIR}"/lib > /dev/null || die "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die - PYTHONPATH=. MPLCONFIGDIR=. \ - virtx nosetests --verbosity=3 -A "${test_pandas}" pandas - popd > /dev/null + PYTHONPATH=. pytest pandas -v --skip-slow --skip-network \ + -m "not single" || die "Tests failed with ${EPYTHON}" + find . '(' -name .pytest_cache -o -name .hypothesis ')' \ + -exec rm -r {} + || die + popd > /dev/null || die } python_install_all() { @@ -153,8 +162,7 @@ pkg_postinst() { optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1" optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup:4 dev-python/html5lib dev-python/lxml optfeature "for msgpack compression using blosc" dev-python/blosc - optfeature "necessary for Amazon S3 access" dev-python/boto - optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0" + optfeature "necessary for Amazon S3 access" dev-python/s3fs optfeature "Template engine for conditional HTML formatting" dev-python/jinja optfeature "Plotting support" dev-python/matplotlib optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt |