diff --git a/_multibuild b/_multibuild
index 6d8cafe..cd365a1 100644
--- a/_multibuild
+++ b/_multibuild
@@ -2,4 +2,5 @@
test-py310
test-py311
test-py312
+ test-py313
diff --git a/python-pandas.changes b/python-pandas.changes
index 1797fff..803a66f 100644
--- a/python-pandas.changes
+++ b/python-pandas.changes
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Nov 27 12:26:36 UTC 2024 - Markéta Machová
+
+- Drop tests-nomkl.patch and tests-wasm.patch, not needed anymore
+- Skip a test failing with new xarray
+
+------------------------------------------------------------------
Fri Oct 25 05:19:49 UTC 2024 - Steve Kowalik
- Skip two tests that fail with Numpy 2.1.
diff --git a/python-pandas.spec b/python-pandas.spec
index f692d17..540e185 100644
--- a/python-pandas.spec
+++ b/python-pandas.spec
@@ -72,10 +72,6 @@ URL: https://pandas.pydata.org/
# 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}
@@ -524,6 +520,8 @@ 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"
+# too new xarray https://github.com/pandas-dev/pandas/pull/60109
+SKIP_TESTS+=" or (TestDataFrameToXArray and test_to_xarray_index_types)"
%ifarch %{ix86} %{arm32}
# https://github.com/pandas-dev/pandas/issues/31856
diff --git a/tests-nomkl.patch b/tests-nomkl.patch
deleted file mode 100644
index 3aa25f4..0000000
--- a/tests-nomkl.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Binary files pandas-2.2.3.orig/.git/index and pandas-2.2.3/.git/index differ
-diff -Nru pandas-2.2.3.orig/pandas/tests/indexes/interval/test_interval_tree.py pandas-2.2.3/pandas/tests/indexes/interval/test_interval_tree.py
---- pandas-2.2.3.orig/pandas/tests/indexes/interval/test_interval_tree.py 2024-09-20 12:21:50.000000000 +0000
-+++ pandas-2.2.3/pandas/tests/indexes/interval/test_interval_tree.py 2024-10-01 12:32:47.570061987 +0000
-@@ -4,7 +4,10 @@
- import pytest
-
- from pandas._libs.interval import IntervalTree
--from pandas.compat import IS64
-+from pandas.compat import (
-+ IS64,
-+ WASM,
-+)
-
- import pandas._testing as tm
-
-@@ -190,6 +193,7 @@
- expected = (50 + np.iinfo(np.int64).max) / 2
- assert result == expected
-
-+ @pytest.mark.xfail(WASM, reason="GH 23440")
- @pytest.mark.parametrize(
- "left, right, expected",
- [
-diff -Nru pandas-2.2.3.orig/pandas/tests/indexing/interval/test_interval_new.py pandas-2.2.3/pandas/tests/indexing/interval/test_interval_new.py
---- pandas-2.2.3.orig/pandas/tests/indexing/interval/test_interval_new.py 2024-09-20 12:21:50.000000000 +0000
-+++ pandas-2.2.3/pandas/tests/indexing/interval/test_interval_new.py 2024-10-01 12:34:25.510718974 +0000
-@@ -3,6 +3,8 @@
- import numpy as np
- import pytest
-
-+from pandas.compat import WASM
-+
- from pandas import (
- Index,
- Interval,
-@@ -208,7 +210,7 @@
- with pytest.raises(KeyError, match=r"\[6\]"):
- obj.loc[[4, 5, 6]]
-
--
-+@pytest.mark.xfail(WASM, reason="GH 23440")
- @pytest.mark.parametrize(
- "intervals",
- [
-diff -Nru pandas-2.2.3.orig/pandas/tests/indexing/interval/test_interval.py pandas-2.2.3/pandas/tests/indexing/interval/test_interval.py
---- pandas-2.2.3.orig/pandas/tests/indexing/interval/test_interval.py 2024-09-20 12:21:50.000000000 +0000
-+++ pandas-2.2.3/pandas/tests/indexing/interval/test_interval.py 2024-10-01 12:33:50.518484555 +0000
-@@ -2,6 +2,7 @@
- import pytest
-
- from pandas._libs import index as libindex
-+from pandas.compat import WASM
-
- import pandas as pd
- from pandas import (
-@@ -35,6 +36,7 @@
- expected = ser.iloc[2:5]
- tm.assert_series_equal(expected, indexer_sl(ser)[ser >= 2])
-
-+ @pytest.mark.xfail(WASM, reason="GH 23440")
- @pytest.mark.parametrize("direction", ["increasing", "decreasing"])
- def test_getitem_nonoverlapping_monotonic(self, direction, closed, indexer_sl):
- tpls = [(0, 1), (2, 3), (4, 5)]
diff --git a/tests-wasm.patch b/tests-wasm.patch
deleted file mode 100644
index fdcb6b3..0000000
--- a/tests-wasm.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 4f743f98649ce1fc17a57f7b02d81f7cc172dff6 Mon Sep 17 00:00:00 2001
-From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
-Date: Wed, 8 May 2024 22:21:57 +0530
-Subject: [PATCH] BLD, TST: Build and test Pyodide wheels for `pandas` in CI
- (#57896)
-
-* Create initial Pyodide workflow
-
-* Do not import pandas folder from the repo
-
-* Install hypothesis for testing
-
-* Add pytest decorator to skip tests on WASM
-
-* Skip `time.tzset()` tests on WASM platforms
-
-* Skip file system access tests on WASM
-
-* Skip two more tzset test failures
-
-* Skip two more FS failures on WASM
-
-* Resolve last two tzset failures on WASM
-
-* Add a `WASM` constant for Emscripten platform checks
-
-* Fix floating point imprecision with `np.timedelta64`
-
-* Mark tz OverflowError as xfail on WASM
-
-* Try to fix OverflowError with date ranges
-
-* Move job to unit tests workflow, withdraw env vars
-
-* Fix up a few style errors, use WASM variable
-
-* Bump Pyodide to `0.25.1`
-
-See https://github.com/pyodide/pyodide/pull/4654 for
-more discussion. This commit resolves a build error
-coming from the `pyodide build` command which
-broke due to a new `build` release by PyPA.
-
-* Use shorter job name
-
-* Skip test where warning is not raised properly
-
-* Don't run `test_date_time` loc check on WASM
-
-* Don't run additional loc checks in `test_sas7bdat`
-
-* Disable WASM OverflowError
-
-* Skip tests requiring fp exception support
-
-* xfail tests that require stricter tolerances
-
-* xfail test where `OverflowError`s are received
-
-* Remove upper-pin from `pydantic`
-
-* Better skip messages via `pytest.skipif` decorator
-
-* Import `WASM` var via public API where possible
-
-* Unpin `pytest` for Pyodide job
-
-* Add reason attr when using boolean to skip test
-
-* Don't xfail, skip tests that bring `OverflowError`s
-
-* Skip timedelta test that runs well only on 64-bit
-
-* Skip tests that use `np.timedelta64`
-
----------
-
-Co-authored-by: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com>
----
- .github/workflows/unit-tests.yml | 61 ++++++++++++++++++-
- pandas/compat/__init__.py | 2 +
- pandas/compat/_constants.py | 2 +
- pandas/tests/apply/test_str.py | 3 +
- pandas/tests/arithmetic/test_timedelta64.py | 2 +
- .../datetimes/methods/test_normalize.py | 4 ++
- .../datetimes/methods/test_resolution.py | 8 ++-
- .../io/parser/common/test_file_buffer_url.py | 3 +
- pandas/tests/io/parser/test_c_parser_only.py | 21 ++++---
- pandas/tests/io/sas/test_sas7bdat.py | 9 ++-
- pandas/tests/io/test_common.py | 10 ++-
- pandas/tests/io/xml/test_xml.py | 2 +
- .../scalar/timestamp/methods/test_replace.py | 3 +
- .../methods/test_timestamp_method.py | 3 +
- pandas/tests/scalar/timestamp/test_formats.py | 3 +
- pandas/tests/tools/test_to_datetime.py | 6 +-
- pandas/tests/tools/test_to_timedelta.py | 6 +-
- pandas/tests/tseries/offsets/test_common.py | 8 ++-
- pandas/tests/tslibs/test_parsing.py | 2 +
- pandas/util/_test_decorators.py | 5 ++
- 20 files changed, 146 insertions(+), 17 deletions(-)
-
-diff --git a/pandas/compat/__init__.py b/pandas/compat/__init__.py
-index 572dd8c9b61a0..4583e7edebbdc 100644
---- a/pandas/compat/__init__.py
-+++ b/pandas/compat/__init__.py
-@@ -22,6 +22,7 @@
- PY311,
- PY312,
- PYPY,
-+ WASM,
- )
- import pandas.compat.compressors
- from pandas.compat.numpy import is_numpy_dev
-@@ -207,4 +208,5 @@ def get_bz2_file() -> type[pandas.compat.compressors.BZ2File]:
- "PY311",
- "PY312",
- "PYPY",
-+ "WASM",
- ]
-diff --git a/pandas/compat/_constants.py b/pandas/compat/_constants.py
-index 7bc3fbaaefebf..2625389e5254a 100644
---- a/pandas/compat/_constants.py
-+++ b/pandas/compat/_constants.py
-@@ -17,6 +17,7 @@
- PY311 = sys.version_info >= (3, 11)
- PY312 = sys.version_info >= (3, 12)
- PYPY = platform.python_implementation() == "PyPy"
-+WASM = (sys.platform == "emscripten") or (platform.machine() in ["wasm32", "wasm64"])
- ISMUSL = "musl" in (sysconfig.get_config_var("HOST_GNU_TYPE") or "")
- REF_COUNT = 2 if PY311 else 3
-
-@@ -27,4 +28,5 @@
- "PY311",
- "PY312",
- "PYPY",
-+ "WASM",
- ]
-