summaryrefslogtreecommitdiff
path: root/dev-python/imageio
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-22 17:42:58 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-22 17:42:58 +0000
commit9b2dbe02784d42d572e7c34746d92d0dcd641636 (patch)
tree33512bd0a426cee57d7d3dbb85ea6d134173bc95 /dev-python/imageio
parent6dee9399536acc2c36960b5b40ae671d37b235ce (diff)
downloadbaldeagleos-repo-9b2dbe02784d42d572e7c34746d92d0dcd641636.tar.gz
baldeagleos-repo-9b2dbe02784d42d572e7c34746d92d0dcd641636.tar.xz
baldeagleos-repo-9b2dbe02784d42d572e7c34746d92d0dcd641636.zip
Adding metadata
Diffstat (limited to 'dev-python/imageio')
-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
2 files changed, 140 insertions, 0 deletions
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..9314afc2688c
--- /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_{8,9,10,11,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
+}