Accepting request 932378 from devel:languages:python:numeric

- Add patch bpo-45167-fixes.patch:
  * Support Python >= 3.9.8 changes.

OBS-URL: https://build.opensuse.org/request/show/932378
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numpy?expand=0&rev=106
This commit is contained in:
Dominique Leuenberger 2021-11-21 22:51:47 +00:00 committed by Git OBS Bridge
commit 2328010569
3 changed files with 67 additions and 0 deletions

59
bpo-45167-fixes.patch Normal file
View File

@ -0,0 +1,59 @@
From 8871c7285fc097fd1bf713aa184cba7e2804f625 Mon Sep 17 00:00:00 2001
From: Bas van Beek <b.f.van.beek@vu.nl>
Date: Wed, 10 Nov 2021 15:36:00 +0100
Subject: [PATCH] MAINT: Do not forward `__(deep)copy__` calls of
`_GenericAlias` to the wrapped type
Adapt to the python 3.9.8 changes made in bpo-45167.
---
numpy/typing/_generic_alias.py | 2 ++
numpy/typing/tests/test_generic_alias.py | 16 ++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/numpy/typing/_generic_alias.py b/numpy/typing/_generic_alias.py
index 932f12dd05d..1eb2c8c05f0 100644
--- a/numpy/typing/_generic_alias.py
+++ b/numpy/typing/_generic_alias.py
@@ -185,6 +185,8 @@ def __eq__(self, value: object) -> bool:
"__mro_entries__",
"__reduce__",
"__reduce_ex__",
+ "__copy__",
+ "__deepcopy__",
})
def __getattribute__(self, name: str) -> Any:
diff --git a/numpy/typing/tests/test_generic_alias.py b/numpy/typing/tests/test_generic_alias.py
index 3021d985934..39343420bdc 100644
--- a/numpy/typing/tests/test_generic_alias.py
+++ b/numpy/typing/tests/test_generic_alias.py
@@ -1,6 +1,7 @@
from __future__ import annotations
import sys
+import copy
import types
import pickle
import weakref
@@ -80,6 +81,21 @@ def test_pass(self, name: str, func: FuncType) -> None:
value_ref = func(NDArray_ref)
assert value == value_ref
+ @pytest.mark.parametrize("name,func", [
+ ("__copy__", lambda n: n == copy.copy(n)),
+ ("__deepcopy__", lambda n: n == copy.deepcopy(n)),
+ ])
+ def test_copy(self, name: str, func: FuncType) -> None:
+ value = func(NDArray)
+
+ # xref bpo-45167
+ GE_398 = (
+ sys.version_info[:2] == (3, 9) and sys.version_info >= (3, 9, 8)
+ )
+ if GE_398 or sys.version_info >= (3, 10, 1):
+ value_ref = func(NDArray_ref)
+ assert value == value_ref
+
def test_weakref(self) -> None:
"""Test ``__weakref__``."""
value = weakref.ref(NDArray)()

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Nov 19 00:33:15 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch bpo-45167-fixes.patch:
* Support Python >= 3.9.8 changes.
-------------------------------------------------------------------
Tue Nov 9 15:27:58 UTC 2021 - Andreas Schwab <schwab@suse.de>

View File

@ -84,6 +84,8 @@ Source99: python-numpy-rpmlintrc
Patch0: numpy-buildfix.patch
# PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure
Patch1: numpy-1.9.0-remove-__declspec.patch
# PATCH-FIX-UPSTREAM -- gh#numpy/numpy/commit/8871c7285fc097fd1bf713aa184cba7e2804f625
Patch2: bpo-45167-fixes.patch
BuildConflicts: gcc11 < 11.2
BuildRequires: %{python_module Cython >= 0.29.24}
BuildRequires: %{python_module base >= 3.7}