commit: 4511ba1f0d5c2107597246629011497af324bf30
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 14:29:53 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 14:59:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4511ba1f
dev-python/pyarrow: Backport numpy-2 patch
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../pyarrow/files/pyarrow-16.1.0-numpy-2.patch | 65 ++++++++++++++++++++++
dev-python/pyarrow/pyarrow-16.1.0.ebuild | 13 ++---
2 files changed, 70 insertions(+), 8 deletions(-)
diff --git a/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
b/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
new file mode 100644
index 000000000000..d43e15746408
--- /dev/null
+++ b/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
@@ -0,0 +1,65 @@
+diff --git a/pyarrow/tests/parquet/common.py b/pyarrow/tests/parquet/common.py
+index 8365ed5b28543..c3094ee20b34c 100644
+--- a/pyarrow/tests/parquet/common.py
++++ b/pyarrow/tests/parquet/common.py
+@@ -83,7 +83,7 @@ def _random_integers(size, dtype):
+ iinfo = np.iinfo(dtype)
+ return np.random.randint(max(iinfo.min, platform_int_info.min),
+ min(iinfo.max, platform_int_info.max),
+- size=size).astype(dtype)
++ size=size, dtype=dtype)
+
+
+ def _range_integers(size, dtype):
+diff --git a/pyarrow/tests/test_array.py b/pyarrow/tests/test_array.py
+index 88394c77e429d..1032ab9add3ca 100644
+--- a/pyarrow/tests/test_array.py
++++ b/pyarrow/tests/test_array.py
+@@ -3398,7 +3398,7 @@ def test_numpy_array_protocol():
+ result = np.asarray(arr)
+ np.testing.assert_array_equal(result, expected)
+
+- if Version(np.__version__) < Version("2.0"):
++ if Version(np.__version__) < Version("2.0.0.dev0"):
+ # copy keyword is not strict and not passed down to __array__
+ result = np.array(arr, copy=False)
+ np.testing.assert_array_equal(result, expected)
+diff --git a/pyarrow/tests/test_pandas.py b/pyarrow/tests/test_pandas.py
+index be2c5b14e68b0..ba9d6a3c01391 100644
+--- a/pyarrow/tests/test_pandas.py
++++ b/pyarrow/tests/test_pandas.py
+@@ -780,7 +780,7 @@ def test_integer_no_nulls(self):
+ info = np.iinfo(dtype)
+ values = np.random.randint(max(info.min, np.iinfo(np.int_).min),
+ min(info.max, np.iinfo(np.int_).max),
+- size=num_values)
++ size=num_values, dtype=dtype)
+ data[dtype] = values.astype(dtype)
+ fields.append(pa.field(dtype, arrow_dtype))
+
+diff --git a/pyarrow/tests/test_table.py b/pyarrow/tests/test_table.py
+index a58010d083e92..f40759de50c8c 100644
+--- a/pyarrow/tests/test_table.py
++++ b/pyarrow/tests/test_table.py
+@@ -3281,7 +3281,7 @@ def test_numpy_array_protocol(constructor):
+ table = constructor([[1, 2, 3], [4.0, 5.0, 6.0]], names=["a", "b"])
+ expected = np.array([[1, 4], [2, 5], [3, 6]], dtype="float64")
+
+- if Version(np.__version__) < Version("2.0"):
++ if Version(np.__version__) < Version("2.0.0.dev0"):
+ # copy keyword is not strict and not passed down to __array__
+ result = np.array(table, copy=False)
+ np.testing.assert_array_equal(result, expected)
+diff --git a/scripts/test_leak.py b/scripts/test_leak.py
+index f2bbe8d051bf9..86a87f5e742e8 100644
+--- a/scripts/test_leak.py
++++ b/scripts/test_leak.py
+@@ -98,7 +98,7 @@ def func():
+
+
+ def test_ARROW_8801():
+- x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20),
++ x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20,
dtype=np.int64),
+ unit='ms', utc=True)
+ table = pa.table(pd.DataFrame({'x': x}))
+
diff --git a/dev-python/pyarrow/pyarrow-16.1.0.ebuild
b/dev-python/pyarrow/pyarrow-16.1.0.ebuild
index 37167ff75b2c..7a027d3f6336 100644
--- a/dev-python/pyarrow/pyarrow-16.1.0.ebuild
+++ b/dev-python/pyarrow/pyarrow-16.1.0.ebuild
@@ -39,6 +39,11 @@ EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/apache/arrow/pull/42099
+ "${FILESDIR}/${P}-numpy-2.patch"
+ )
+
# cython's -Werror
sed -i -e '/--warning-errors/d' CMakeLists.txt || die
distutils-r1_src_prepare
@@ -83,14 +88,6 @@ python_test() {
tests/test_pandas.py::test_array_to_pandas_roundtrip
)
- if has_version ">=dev-python/numpy-2"; then
- EPYTEST_DESELECT+=(
- # https://github.com/apache/arrow/issues/41319
- tests/test_array.py::test_numpy_array_protocol
- tests/test_table.py::test_numpy_array_protocol
- )
- fi
-
cd "${T}" || die
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest --pyargs pyarrow