diff options
author | Pacho Ramos <pacho@gentoo.org> | 2020-01-19 20:48:27 +0100 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2020-01-19 20:54:11 +0100 |
commit | b4aec8ba0d4cce0ec3f22c735ba4d0c2d0f42087 (patch) | |
tree | e5498fef611cc6b0a6fb5328bf59e467713382a6 /dev-python/pandas | |
parent | (cat_pn): Sync PYTHON_COMPAT (diff) | |
download | gentoo-b4aec8ba0d4cce0ec3f22c735ba4d0c2d0f42087.tar.gz gentoo-b4aec8ba0d4cce0ec3f22c735ba4d0c2d0f42087.tar.bz2 gentoo-b4aec8ba0d4cce0ec3f22c735ba4d0c2d0f42087.zip |
(cat_pn): Drop old
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
Diffstat (limited to 'dev-python/pandas')
-rw-r--r-- | dev-python/pandas/Manifest | 2 | ||||
-rw-r--r-- | dev-python/pandas/files/pandas-0.19.1-gapi.patch | 27 | ||||
-rw-r--r-- | dev-python/pandas/files/pandas-0.19.1-seqf.patch | 357 | ||||
-rw-r--r-- | dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch | 24 | ||||
-rw-r--r-- | dev-python/pandas/pandas-0.19.1.ebuild | 159 | ||||
-rw-r--r-- | dev-python/pandas/pandas-0.23.4.ebuild | 169 |
6 files changed, 0 insertions, 738 deletions
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest index c5268587c923..979d04182ba1 100644 --- a/dev-python/pandas/Manifest +++ b/dev-python/pandas/Manifest @@ -1,3 +1 @@ -DIST pandas-0.19.1.tar.gz 8360233 BLAKE2B 82611ca1a3e3169ac2d084f4dcd9c4d4d74e9e9c9913a41acad48ae68a208a884dfd877445a7d658a7ff098ef383cedae7e79a4900baa8d56c032ce9aaad96eb SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f -DIST pandas-0.23.4.tar.gz 10490077 BLAKE2B 28a78860e0aa5de8def7bb529fc98b9121a516b7fd7620e31e000ae14217165e6677ce26b56da0b9c603930ab1304725c644426a135d8f9b2a84921b88f3d23d SHA512 0c89db820a49e0cfb9764e64589ff9af819f9a53c01bd0254cd1b6dbd1e9fd452b2ff7c7330ede7623c7576589113e831a19a57c735562b55f90506df15805b9 DIST pandas-0.24.2.tar.gz 11837693 BLAKE2B 3762e94554a3ae3c803c9a412c5c551c15a9fbf15cb05633f7d1b0ccbfddc646f68f0306666e688a83a4495b0537cea2fec671157f5a63aaa5f9cad6b791261e SHA512 0795c6bb8a47a511853558ea59d371b4540ec175f213cfba4ad2361d6481fea5d3f7074bb4961c32f2f0080a72d7436a9b3706f5cc692074f98d83bfc587fd15 diff --git a/dev-python/pandas/files/pandas-0.19.1-gapi.patch b/dev-python/pandas/files/pandas-0.19.1-gapi.patch deleted file mode 100644 index 7a0456fdacfc..000000000000 --- a/dev-python/pandas/files/pandas-0.19.1-gapi.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1d6dbb41b26a39121ec8c4f19f5da78bb0ab4af7 Mon Sep 17 00:00:00 2001 -From: Jeff Reback <jeff@reback.net> -Date: Sat, 12 Nov 2016 12:44:06 -0500 -Subject: [PATCH] TST: skip test_gbq.test_upload_data_if_table_exists_replace - for now - ---- - pandas/io/tests/test_gbq.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/pandas/io/tests/test_gbq.py b/pandas/io/tests/test_gbq.py -index cca1580b8..f6ff35a6d 100644 ---- a/pandas/io/tests/test_gbq.py -+++ b/pandas/io/tests/test_gbq.py -@@ -824,6 +824,9 @@ class TestToGBQIntegration(tm.TestCase): - private_key=_get_private_key_path()) - - def test_upload_data_if_table_exists_replace(self): -+ -+ raise nose.SkipTest("buggy test") -+ - destination_table = DESTINATION_TABLE + "4" - - test_size = 10 --- -2.11.0 - diff --git a/dev-python/pandas/files/pandas-0.19.1-seqf.patch b/dev-python/pandas/files/pandas-0.19.1-seqf.patch deleted file mode 100644 index c82c14ff8fdd..000000000000 --- a/dev-python/pandas/files/pandas-0.19.1-seqf.patch +++ /dev/null @@ -1,357 +0,0 @@ -From f8bd08e9c2fc6365980f41b846bbae4b40f08b83 Mon Sep 17 00:00:00 2001 -From: Jeff Reback <jeff@reback.net> -Date: Sat, 12 Nov 2016 10:58:54 -0500 -Subject: [PATCH] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace - when timezones are present - -closes #14621 - -Author: Jeff Reback <jeff@reback.net> - -Closes #14631 from jreback/replace and squashes the following commits: - -3f95042 [Jeff Reback] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace when timezones are present ---- - ci/requirements-3.5_OSX.pip | 2 +- - doc/source/whatsnew/v0.19.2.txt | 3 ++ - pandas/tseries/offsets.py | 1 + - pandas/tseries/tests/test_offsets.py | 20 ++++--- - pandas/tseries/tests/test_timezones.py | 89 +++++++++++++++++++++++++++++-- - pandas/tseries/tests/test_tslib.py | 5 +- - pandas/tslib.pyx | 95 ++++++++++++++++++++++++++++------ - 7 files changed, 188 insertions(+), 27 deletions(-) - -diff --git a/pandas/tseries/offsets.py b/pandas/tseries/offsets.py -index 051cc8aa4..2e3852a7e 100644 ---- a/pandas/tseries/offsets.py -+++ b/pandas/tseries/offsets.py -@@ -68,6 +68,7 @@ def apply_wraps(func): - other = other.tz_localize(None) - - result = func(self, other) -+ - if self._adjust_dst: - result = tslib._localize_pydatetime(result, tz) - -diff --git a/pandas/tseries/tests/test_offsets.py b/pandas/tseries/tests/test_offsets.py -index 1735ac4e2..768e9212e 100644 ---- a/pandas/tseries/tests/test_offsets.py -+++ b/pandas/tseries/tests/test_offsets.py -@@ -1,4 +1,5 @@ - import os -+from distutils.version import LooseVersion - from datetime import date, datetime, timedelta - from dateutil.relativedelta import relativedelta - from pandas.compat import range, iteritems -@@ -4851,6 +4852,7 @@ class TestDST(tm.TestCase): - - def _test_offset(self, offset_name, offset_n, tstart, expected_utc_offset): - offset = DateOffset(**{offset_name: offset_n}) -+ - t = tstart + offset - if expected_utc_offset is not None: - self.assertTrue(get_utc_offset_hours(t) == expected_utc_offset) -@@ -4890,17 +4892,23 @@ class TestDST(tm.TestCase): - return Timestamp(string + offset_string).tz_convert(tz) - - def test_fallback_plural(self): -- """test moving from daylight savings to standard time""" -+ # test moving from daylight savings to standard time -+ import dateutil - for tz, utc_offsets in self.timezone_utc_offsets.items(): - hrs_pre = utc_offsets['utc_offset_daylight'] - hrs_post = utc_offsets['utc_offset_standard'] -- self._test_all_offsets( -- n=3, tstart=self._make_timestamp(self.ts_pre_fallback, -- hrs_pre, tz), -- expected_utc_offset=hrs_post) -+ -+ if dateutil.__version__ != LooseVersion('2.6.0'): -+ # buggy ambiguous behavior in 2.6.0 -+ # GH 14621 -+ # https://github.com/dateutil/dateutil/issues/321 -+ self._test_all_offsets( -+ n=3, tstart=self._make_timestamp(self.ts_pre_fallback, -+ hrs_pre, tz), -+ expected_utc_offset=hrs_post) - - def test_springforward_plural(self): -- """test moving from standard to daylight savings""" -+ # test moving from standard to daylight savings - for tz, utc_offsets in self.timezone_utc_offsets.items(): - hrs_pre = utc_offsets['utc_offset_standard'] - hrs_post = utc_offsets['utc_offset_daylight'] -diff --git a/pandas/tseries/tests/test_timezones.py b/pandas/tseries/tests/test_timezones.py -index 00e8ee631..db8cda5c7 100644 ---- a/pandas/tseries/tests/test_timezones.py -+++ b/pandas/tseries/tests/test_timezones.py -@@ -4,7 +4,7 @@ import nose - - import numpy as np - import pytz -- -+from distutils.version import LooseVersion - from pandas.types.dtypes import DatetimeTZDtype - from pandas import (Index, Series, DataFrame, isnull, Timestamp) - -@@ -518,8 +518,12 @@ class TestTimeZoneSupportPytz(tm.TestCase): - - times = date_range("2013-10-26 23:00", "2013-10-27 01:00", freq="H", - tz=tz, ambiguous='infer') -- self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz)) -- self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz)) -+ self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz, -+ freq="H")) -+ if dateutil.__version__ != LooseVersion('2.6.0'): -+ # GH 14621 -+ self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz, -+ freq="H")) - - def test_ambiguous_nat(self): - tz = self.tz('US/Eastern') -@@ -1163,6 +1167,85 @@ class TestTimeZones(tm.TestCase): - def setUp(self): - tm._skip_if_no_pytz() - -+ def test_replace(self): -+ # GH 14621 -+ # GH 7825 -+ # replacing datetime components with and w/o presence of a timezone -+ dt = Timestamp('2016-01-01 09:00:00') -+ result = dt.replace(hour=0) -+ expected = Timestamp('2016-01-01 00:00:00') -+ self.assertEqual(result, expected) -+ -+ for tz in self.timezones: -+ dt = Timestamp('2016-01-01 09:00:00', tz=tz) -+ result = dt.replace(hour=0) -+ expected = Timestamp('2016-01-01 00:00:00', tz=tz) -+ self.assertEqual(result, expected) -+ -+ # we preserve nanoseconds -+ dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz) -+ result = dt.replace(hour=0) -+ expected = Timestamp('2016-01-01 00:00:00.000000123', tz=tz) -+ self.assertEqual(result, expected) -+ -+ # test all -+ dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz) -+ result = dt.replace(year=2015, month=2, day=2, hour=0, minute=5, -+ second=5, microsecond=5, nanosecond=5) -+ expected = Timestamp('2015-02-02 00:05:05.000005005', tz=tz) -+ self.assertEqual(result, expected) -+ -+ # error -+ def f(): -+ dt.replace(foo=5) -+ self.assertRaises(ValueError, f) -+ -+ def f(): -+ dt.replace(hour=0.1) -+ self.assertRaises(ValueError, f) -+ -+ # assert conversion to naive is the same as replacing tzinfo with None -+ dt = Timestamp('2013-11-03 01:59:59.999999-0400', tz='US/Eastern') -+ self.assertEqual(dt.tz_localize(None), dt.replace(tzinfo=None)) -+ -+ def test_ambiguous_compat(self): -+ # validate that pytz and dateutil are compat for dst -+ # when the transition happens -+ tm._skip_if_no_dateutil() -+ tm._skip_if_no_pytz() -+ -+ pytz_zone = 'Europe/London' -+ dateutil_zone = 'dateutil/Europe/London' -+ result_pytz = (Timestamp('2013-10-27 01:00:00') -+ .tz_localize(pytz_zone, ambiguous=0)) -+ result_dateutil = (Timestamp('2013-10-27 01:00:00') -+ .tz_localize(dateutil_zone, ambiguous=0)) -+ self.assertEqual(result_pytz.value, result_dateutil.value) -+ self.assertEqual(result_pytz.value, 1382835600000000000) -+ -+ # dateutil 2.6 buggy w.r.t. ambiguous=0 -+ if dateutil.__version__ != LooseVersion('2.6.0'): -+ # GH 14621 -+ # https://github.com/dateutil/dateutil/issues/321 -+ self.assertEqual(result_pytz.to_pydatetime().tzname(), -+ result_dateutil.to_pydatetime().tzname()) -+ self.assertEqual(str(result_pytz), str(result_dateutil)) -+ -+ # 1 hour difference -+ result_pytz = (Timestamp('2013-10-27 01:00:00') -+ .tz_localize(pytz_zone, ambiguous=1)) -+ result_dateutil = (Timestamp('2013-10-27 01:00:00') -+ .tz_localize(dateutil_zone, ambiguous=1)) -+ self.assertEqual(result_pytz.value, result_dateutil.value) -+ self.assertEqual(result_pytz.value, 1382832000000000000) -+ -+ # dateutil < 2.6 is buggy w.r.t. ambiguous timezones -+ if dateutil.__version__ > LooseVersion('2.5.3'): -+ # GH 14621 -+ self.assertEqual(str(result_pytz), str(result_dateutil)) -+ self.assertEqual(result_pytz.to_pydatetime().tzname(), -+ result_dateutil.to_pydatetime().tzname()) -+ - def test_index_equals_with_tz(self): - left = date_range('1/1/2011', periods=100, freq='H', tz='utc') - right = date_range('1/1/2011', periods=100, freq='H', tz='US/Eastern') -diff --git a/pandas/tseries/tests/test_tslib.py b/pandas/tseries/tests/test_tslib.py -index 21cfe84f1..b45f867be 100644 ---- a/pandas/tseries/tests/test_tslib.py -+++ b/pandas/tseries/tests/test_tslib.py -@@ -327,8 +327,9 @@ class TestTimestamp(tm.TestCase): - - # dateutil zone change (only matters for repr) - import dateutil -- if dateutil.__version__ >= LooseVersion( -- '2.3') and dateutil.__version__ <= LooseVersion('2.4.0'): -+ if (dateutil.__version__ >= LooseVersion('2.3') and -+ (dateutil.__version__ <= LooseVersion('2.4.0') or -+ dateutil.__version__ >= LooseVersion('2.6.0'))): - timezones = ['UTC', 'Asia/Tokyo', 'US/Eastern', - 'dateutil/US/Pacific'] - else: -diff --git a/pandas/tslib.pyx b/pandas/tslib.pyx -index d4eaaa0b5..685de214c 100644 ---- a/pandas/tslib.pyx -+++ b/pandas/tslib.pyx -@@ -98,6 +98,7 @@ except NameError: # py3 - cdef inline object create_timestamp_from_ts( - int64_t value, pandas_datetimestruct dts, - object tz, object freq): -+ """ convenience routine to construct a Timestamp from its parts """ - cdef _Timestamp ts_base - ts_base = _Timestamp.__new__(Timestamp, dts.year, dts.month, - dts.day, dts.hour, dts.min, -@@ -112,6 +113,7 @@ cdef inline object create_timestamp_from_ts( - cdef inline object create_datetime_from_ts( - int64_t value, pandas_datetimestruct dts, - object tz, object freq): -+ """ convenience routine to construct a datetime.datetime from its parts """ - return datetime(dts.year, dts.month, dts.day, dts.hour, - dts.min, dts.sec, dts.us, tz) - -@@ -378,7 +380,6 @@ class Timestamp(_Timestamp): - # Mixing pydatetime positional and keyword arguments is forbidden! - - cdef _TSObject ts -- cdef _Timestamp ts_base - - if offset is not None: - # deprecate offset kwd in 0.19.0, GH13593 -@@ -412,17 +413,7 @@ class Timestamp(_Timestamp): - from pandas.tseries.frequencies import to_offset - freq = to_offset(freq) - -- # make datetime happy -- ts_base = _Timestamp.__new__(cls, ts.dts.year, ts.dts.month, -- ts.dts.day, ts.dts.hour, ts.dts.min, -- ts.dts.sec, ts.dts.us, ts.tzinfo) -- -- # fill out rest of data -- ts_base.value = ts.value -- ts_base.freq = freq -- ts_base.nanosecond = ts.dts.ps / 1000 -- -- return ts_base -+ return create_timestamp_from_ts(ts.value, ts.dts, ts.tzinfo, freq) - - def _round(self, freq, rounder): - -@@ -660,8 +651,80 @@ class Timestamp(_Timestamp): - astimezone = tz_convert - - def replace(self, **kwds): -- return Timestamp(datetime.replace(self, **kwds), -- freq=self.freq) -+ """ -+ implements datetime.replace, handles nanoseconds -+ -+ Parameters -+ ---------- -+ kwargs: key-value dict -+ -+ accepted keywords are: -+ year, month, day, hour, minute, second, microsecond, nanosecond, tzinfo -+ -+ values must be integer, or for tzinfo, a tz-convertible -+ -+ Returns -+ ------- -+ Timestamp with fields replaced -+ """ -+ -+ cdef: -+ pandas_datetimestruct dts -+ int64_t value -+ object tzinfo, result, k, v -+ _TSObject ts -+ -+ # set to naive if needed -+ tzinfo = self.tzinfo -+ value = self.value -+ if tzinfo is not None: -+ value = tz_convert_single(value, 'UTC', tzinfo) -+ -+ # setup components -+ pandas_datetime_to_datetimestruct(value, PANDAS_FR_ns, &dts) -+ dts.ps = self.nanosecond * 1000 -+ -+ # replace -+ def validate(k, v): -+ """ validate integers """ -+ if not isinstance(v, int): -+ raise ValueError("value must be an integer, received {v} for {k}".format(v=type(v), k=k)) -+ return v -+ -+ for k, v in kwds.items(): -+ if k == 'year': -+ dts.year = validate(k, v) -+ elif k == 'month': -+ dts.month = validate(k, v) -+ elif k == 'day': -+ dts.day = validate(k, v) -+ elif k == 'hour': -+ dts.hour = validate(k, v) -+ elif k == 'minute': -+ dts.min = validate(k, v) -+ elif k == 'second': -+ dts.sec = validate(k, v) -+ elif k == 'microsecond': -+ dts.us = validate(k, v) -+ elif k == 'nanosecond': -+ dts.ps = validate(k, v) * 1000 -+ elif k == 'tzinfo': -+ tzinfo = v -+ else: -+ raise ValueError("invalid name {} passed".format(k)) -+ -+ # reconstruct & check bounds -+ value = pandas_datetimestruct_to_datetime(PANDAS_FR_ns, &dts) -+ if value != NPY_NAT: -+ _check_dts_bounds(&dts) -+ -+ # set tz if needed -+ if tzinfo is not None: -+ value = tz_convert_single(value, tzinfo, 'UTC') -+ -+ result = create_timestamp_from_ts(value, dts, tzinfo, self.freq) -+ -+ return result - - def isoformat(self, sep='T'): - base = super(_Timestamp, self).isoformat(sep=sep) -@@ -5041,7 +5104,9 @@ cpdef normalize_date(object dt): - ------- - normalized : datetime.datetime or Timestamp - """ -- if PyDateTime_Check(dt): -+ if is_timestamp(dt): -+ return dt.replace(hour=0, minute=0, second=0, microsecond=0, nanosecond=0) -+ elif PyDateTime_Check(dt): - return dt.replace(hour=0, minute=0, second=0, microsecond=0) - elif PyDate_Check(dt): - return datetime(dt.year, dt.month, dt.day) --- -2.11.0 - diff --git a/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch b/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch deleted file mode 100644 index aa98b80c2c70..000000000000 --- a/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/pandas/tests/io/formats/test_format.py b/pandas/tests/io/formats/test_format.py -index 191e3f37f..8a1d89197 100644 ---- a/pandas/tests/io/formats/test_format.py -+++ b/pandas/tests/io/formats/test_format.py -@@ -1585,6 +1585,7 @@ c 10 11 12 13 14\ - with option_context('display.max_rows', 60, 'display.max_columns', 20): - assert '...' in df._repr_html_() - -+ @pytest.mark.skip("Fails in Gentoo") - def test_info_repr(self): - max_rows = 60 - max_cols = 20 -diff --git a/pandas/tests/io/json/test_ujson.py b/pandas/tests/io/json/test_ujson.py -index 89acbfdc9..9c4b5c291 100644 ---- a/pandas/tests/io/json/test_ujson.py -+++ b/pandas/tests/io/json/test_ujson.py -@@ -1097,6 +1097,7 @@ class TestNumpyJSONTests(object): - outp = ujson.decode(ujson.encode(arr), numpy=True, dtype=np.float32) - tm.assert_almost_equal(arr, outp) - -+ @pytest.mark.skip("Fails on Gentoo") - def test_OdArray(self): - def will_raise(): - ujson.encode(np.array(1)) diff --git a/dev-python/pandas/pandas-0.19.1.ebuild b/dev-python/pandas/pandas-0.19.1.ebuild deleted file mode 100644 index c4c2ef5163e8..000000000000 --- a/dev-python/pandas/pandas-0.19.1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -PYTHON_COMPAT=( python3_6 ) -PYTHON_REQ_USE="threads(+)" - -VIRTUALX_REQUIRED="manual" - -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" - -SLOT="0" -LICENSE="BSD" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" -IUSE="doc -minimal full-support test X" -RESTRICT="!test? ( test )" - -MINIMAL_DEPEND=" - >dev-python/numpy-1.7[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - !<dev-python/numexpr-2.1[${PYTHON_USEDEP}] - !~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]" -RECOMMENDED_DEPEND=" - dev-python/bottleneck[${PYTHON_USEDEP}] - >=dev-python/numexpr-2.1[${PYTHON_USEDEP}]" -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/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}] - >=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}] - dev-python/xlrd[${PYTHON_USEDEP}] - dev-python/xlwt[${PYTHON_USEDEP}] - sci-libs/scipy[${PYTHON_USEDEP}] - X? ( - || ( - x11-misc/xclip - x11-misc/xsel - ) - ) - " - -DEPEND="${MINIMAL_DEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cython-0.19.1[${PYTHON_USEDEP}] - doc? ( - ${VIRTUALX_DEPEND} - dev-python/beautifulsoup:4[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/ipython[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/matplotlib[${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/xlrd[${PYTHON_USEDEP}] - dev-python/xlwt[${PYTHON_USEDEP}] - sci-libs/scipy[${PYTHON_USEDEP}] - x11-misc/xclip - ) - test? ( - ${VIRTUALX_DEPEND} - ${RECOMMENDED_DEPEND} - ${OPTIONAL_DEPEND} - dev-python/beautifulsoup:4[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - dev-python/pymysql[${PYTHON_USEDEP}] - dev-python/psycopg:2[${PYTHON_USEDEP}] - x11-misc/xclip - x11-misc/xsel - )" -# dev-python/statsmodels invokes a circular dep -# hence rm from doc? ( ), again -RDEPEND=" - ${MINIMAL_DEPEND} - !minimal? ( ${RECOMMENDED_DEPEND} ) - full-support? ( ${OPTIONAL_DEPEND} )" - -PATCHES=( - "${FILESDIR}"/${P}-gapi.patch - "${FILESDIR}"/${P}-seqf.patch -) - -python_prepare_all() { - # Prevent un-needed download during build - 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/io/tests/json/test_ujson.py || die - - distutils-r1_python_prepare_all -} - -python_compile_all() { - # To build docs the need be located in $BUILD_DIR, - # else PYTHONPATH points to unusable modules. - if use doc; then - cd "${BUILD_DIR}"/lib || die - cp -ar "${S}"/doc . && cd doc || die - LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html - fi -} - -python_test() { - local test_pandas='not network and not disabled' - [[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow' - pushd "${BUILD_DIR}"/lib > /dev/null - "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die - PYTHONPATH=. MPLCONFIGDIR=. \ - virtx nosetests --verbosity=3 -A "${test_pandas}" pandas - popd > /dev/null -} - -python_install_all() { - if use doc; then - dodoc -r "${BUILD_DIR}"/lib/doc/build/html - einfo "An initial build of docs is absent of references to statsmodels" - einfo "due to circular dependency. To have them included, emerge" - einfo "statsmodels next and re-emerge pandas with USE doc" - fi - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck - 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 "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 - optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1" - optfeature "R I/O support" dev-python/rpy - optfeature "Needed for parts of pandas.stats" dev-python/statsmodels - optfeature "SQL database support" ">=dev-python/sqlalchemy-0.8.1" - optfeature "miscellaneous statistical functions" sci-libs/scipy - optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pygtk x11-misc/xclip x11-misc/xsel -} diff --git a/dev-python/pandas/pandas-0.23.4.ebuild b/dev-python/pandas/pandas-0.23.4.ebuild deleted file mode 100644 index d8ac3018bf48..000000000000 --- a/dev-python/pandas/pandas-0.23.4.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_6 ) -PYTHON_REQ_USE="threads(+)" - -VIRTUALX_REQUIRED="manual" - -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" - -SLOT="0" -LICENSE="BSD" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="doc full-support minimal test X" -RESTRICT="!test? ( test )" - -RECOMMENDED_DEPEND=" - >=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}] - >=dev-python/numexpr-2.1[${PYTHON_USEDEP}] -" -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/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}] - >=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}] - >=dev-python/xarray-0.10.8[${PYTHON_USEDEP}] - dev-python/xlrd[${PYTHON_USEDEP}] - dev-python/xlwt[${PYTHON_USEDEP}] - sci-libs/scipy[${PYTHON_USEDEP}] - X? ( - || ( - 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/pytz[${PYTHON_USEDEP}] -" -DEPEND="${COMMON_DEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cython-0.23[${PYTHON_USEDEP}] - doc? ( - ${VIRTUALX_DEPEND} - app-text/pandoc - dev-python/beautifulsoup:4[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/ipython[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - dev-python/nbsphinx[${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/xlrd[${PYTHON_USEDEP}] - dev-python/xlwt[${PYTHON_USEDEP}] - sci-libs/scipy[${PYTHON_USEDEP}] - x11-misc/xclip - ) - test? ( - ${VIRTUALX_DEPEND} - ${RECOMMENDED_DEPEND} - ${OPTIONAL_DEPEND} - dev-python/beautifulsoup:4[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - dev-python/pymysql[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/psycopg:2[${PYTHON_USEDEP}] - x11-misc/xclip - x11-misc/xsel - ) -" -# 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} ) -" - -S="${WORKDIR}/${P/_/}" - -PATCHES=( - "${FILESDIR}/${PN}-0.23.4-skip-broken-test.patch" -) - -python_prepare_all() { - # Prevent un-needed download during build - sed -e "/^ 'sphinx.ext.intersphinx',/d" \ - -i doc/source/conf.py || die - - distutils-r1_python_prepare_all -} - -python_compile_all() { - # To build docs the need be located in $BUILD_DIR, - # else PYTHONPATH points to unusable modules. - if use doc; then - cd "${BUILD_DIR}"/lib || die - cp -ar "${S}"/doc . && cd doc || die - LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html - fi -} - -python_test() { - pushd "${BUILD_DIR}"/lib > /dev/null - "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die - PYTHONPATH=. virtx pytest pandas -v --skip-slow --skip-network \ - -m "not single" - popd > /dev/null -} - -python_install_all() { - if use doc; then - dodoc -r "${BUILD_DIR}"/lib/doc/build/html - einfo "An initial build of docs is absent of references to statsmodels" - einfo "due to circular dependency. To have them included, emerge" - einfo "statsmodels next and re-emerge pandas with USE doc" - fi - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck - 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 "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 - optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1" - optfeature "R I/O support" dev-python/rpy - optfeature "Needed for parts of pandas.stats" dev-python/statsmodels - optfeature "SQL database support" ">=dev-python/sqlalchemy-0.8.1" - optfeature "miscellaneous statistical functions" sci-libs/scipy - optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel -} |