summaryrefslogtreecommitdiff
path: root/dev-python/imageio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-23 00:11:31 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-23 00:11:31 +0100
commitbff543bb632933380da922cbfc07c67157d72d42 (patch)
treedf2e5eebc3dbd8e29153ab3a869b3be8d9be9f19 /dev-python/imageio
parent491d0101c89d81dec507f28215b3cb094800d600 (diff)
gentoo auto-resync : 23:06:2024 - 00:11:30
Diffstat (limited to 'dev-python/imageio')
-rw-r--r--dev-python/imageio/Manifest2
-rw-r--r--dev-python/imageio/files/imageio-2.34.1-numpy-2.patch36
-rw-r--r--dev-python/imageio/imageio-2.34.1-r1.ebuild104
3 files changed, 142 insertions, 0 deletions
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 43251ac63531..39f1e3b5e341 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,5 +1,7 @@
AUX imageio-2.22.0-block-download.patch 1211 BLAKE2B c01e3fd7db7463bc11bf331384a21becfc3160d4880a2fd09e47bf0927d97e46787097f50a489b83c2626078b60a0cf8a0d896040981e78c107f1783c8e84c26 SHA512 170261b9fb07ccb7f7a7e058335326df1f72c8d098076bf6ca048a7ca6bac95ddb512b9e41740c385430bc25613249455203addd59931af4e70298e772303964
+AUX imageio-2.34.1-numpy-2.patch 1472 BLAKE2B 2a35f4e68f7ad4bd8f8805fdb28069b457c5df5e9ae983cb44900bdc5d88ef94456a02b76e5b2bf5c3d62f5fffada16e4f4f3481d04e6851e1624ef19b6123ad SHA512 76edd6b249016f578b76b28ab9fca70286a9ea33beecbc75f7c78328e3e14ef2b134fdbdfb5a6fdaa4d68c65178ceee0b5893089afa73952ab2581ab96ae5ab5
DIST imageio-2.34.1.gh.tar.gz 413414 BLAKE2B 59371d0aeace317b9006a0b3b182b97259a53ca0d2288d8ee497234e4f2e7e253c1c27b40b2c5c1f531555a71c7f426ae6d4555043525aa88ca2818d26adfd7d SHA512 d7d1f99f735447e559c0b1fdc2dbe19f2991fb3c640cb9f1396d149c3c44f05e1c357ca8753fff8130625f8fb40a72f277ef09e7cec2b060d1a4f3a675e086a0
DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
+EBUILD imageio-2.34.1-r1.ebuild 2852 BLAKE2B c37aa3e789c3a902f52356d4ab89bc7dce5dd85f7335cdf8ea453b24ffa63b653d6e88ce168627c82aa56bb7acb5856d48a452ef31b519a5027cf846916076e9 SHA512 c47a30021b22dfdfb8099d1dc1cc5d62a2012a023e0f6fa1f76a4075dfc94f51b6f5800c61082ebaca9f9b627fc76610eba00e82a76f9fbd4bedd94c3c0b3b24
EBUILD imageio-2.34.1.ebuild 2807 BLAKE2B 4a51d2c4e622d3ae5d1d97025f3598543b27fbf6249b3ff1be18f2c814d74d7f1bf2577997b00256e7b87c09d69d976ad3ed4a959f4c86961f547f9770dc42c1 SHA512 a7316ab4980c46020a86f3e2f4d6a1d1ef391e955fe3da04c3791ac1f3983e48c1ea708b58a32bf41830f36f5173f08f8b925f6ee58dd559b434d2a4a03b2b68
MISC metadata.xml 702 BLAKE2B 646c6a83e6d8e345fddb9cbc42a83c1193b9590937cd652e293d03e6e9d4b240a69e6e86399f5edc9ef05f96d1d4c3713dfa65f8b13984f4483b2ce76a239429 SHA512 5e1e4db52fed55ab837c70ddb9ec81a7ce0b062064e2d33cb5771cd81d50a1a2164e446531c32a405bb9319acd736141765dcd00e36d6db770434a656ad925e1
diff --git a/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch b/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch
new file mode 100644
index 000000000000..c5c8288da471
--- /dev/null
+++ b/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch
@@ -0,0 +1,36 @@
+From 511ad9b3705fc09d4654d69e42bbafef97bcb0a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Wallk=C3=B6tter?= <sebastian@wallkoetter.net>
+Date: Sat, 22 Jun 2024 14:56:11 +0200
+Subject: [PATCH] support numpy 2.0
+
+---
+ imageio/core/util.py | 2 ++
+ imageio/plugins/_dicom.py | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/imageio/core/util.py b/imageio/core/util.py
+index 6b2830421..bfb7e9fe9 100644
+--- a/imageio/core/util.py
++++ b/imageio/core/util.py
+@@ -163,6 +163,8 @@ def __array_wrap__(self, out, context=None):
+ return out.dtype.type(out) # Scalar
+ elif out.shape != self.shape:
+ return out.view(type=np.ndarray)
++ elif not isinstance(out, Array):
++ return Array(out, self.meta)
+ else:
+ return out # Type Array
+
+diff --git a/imageio/plugins/_dicom.py b/imageio/plugins/_dicom.py
+index 96fb6fcde..2f2f7ac51 100644
+--- a/imageio/plugins/_dicom.py
++++ b/imageio/plugins/_dicom.py
+@@ -531,7 +531,7 @@ def _apply_slope_and_offset(self, data):
+ data = data.astype(np.float32)
+ else:
+ # Determine required range
+- minReq, maxReq = data.min(), data.max()
++ minReq, maxReq = data.min().item(), data.max().item()
+ minReq = min([minReq, minReq * slope + offset, maxReq * slope + offset])
+ maxReq = max([maxReq, minReq * slope + offset, maxReq * slope + offset])
+
diff --git a/dev-python/imageio/imageio-2.34.1-r1.ebuild b/dev-python/imageio/imageio-2.34.1-r1.ebuild
new file mode 100644
index 000000000000..7b5206ac9e00
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.1-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}/imageio-2.22.0-block-download.patch"
+ # https://github.com/imageio/imageio/pull/1089
+ "${FILESDIR}/${P}-numpy-2.patch"
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}