File project.diff of Package python-pandas

--- _service.orig
+++ _service
@@ -2,7 +2,7 @@
   <service name="tar_scm" mode="disabled">
     <param name="url">https://github.com/pandas-dev/pandas.git</param>
     <param name="scm">git</param>
-    <param name="revision">v2.2.1</param>
+    <param name="revision">v2.3.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="filename">pandas</param>
--- python-pandas.changes.orig
+++ python-pandas.changes
@@ -1,4 +1,131 @@
 -------------------------------------------------------------------
+Fri Oct 25 05:19:49 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
+
+- Skip two tests that fail with Numpy 2.1. 
+
+-------------------------------------------------------------------
+Fri Oct 11 04:40:52 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
+
+- Prepare for Python 3.13, by skipping it if we aren't building for it. 
+
+-------------------------------------------------------------------
+Tue Oct  1 12:35:22 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
+
+- Update to 2.2.3
+  * Bug in eval() on complex including division /
+    discards imaginary part. (GH 21374)
+  * Minor fixes for numpy 2.1 compatibility. (GH 59444)
+  * Missing licenses for 3rd party dependencies were
+    added back into the wheels. (GH 58632)
+- Drop pandas-pr58269-pyarrow16xpass.patch, merged upstream
+- Drop pandas-pr58484-matplotlib.patch, merged upstream
+- Drop pandas-pr59175-matplotlib.patch, merged upstream
+- Drop pandas-pr59353-np2eval.patch, merged upstream
+- Drop tests-npdev.patch, merged upstream
+- Drop tests-timedelta.patch, merged upstream
+- Refresh tests-nomkl.patch
+- Renumber remaining patches
+
+-------------------------------------------------------------------
+Mon Sep 16 19:39:38 UTC 2024 - Markéta Machová <mmachova@suse.com>
+
+- Add bunch of patches to fix the testsuite with NumPy 2.1
+  * tests-wasm.patch
+  * tests-nomkl.patch
+  * tests-timedelta.patch
+  * tests-npdev.patch
+- Skip one test failing with new timezone, the patch would be too big
+
+-------------------------------------------------------------------
+Sun Sep  8 10:02:47 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Drop pandas-pr58720-xarray-dp.patch: It does no longer xfail
+
+-------------------------------------------------------------------
+Wed Aug 28 13:53:55 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Skip overflowing tests on 32-bit
+
+-------------------------------------------------------------------
+Sun Aug 25 21:22:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Add pandas-pr59353-np2eval.patch
+  * gh#pandas-dev/pandas#59353
+  * gh#pandas-dev/pandas#58548
+
+-------------------------------------------------------------------
+Thu Jul 11 09:51:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Add pandas-pr59175-matplotlib.patch -- gh#pandas-dev/pandas#59175
+
+-------------------------------------------------------------------
+Sun May 12 17:57:39 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
+
+- Add pandas-pr58269-pyarrow16xpass.patch
+  (gh#pandas-dev/pandas!58269)
+- Add pandas-pr58720-xarray-dp.patch
+  (gh#pandas-dev/pandas!58720), which makes pandas compatible
+  with the modern xarray
+- Add pandas-pr58484-matplotlib.patch
+  (gh#pandas-dev/pandas!58484), which makes pandas compatible
+  with the modern matplotlib
+- Skip also test_plot_scatter_shape (gh#pandas-dev/pandas#58851)
+
+-------------------------------------------------------------------
+Thu May  9 23:44:42 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
+
+- Skip build on Python 3.10 ... too many dependencies are missing.
+
+-------------------------------------------------------------------
+Tue Apr 30 18:08:56 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Update to 2.2.2
+  * Pandas 2.2.2 is now compatible with numpy 2.0
+  * Pandas 2.2.2 is the first version of pandas that is generally
+    compatible with the upcoming numpy 2.0 release, and wheels for
+    pandas 2.2.2 will work with both numpy 1.x and 2.x. One major
+    caveat is that arrays created with numpy 2.0’s new StringDtype
+    will convert to object dtyped arrays upon Series/DataFrame
+    creation. Full support for numpy 2.0’s StringDtype is expected
+    to land in pandas 3.0.
+  * As usual please report any bugs discovered to our issue tracker
+  ## Fixed regressions
+  * DataFrame.__dataframe__() was producing incorrect data buffers
+    when the a column’s type was a pandas nullable on with missing
+    values (GH 56702)
+  * DataFrame.__dataframe__() was producing incorrect data buffers
+    when the a column’s type was a pyarrow nullable on with missing
+    values (GH 57664)
+  * Avoid issuing a spurious DeprecationWarning when a custom
+    DataFrame or Series subclass method is called (GH 57553)
+  * Fixed regression in precision of to_datetime() with string and
+    unit input (GH 57051)
+  ## Bug fixes
+  * DataFrame.__dataframe__() was producing incorrect data buffers
+    when the column’s type was nullable boolean (GH 55332)
+  * DataFrame.__dataframe__() was showing bytemask instead of
+    bitmask for 'string[pyarrow]' validity buffer (GH 57762)
+  * DataFrame.__dataframe__() was showing non-null validity buffer
+    (instead of None) 'string[pyarrow]' without missing values (GH
+    57761)
+  * DataFrame.to_sql() was failing to find the right table when
+    using the schema argument (GH 57539)
+- Remove obsolete python39 multibuild
+- Add pandas-pr58269-pyarrow16xpass.patch
+  gh#pandas-dev/pandas#58269
+
+-------------------------------------------------------------------
+Mon Mar  4 20:44:10 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- No xarrary for python 3.9 anymore: Remove from pandas[all] and
+  exclude pandas[computation]. Reenable testing to check it.
+  It will be skipped automatically when python39 is dropped from
+  Tumbleweed globally.
+- Fix 15.x build: requires newer compiler
+- Fix 15.x test skips: sle15_python_module_pythons needs to be
+  declared earlier
+
+-------------------------------------------------------------------
 Fri Feb 23 20:04:59 UTC 2024 - Ben Greiner <code@bnavigator.de>
 
 - Update to 2.2.1
--- python-pandas.spec.orig
+++ python-pandas.spec
@@ -17,14 +17,14 @@
 
 
 %global flavor @BUILD_FLAVOR@%{nil}
+%{?sle15_python_module_pythons}
+
 %if "%{flavor}" == ""
 %define psuffix %{nil}
 %bcond_with test
 %else
 %define psuffix -%{flavor}
 %bcond_without test
-# globally skip testing py39
-%define skip_python39 1
 %if "%{flavor}" != "test-py310"
 %define skip_python310 1
 %endif
@@ -34,6 +34,9 @@
 %if "%{flavor}" != "test-py312"
 %define skip_python312 1
 %endif
+%if "%{flavor}" != "test-py313"
+%define skip_python313 1
+%endif
 # Skip empty buildsets, last one is for sle15_python_module_pythons
 %if "%{shrink:%{pythons}}" == "" || ("%pythons" == "python311" && 0%{?skip_python311})
 ExclusiveArch:  donotbuild
@@ -55,10 +58,13 @@ ExclusiveArch:  donotbuild
 # depend/not depend on python-pyarrow and apache-arrow [bsc#1218592]
 %bcond_without pyarrow
 
-%{?sle15_python_module_pythons}
+%if %{suse_version} <= 1500
+# requires __has_builtin with keywords
+%define gccver 13
+%endif
 Name:           python-pandas%{psuffix}
 # Set version through _service
-Version:        2.2.1
+Version:        2.3.0
 Release:        0
 Summary:        Python data structures for data analysis, time series, and statistics
 License:        BSD-3-Clause
@@ -66,27 +72,37 @@ URL:            https://pandas.pydata.or
 # SourceRepository: https://github.com/pandas-dev/pandas
 # Must be created by cloning through `osc service runall`: gh#pandas-dev/pandas#54903, gh#pandas-dev/pandas#54907
 Source0:        pandas-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM gh#pandas-dev/pandas#1044cf44
+Patch0:         tests-nomkl.patch
+# PATCH-FIX-UPSTREAM tiny part of gh#pandas-dev/pandas#4f743f98
+Patch1:         tests-wasm.patch
+%if !%{with test}
 BuildRequires:  %{python_module Cython >= 3.0.5}
 BuildRequires:  %{python_module devel >= 3.9}
 BuildRequires:  %{python_module meson-python >= 0.13.1}
-BuildRequires:  %{python_module numpy-devel >= 1.23.2 if %python-base < 3.12 else %python-numpy-devel >= 1.26}
+BuildRequires:  %{python_module numpy-devel >= 1.26}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module versioneer-toml}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
-BuildRequires:  gcc-c++
+BuildRequires:  gcc%{?gccver}-c++
 BuildRequires:  git-core
 BuildRequires:  meson >= 1.2.1
+%endif
 BuildRequires:  python-rpm-macros
 Requires:       python-python-dateutil >= 2.8.2
 Requires:       python-pytz >= 2020.1
 Requires:       timezone >= 2022a
 Obsoletes:      python-pandas-doc < %{version}
 Provides:       python-pandas-doc = %{version}
-%if 0%{python_version_nodots} < 312
-Requires:       (python-numpy >= 1.23.2 with python-numpy < 2)
+%if 0%{python_version_nodots} < 311
+Requires:       python-numpy >= 1.22.4
+%else
+%if 0%{python_version_nodots} == 311
+Requires:       python-numpy >= 1.23.2
 %else
-Requires:       (python-numpy >= 1.26  with python-numpy < 2)
+Requires:       python-numpy >= 1.26
+%endif
 %endif
 # SECTION extras
 Recommends:     python-pandas-performance
@@ -448,9 +464,12 @@ sed -i "s|'generate_version.py',|'${genp
 # don't require the PyPI data only tzdata package, we use the timezone RPM package
 sed -i '/dependencies = \[/,/\]/ {/tzdata.*>=/d}' pyproject.toml
 %endif
+%autopatch -p1
 
 %build
 %if !%{with test}
+%{?gccver:export CXX=g++-%{gccver}}
+%{?gccver:export CC=gcc-%{gccver}}
 export CFLAGS="%{optflags} -fno-strict-aliasing"
 %pyproject_wheel
 %endif
@@ -495,9 +514,16 @@ SKIP_TESTS+=" or test_self_join_date_col
 # expects a dirty git revision from git repo
 SKIP_TESTS+=" or test_git_version"
 %if "%{flavor}" == "test-py312"
-# https://github.com/pandas-dev/pandas/pull/57391, proposed change is not necessary the right one
+# https://github.com/pandas-dev/pandas/pull/57391, proposed change is not necessarily the right one
 SKIP_TESTS+=" or (test_scalar_unary and numexpr-pandas)"
 %endif
+# Numpy2: unexpected 'np.str_(...)' in error message
+SKIP_TESTS+=" or test_group_subplot_invalid_column_name"
+# https://github.com/pandas-dev/pandas/pull/55901, not gonna merge this huge patch to fix one test failing with new timezone, will be included in new release
+SKIP_TESTS+=" or test_array_inference[data7-expected7]"
+# numpy 2.1 issues?
+SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col"
+SKIP_TESTS+=" or test_from_obscure_array"
 
 %ifarch %{ix86} %{arm32}
 # https://github.com/pandas-dev/pandas/issues/31856
@@ -506,6 +532,14 @@ SKIP_TESTS+=" or test_maybe_promote_int_
 SKIP_TESTS+=" or (test_rolling_quantile_interpolation_options and data1 and linear and 0.1)"
 # overflow
 SKIP_TESTS+=" or test_large_string_pyarrow"
+SKIP_TESTS+=" or test_pandas_nullable_with_missing_values"
+SKIP_TESTS+=" or test_pandas_nullable_without_missing_values"
+SKIP_TESTS+=" or (test_to_datetime and TestOrigin and test_epoch)"
+SKIP_TESTS+=" or test_td_mul_numeric_ndarray_0d"
+SKIP_TESTS+=" or test_get_indexer_non_unique_wrong_dtype"
+# pyarrow read-only errors
+SKIP_TESTS+=" or test_left_join_multi_index"
+SKIP_TESTS+=" or test_join_on_single_col_dup_on_right"
 # dtype mismatch
 SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col"
 SKIP_TESTS+=" or test_get_indexer_arrow_dictionary_target"
@@ -515,6 +549,8 @@ SKIP_TESTS+=" or numba"
 %ifarch %{ix86}
 # overflows on i586
 SKIP_TESTS+=" or test_encode_non_c_locale"
+# intp != int32 (still numpy 1)?
+SKIP_TESTS+=" or test_ensure_platform_int"
 # fails on i586 (was gcc10-skip-one-test.patch)
 SKIP_TESTS+=" or test_merge_on_ints_floats_warning"
 %endif
@@ -574,9 +610,11 @@ xvfb-run pytest-%{$python_bin_suffix} -v
 %license LICENSE
 %doc README.md
 
+%if 0%{python_version_nodots} >= 310
 %files %{python_files computation}
 %license LICENSE
 %doc README.md
+%endif
 
 %files %{python_files fss}
 %license LICENSE
openSUSE Build Service is sponsored by