summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-05-24 11:32:43 +0200
committerMichał Górny <mgorny@gentoo.org>2024-05-24 13:09:16 +0200
commit62450f869d71631ddf1f11dbce2b687f90f081ef (patch)
tree901397a6a4b177e80ffa4d9ff1f50cf8a620eeba /dev-python/pycollada
parentnet-vpn/i2p: fixed runtime java version in 2.3.0 (diff)
downloadgentoo-62450f869d71631ddf1f11dbce2b687f90f081ef.tar.gz
gentoo-62450f869d71631ddf1f11dbce2b687f90f081ef.tar.bz2
gentoo-62450f869d71631ddf1f11dbce2b687f90f081ef.zip
dev-python/pycollada: Fix compatibility with >=dev-python/numpy-2
Closes: https://bugs.gentoo.org/932518 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/pycollada')
-rw-r--r--dev-python/pycollada/files/pycollada-0.8-numpy-2.patch76
-rw-r--r--dev-python/pycollada/pycollada-0.8-r1.ebuild (renamed from dev-python/pycollada/pycollada-0.8.ebuild)5
2 files changed, 81 insertions, 0 deletions
diff --git a/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch b/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch
new file mode 100644
index 000000000000..4ffb80a8b61e
--- /dev/null
+++ b/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch
@@ -0,0 +1,76 @@
+From 2049c3625bef06ba5fad8169c042cbdb3641b4d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 24 May 2024 11:27:57 +0200
+Subject: [PATCH] Fix tests with NumPy 2.0
+
+Replace the deprecated `string_` and `unicode_` aliases with the modern
+`bytes_` and `str_` replacements to fix compatibility with NumPy 2.0.
+This change does not change anything for NumPy 1.x where both types
+are aliases to each other.
+---
+ collada/source.py | 4 ++--
+ collada/tests/test_source.py | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/collada/source.py b/collada/source.py
+index e7c7a06..6a0e715 100644
+--- a/collada/source.py
++++ b/collada/source.py
+@@ -318,7 +318,7 @@ def load(collada, localscope, node):
+ values = [v for v in arraynode.text.split()]
+ except ValueError:
+ raise DaeMalformedError('Corrupted IDREF array')
+- data = numpy.array(values, dtype=numpy.unicode_)
++ data = numpy.array(values, dtype=numpy.str_)
+ paramnodes = node.findall('%s/%s/%s' % (collada.tag('technique_common'), collada.tag('accessor'), collada.tag('param')))
+ if not paramnodes:
+ raise DaeIncompleteError('No accessor info in source node')
+@@ -425,7 +425,7 @@ def load(collada, localscope, node):
+ values = [v for v in arraynode.text.split()]
+ except ValueError:
+ raise DaeMalformedError('Corrupted Name array')
+- data = numpy.array(values, dtype=numpy.unicode_)
++ data = numpy.array(values, dtype=numpy.str_)
+ paramnodes = node.findall('%s/%s/%s' % (tag('technique_common'), tag('accessor'), tag
+ ('param')))
+ if not paramnodes:
+diff --git a/collada/tests/test_source.py b/collada/tests/test_source.py
+index 9ec0529..81dda61 100644
+--- a/collada/tests/test_source.py
++++ b/collada/tests/test_source.py
+@@ -31,7 +31,7 @@ def test_float_source_saving(self):
+
+ def test_idref_source_saving(self):
+ idrefsource = collada.source.IDRefSource("myidrefsource",
+- numpy.array(['Ref1', 'Ref2'], dtype=numpy.string_),
++ numpy.array(['Ref1', 'Ref2'], dtype=numpy.bytes_),
+ ('MORPH_TARGET',))
+ self.assertEqual(idrefsource.id, "myidrefsource")
+ self.assertEqual(len(idrefsource), 2)
+@@ -39,7 +39,7 @@ def test_idref_source_saving(self):
+ self.assertIsNotNone(str(idrefsource))
+ idrefsource.id = "youridrefsource"
+ idrefsource.components = ('JOINT_TARGET', 'WHATEVER_TARGET')
+- idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.string_)
++ idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.bytes_)
+ idrefsource.save()
+ loaded_idrefsource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(idrefsource.xmlnode)))
+ self.assertTrue(isinstance(loaded_idrefsource, collada.source.IDRefSource))
+@@ -49,7 +49,7 @@ def test_idref_source_saving(self):
+
+ def test_name_source_saving(self):
+ namesource = collada.source.NameSource("mynamesource",
+- numpy.array(['Name1', 'Name2'], dtype=numpy.string_),
++ numpy.array(['Name1', 'Name2'], dtype=numpy.bytes_),
+ ('JOINT',))
+ self.assertEqual(namesource.id, "mynamesource")
+ self.assertEqual(len(namesource), 2)
+@@ -57,7 +57,7 @@ def test_name_source_saving(self):
+ self.assertIsNotNone(str(namesource))
+ namesource.id = "yournamesource"
+ namesource.components = ('WEIGHT', 'WHATEVER')
+- namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.string_)
++ namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.bytes_)
+ namesource.save()
+ loaded_namesource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(namesource.xmlnode)))
+ self.assertTrue(isinstance(loaded_namesource, collada.source.NameSource))
diff --git a/dev-python/pycollada/pycollada-0.8.ebuild b/dev-python/pycollada/pycollada-0.8-r1.ebuild
index 6b416a491a78..d565b4949a52 100644
--- a/dev-python/pycollada/pycollada-0.8.ebuild
+++ b/dev-python/pycollada/pycollada-0.8-r1.ebuild
@@ -32,6 +32,11 @@ RDEPEND="
DOCS=( AUTHORS.md COPYING README.markdown )
+PATCHES=(
+ # https://github.com/pycollada/pycollada/pull/147
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
distutils_enable_sphinx docs
distutils_enable_tests unittest