diff --git a/.gitignore b/.gitignore index e32a63a..3265350 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /pandas-1.2.4.tar.gz /pandas-1.3.0.tar.gz /pandas-1.3.3.tar.gz +/pandas-1.3.5.tar.gz diff --git a/pandas-1.3.5-pr-46739.patch b/pandas-1.3.5-pr-46739.patch new file mode 100644 index 0000000..ca00d8b --- /dev/null +++ b/pandas-1.3.5-pr-46739.patch @@ -0,0 +1,15 @@ +diff -Naur pandas-1.3.5-original/setup.cfg pandas-1.3.5/setup.cfg +--- pandas-1.3.5-original/setup.cfg 2021-12-12 05:20:48.000000000 -0500 ++++ pandas-1.3.5/setup.cfg 2022-04-11 09:56:11.666164455 -0400 +@@ -46,6 +46,11 @@ + pandas_plotting_backends = + matplotlib = pandas:plotting._matplotlib + ++[options.exclude_package_data] ++* = ++ *.c ++ *.h ++ + [options.extras_require] + test = + hypothesis>=3.58 diff --git a/python-pandas.spec b/python-pandas.spec index f2782c1..2fe1821 100644 --- a/python-pandas.spec +++ b/python-pandas.spec @@ -1,14 +1,44 @@ %global srcname pandas +# Break cycles with optional dependencies +%bcond_with bootstrap Name: python-%{srcname} -Version: 1.3.3 -Release: 3%{?dist} +Version: 1.3.5 +Release: 1%{?dist} Summary: Python library providing high-performance data analysis tools License: BSD URL: https://pandas.pydata.org/ -Source0: %{pypi_source} +Source0: %{pypi_source %{srcname}} + +# Partial backport of upstream commit d437902f46acbff4a03d748b30620bc75fa5ea1f: +# “CI: Migrate Python 3.10 testing to Posix GHA/Azure Pipelines (#45120)” +# +# Fixes error in TestDataFramePlots.test_raise_error_on_datetime_time_data +Patch: pandas-1.3.5-d437902.patch + +# Partial backport of upstream commit 560172832922594fe9e75ca4a6060ff0cb7f7089 +# “CI: Merge database workflow into posix workflow (#45060)” +# +# Fixes error in TestToDatetime.test_to_datetime_tz_psycopg2 +Patch: pandas-1.3.5-5601728.patch + +# Partial backport of upstream commit 2dd75ca5e04a18db9d79d9bed01726b40b6268e9 +# “TST: Ensure tm.network has pytest.mark.network (#45732)” +# +# Fixes error in test_wrong_url[lxml] when the “network” mark is deselected +Patch: pandas-1.3.5-2dd75ca.patch + +# Fix a few test failues on big-endian systems +# https://github.com/pandas-dev/pandas/pull/46681 +# (PR is for main branch; this version of the patch is for 1.3.5) +Patch: pandas-1.3.5-pr-46681.patch + +# Do not install C sources in binary distributions +# https://github.com/pandas-dev/pandas/pull/46739 +# (PR is for main branch; this version of the patch is for 1.3.5) +Patch: pandas-1.3.5-pr-46739.patch %global _description %{expand: pandas is an open source, BSD-licensed library providing @@ -17,49 +47,172 @@ analysis tools for the Python programming language.} %description %_description + %package -n python3-%{srcname} -Summary: Python library providing high-performance data analysis tools +Summary: %{summary} + BuildRequires: gcc BuildRequires: gcc-c++ + BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-matplotlib -BuildRequires: python3-Cython >= 0.29.13 -Requires: python3-pytz -Requires: python3-dateutil -Requires: python3-numpy -Requires: python3-scipy -Requires: python3-tables -Requires: python3-matplotlib -Requires: python3-Bottleneck -Requires: python3-numexpr -%if 0%{?fedora} || 0%{?rhel} > 7 -Recommends: python3-pandas-datareader -Recommends: python3-xlrd -Recommends: python3-xlwt + +# pyproject.toml: [build-system] requires +BuildRequires: python3dist(setuptools) >= 51 +BuildRequires: python3dist(wheel) +BuildRequires: ((python3dist(cython) >= 0.29.24) with (python3dist(cython) < 3)) + +# setup.cfg: [options] install_requires +BuildRequires: python3dist(numpy) >= 1.21 +BuildRequires: python3dist(python-dateutil) >= 2.7.3 +BuildRequires: python3dist(pytz) >= 2017.3 + +# doc/source/getting_started/install.rst “Recommended dependencies” +# Since these provide large speedups, we make them hard dependencies. +BuildRequires: python3dist(numexpr) >= 2.7 +Requires: python3dist(numexpr) >= 2.7 +BuildRequires: python3dist(bottleneck) >= 1.2.1 +Requires: python3dist(bottleneck) >= 1.2.1 + +# doc/source/getting_started/install.rst “Optional dependencies” +# We BR all weak dependencies to ensure they are installable. + +# Visualization +BuildRequires: python3dist(setuptools) >= 38.6 +Recommends: python3dist(setuptools) >= 38.6 +BuildRequires: python3dist(matplotlib) >= 2.2.3 +Recommends: python3dist(matplotlib) >= 2.2.3 +BuildRequires: python3dist(jinja2) >= 2.10 +Recommends: python3dist(jinja2) >= 2.10 +%if %{without bootstrap} +BuildRequires: python3dist(tabulate) >= 0.8.7 +Recommends: python3dist(tabulate) >= 0.8.7 %endif -%{?python_provide:%python_provide python3-%{srcname}} +# Computation +# Documented minimum SciPy version is 1.12, but this is a typo since that +# version does not exist yet. +BuildRequires: python3dist(scipy) +Recommends: python3dist(scipy) +# python-numba is not currently packaged: +# BuildRequires: python3dist(numba) >= 0.46 +# Recommends: python3dist(numba) >= 0.46 +BuildRequires: python3dist(xarray) >= 1.12.3 +Recommends: python3dist(xarray) >= 1.12.3 + +# Excel files +BuildRequires: python3dist(xlrd) >= 1.2 +Recommends: python3dist(xlrd) >= 1.2 +BuildRequires: python3dist(xlwt) >= 1.3 +Recommends: python3dist(xlwt) >= 1.3 +BuildRequires: python3dist(xlsxwriter) >= 1.0.2 +Recommends: python3dist(xlsxwriter) >= 1.0.2 +BuildRequires: python3dist(openpyxl) >= 3 +Recommends: python3dist(openpyxl) >= 3 +# python-pyxlsb is not currently packaged: +# BuildRequires: python3dist(pyxlsb) >= 1.0.6 +# Recommends: python3dist(pyxlsb) >= 1.0.6 + +# HTML +BuildRequires: python3dist(beautifulsoup4) >= 4.6 +Recommends: python3dist(beautifulsoup4) >= 4.6 +BuildRequires: python3dist(html5lib) >= 1.0.1 +Recommends: python3dist(html5lib) >= 1.0.1 +# lxml handled below: + +# XML +BuildRequires: python3dist(lxml) >= 4.3 +Recommends: python3dist(lxml) >= 4.3 + +# SQL databases +BuildRequires: python3dist(sqlalchemy) >= 1.3 +Recommends: python3dist(sqlalchemy) >= 1.3 +BuildRequires: python3dist(psycopg2) >= 2.7 +Recommends: python3dist(psycopg2) >= 2.7 +BuildRequires: python3dist(pymysql) >= 0.8.1 +Recommends: python3dist(pymysql) >= 0.8.1 + +# Other data sources +BuildRequires: python3dist(tables) >= 3.5.1 +Recommends: python3dist(tables) >= 3.5.1 +# Dependencies on blosc and zlib are indirect, via PyTables, so we do not +# encode them here. Note also that the minimum blosc version in the +# documentation seems to be that of the blosc C library, not of the blosc PyPI +# package. +# python-fastparquet is not currently packaged: +# BuildRequires: python3dist(fastparquet) >= 0.4 +# Recommends: python3dist(fastparquet) >= 0.4 +# python-pyarrow is not currently packaged: +# BuildRequires: python3dist(pyarrow) >= 0.17 +# Recommends: python3dist(pyarrow) >= 0.17 +# python-pyreadstat is not currently packaged: +# BuildRequires: python3dist(pyreadstat) +# Recommends: python3dist(pyreadstat) + +# Access data in the cloud +BuildRequires: python3dist(fsspec) >= 0.7.4 +Recommends: python3dist(fsspec) >= 0.7.4 +BuildRequires: python3dist(gcsfs) >= 0.6 +Recommends: python3dist(gcsfs) >= 0.6 +# python-pandas-gbq is not currently packaged: +# BuildRequires: python3dist(pandas-gbq) >= 0.12 +# Recommends: python3dist(pandas-gbq) >= 0.12 +# python-s3fs is not currently packaged: +# BuildRequires: python3dist(s3fs) >= 0.4 +# Recommends: python3dist(s3fs) >= 0.4 + +# Clipboard +BuildRequires: python3dist(pyqt5) +Recommends: python3dist(pyqt5) +BuildRequires: python3dist(qtpy) +Recommends: python3dist(qtpy) +BuildRequires: xclip +Recommends: xclip +BuildRequires: xsel +Recommends: xsel + +# This is just an “ecosystem” package in the upstream documentation, but there +# is an integration test for it. This package historically had a weak +# dependency on it, which we keep around until we package 1.4.0 to ensure +# backward compatibility. +BuildRequires: python3dist(pandas-datareader) +Recommends: python3dist(pandas-datareader) %description -n python3-%{srcname} %_description + %prep %autosetup -n %{srcname}-%{version} -p1 -# Cython is too old in RHEL8.0 -%{!?el8:rm -f $(grep -rl '/\* Generated by Cython')} + +# Ensure Cython-generated sources are re-generated +rm -vf $(grep -rl '/\* Generated by Cython') + +# We just want to build with the numpy in Fedora: +sed -r -i '/\boldest-supported-numpy\b/d' pyproject.toml + %build %py3_build + %install %py3_install + %files -n python3-pandas +%doc README.md %doc RELEASE.md %license LICENSE %{python3_sitearch}/%{srcname}* + %changelog +* Sat Apr 02 2022 Benjamin A. Beasley - 1.3.5-1 +- Update to 1.3.5 +- Drop compatibility with old RHEL releases that will not get this version anyway +- Update weak dependencies from documentation +- Also package README.md +- Do not install C sources + * Fri Jan 21 2022 Fedora Release Engineering - 1.3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 3bad126..cbd8415 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pandas-1.3.3.tar.gz) = a3a871a9954c7249311b9904e588d85fba4d6aa07463308b08b789b93a1eb63e36dac1b0d4254a5379085c05c5633ef31b615d0c60963c796dd7a33d815a5534 +SHA512 (pandas-1.3.5.tar.gz) = cf3f76894cae19784af6393d4a575d114b55621a3d594edd7e95ac6d5c8588a580135789c859c618acfeceeb710d2a1fdd94188a839a90be6b58af929e00a726