commit:     ae1165e45b882e44087a7229371f33d161153c08
Author:     Vladislav Mikhailikov <vmikhailikov <AT> gmail <DOT> com>
AuthorDate: Mon Nov 17 18:04:51 2025 +0000
Commit:     Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
CommitDate: Fri Nov 21 09:35:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae1165e4

media-libs/openimageio: add 3.1.7.0

Signed-off-by: Vladislav Mikhailikov <vmikhailikov <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44656
Closes: https://github.com/gentoo/gentoo/pull/44656
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>

 media-libs/openimageio/Manifest                    |   1 +
 .../files/openimageio-3.1.7.0-tests-optional.patch |  36 ++
 .../files/openimageio-3.1.7.0-webpmux-fix.patch    |  13 +
 media-libs/openimageio/openimageio-3.1.7.0.ebuild  | 469 +++++++++++++++++++++
 4 files changed, 519 insertions(+)

diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index 6b68cb419cf4..a126c8f4d958 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -8,6 +8,7 @@ DIST openimageio-2.5.18.0.tar.gz 52549475 BLAKE2B 
8a3f61f6089b304202e829a28946ec
 DIST openimageio-2.5.19.0.tar.gz 52549345 BLAKE2B 
6c209f0213ce92c7e9f2f27eea1086ef3ce1ec1e722ab3b31a8488816ae55d4716fe0adbdda25f60150b331f4bbbbc3390bf9e4051ae2224b2d253a728ba935b
 SHA512 
94cac306661f15236656a8cd114d8524ed94aeea91847d61bed8ae8096821e008b4f891c17c542dddb917ec7c1e57945cde7f7bb193c49f306da481cfbac5a22
 DIST openimageio-3.0.6.1.tar.gz 52703969 BLAKE2B 
20a905b092df63727f52cb2e1bc78743a615905bdbb964d358a04183c2e30b1f3a0287c4df6d6d2c72ca4608963fa5c1717c8249062c620bf9bbbcd61838bd18
 SHA512 
6ae915dea0113d6c577cfd6b374ab7eb534bf7703e802bdcb0315b8a91711a2b726da420c00ba89fc90fa9e2f695c42d6b3b34b09d4384d45e439ef7d9927f80
 DIST openimageio-3.0.8.1.tar.gz 53129890 BLAKE2B 
e270e3996900ab2f43904555f59b2f5a51858efd3b8f2b29a22450feb78da9d450ddb2d41c362d709c793b07125a745c59dbde8d0c7c6e540cc61459f57d157e
 SHA512 
f99511c5815b3dd510dcddbf828f32e92c05d433880442e621e9d87ace6d68ed6230132fef9377a8e706ddd44824963b65b6294b7e389bacb2628a256b61bd0e
+DIST openimageio-3.1.7.0.tar.gz 53595984 BLAKE2B 
f2e61584e04118fc5c576bd069d0acc3c90ba76a7948c410d45e4b3e4c2efbe21efc4fbc053553c8a32b32d19b20a2053b2507b1ce76eb9b5c1ce67ab3195ef7
 SHA512 
404e60ad2f3d0d5b76aff7cbc2428833be4de6d182735f1826cc3640c73a268db097fd03d3105f51e7bb0d386e8fdbb880fc7fd7b67028972e79b0fc58d37f4c
 DIST 
openimageio-oexr-test-image-d45a2d5a890d6963b94479c7a644440068c37dd2.tar.gz 
263237088 BLAKE2B 
9445464b6d75d4800b843bd4a4f88404f587ca4ed384a0c1d428d5a249c04af0c610a95660aac5edff22c003c067e3a907d4a0896d7cfb20731cb486e436f17d
 SHA512 
bbfd8e40eedd26955bc97789bfdfd556ee9ed652babc1c9c60c3cda6e5cab05a0a813323f25bc536132498a2bf3185a07020cd1170c047b72973e2be3e10fe19
 DIST 
openimageio-oexr-test-image-e38ffb0790f62f05a6f083a6fa4cac150b3b7452.tar.gz 
263238600 BLAKE2B 
e0528d23b3a18b11a810ab8591dbaa7fd006a848439ff7fb7f98f149a68eb72b5be6acb260820d7d33bb8ccf09624a4168a6495bd5909f679ddcafe4ae1fc652
 SHA512 
b038344145470acc8656bf528fad975877948483848cf5f6d3f1ba55da1c98710343fff0240e14fdd55ec8c4c32f27a31c4dea87526569e26cdbef86fc87da43
 DIST 
openimageio-oiio-test-image-75099275c73a6937d40c69f9e14a006aa49fa201.tar.gz 
143507944 BLAKE2B 
1109c4c8910e4888e5d5724c3858689a46fb52ebc76faf37a1a57a9adecf6ff3317776ffd11e12f4f84585b8ec4500d44107e78fa78b484a8135d420ea09a33a
 SHA512 
0ac29746c1c9055db1df4bfc89f672e19a99886cb86319af746c7911bcb468ecfad6db0df6a73836efe6a7ff72860990ab63a814b7b1d1335c4d2da53f0163d8

diff --git 
a/media-libs/openimageio/files/openimageio-3.1.7.0-tests-optional.patch 
b/media-libs/openimageio/files/openimageio-3.1.7.0-tests-optional.patch
new file mode 100644
index 000000000000..2817a9235980
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-3.1.7.0-tests-optional.patch
@@ -0,0 +1,36 @@
+From: Paul Zander <[email protected]>
+
+Make fits test images download optional
+Make j2k test images download optional
+
+Adapted for OpenImageIO 3.1.7.0.
+
+diff -urw a b
+--- a/src/cmake/testing.cmake
++++ b/src/cmake/testing.cmake
+@@ -276,12 +276,14 @@
+                     IMAGEDIR oiio-images URL "Recent checkout of 
OpenImageIO-images")
+     oiio_add_tests (jpeg2000
+                     FOUNDVAR OPENJPEG_FOUND
++                  ENABLEVAR ENABLE_OPENJPEG
+                     IMAGEDIR oiio-images URL "Recent checkout of 
OpenImageIO-images")
+     oiio_add_tests (htj2k
+                     FOUNDVAR openjph_FOUND
+                     IMAGEDIR oiio-images URL "Recent checkout of 
OpenImageIO-images")
+     oiio_add_tests (jpeg2000-j2kp4files
+                     FOUNDVAR OPENJPEG_FOUND
++                  ENABLEVAR ENABLE_OPENJPEG
+                     IMAGEDIR j2kp4files_v1_5
+                     URL 
http://www.itu.int/net/ITU-T/sigdb/speimage/ImageForm-s.aspx?val=10100803)
+     set (all_openexr_tests
+@@ -432,6 +434,10 @@
+     oiio_get_test_data (openexr-images
+                         REPO 
https://github.com/AcademySoftwareFoundation/openexr-images.git
+                         BRANCH main)
++    if(ENABLE_FITS)
+     oiio_get_test_data (fits-images)
++    endif()
++    if(ENABLE_OPENJPEG)
+     oiio_get_test_data (j2kp4files_v1_5)
++    endif()
+ endfunction ()

diff --git a/media-libs/openimageio/files/openimageio-3.1.7.0-webpmux-fix.patch 
b/media-libs/openimageio/files/openimageio-3.1.7.0-webpmux-fix.patch
new file mode 100644
index 000000000000..e55a8a587128
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-3.1.7.0-webpmux-fix.patch
@@ -0,0 +1,13 @@
+Fix wrong webpmux library name
+
+--- a/src/webp.imageio/CMakeLists.txt  2025-11-17 13:37:13.795979999 +0300
++++ b/src/webp.imageio/CMakeLists.txt  2025-11-17 13:37:33.095764587 +0300
+@@ -4,7 +4,7 @@
+ 
+ if (WebP_FOUND)
+     add_oiio_plugin (webpinput.cpp webpoutput.cpp
+-                     LINK_LIBRARIES WebP::webp WebP::webpdemux 
WebP::libwebpmux
++                     LINK_LIBRARIES WebP::webp WebP::webpdemux WebP::webpmux
+                      DEFINITIONS "USE_WEBP=1")
+ else ()
+     message (STATUS "WebP plugin will not be built")

diff --git a/media-libs/openimageio/openimageio-3.1.7.0.ebuild 
b/media-libs/openimageio/openimageio-3.1.7.0.ebuild
new file mode 100644
index 000000000000..64db710c62c9
--- /dev/null
+++ b/media-libs/openimageio/openimageio-3.1.7.0.ebuild
@@ -0,0 +1,469 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+
+TEST_OIIO_IMAGE_COMMIT="75099275c73a6937d40c69f9e14a006aa49fa201"
+TEST_OEXR_IMAGE_COMMIT="e38ffb0790f62f05a6f083a6fa4cac150b3b7452"
+inherit cuda cmake flag-o-matic python-single-r1 toolchain-funcs
+
+# TODO
+# investigate defaulting back to CMAKE_BUILD_TYPE=Release
+
+DESCRIPTION="A library for reading and writing images"
+HOMEPAGE="
+       https://sites.google.com/site/openimageio/
+       https://github.com/AcademySoftwareFoundation/OpenImageIO
+"
+SRC_URI="
+       
https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/v${PV}.tar.gz
+               -> ${P}.tar.gz
+       test? (
+               
https://github.com/AcademySoftwareFoundation/OpenImageIO-images/archive/${TEST_OIIO_IMAGE_COMMIT}.tar.gz
+               -> ${PN}-oiio-test-image-${TEST_OIIO_IMAGE_COMMIT}.tar.gz
+               
https://github.com/AcademySoftwareFoundation/openexr-images/archive/${TEST_OEXR_IMAGE_COMMIT}.tar.gz
+               -> ${PN}-oexr-test-image-${TEST_OEXR_IMAGE_COMMIT}.tar.gz
+               jpeg2k? (
+                       
https://www.itu.int/wftp3/Public/t/testsignal/SpeImage/T803/v2002_11/J2KP4files.zip
+               )
+               fits? (
+                       
https://www.cv.nrao.edu/fits/data/tests/ftt4b/file001.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/ftt4b/file002.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/ftt4b/file003.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/ftt4b/file009.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/ftt4b/file012.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0001.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0003.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0005.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0006.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0007.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0008.fits
+                       
https://www.cv.nrao.edu/fits/data/tests/pg93/tst0013.fits
+               )
+       )
+"
+S="${WORKDIR}/OpenImageIO-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
+
+X86_CPU_FEATURES=(
+       aes:aes
+       sse2:sse2
+       sse3:sse3
+       ssse3:ssse3
+       sse4_1:sse4.1
+       sse4_2:sse4.2
+       avx:avx
+       avx2:avx2
+       avx512f:avx512f
+       f16c:f16c
+)
+CPU_FEATURES=( "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}" )
+
+IUSE="cuda debug dicom doc ffmpeg fits gif gui jpeg2k jpegxl libcxx opencv 
openvdb ptex python raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools ) test? ( tools 
truetype )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       jpeg2k? ( app-arch/unzip )
+       doc? (
+               app-text/doxygen
+               dev-texlive/texlive-bibtexextra
+               dev-texlive/texlive-fontsextra
+               dev-texlive/texlive-fontutils
+               dev-texlive/texlive-latex
+               dev-texlive/texlive-latexextra
+       )
+"
+
+# >=media-libs/libuhdr-1.3
+RDEPEND="
+       app-arch/bzip2:=
+       dev-cpp/robin-map
+       dev-libs/pugixml
+       media-libs/libheif:=
+       media-libs/libjpeg-turbo:=
+       media-libs/libpng:=
+       media-libs/libwebp:=
+       media-libs/opencolorio:=
+       media-libs/openexr:=
+       media-libs/tiff:=
+       virtual/zlib:=
+       dicom? ( sci-libs/dcmtk )
+       ffmpeg? ( media-video/ffmpeg:= )
+       fits? ( sci-libs/cfitsio:= )
+       gif? ( media-libs/giflib:= )
+       jpeg2k? (
+               media-libs/openjpeg:=
+               )
+       jpegxl? ( media-libs/libjxl:= )
+       opencv? ( media-libs/opencv:= )
+       openvdb? (
+               dev-cpp/tbb:=
+               media-gfx/openvdb:=
+       )
+       ptex? ( media-libs/ptex:= )
+       python? (
+               ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/numpy:=[${PYTHON_USEDEP}]
+                       dev-python/pybind11[${PYTHON_USEDEP}]
+               ')
+       )
+       gui? (
+               media-libs/libglvnd
+               dev-qt/qtbase:6[gui,widgets,opengl]
+       )
+       raw? ( media-libs/libraw:= )
+       truetype? ( media-libs/freetype )
+"
+DEPEND="
+       dev-libs/imath:=
+       dev-libs/libfmt:=
+       ${RDEPEND}
+       test? ( media-fonts/droid )
+"
+
+DOCS=(
+       CHANGES.md
+       CREDITS.md
+       README.md
+)
+
+PATCHES=(
+       # Detect Heif library
+       "${FILESDIR}/${PN}-2.5.12.0-heif-find-fix.patch"
+       "${FILESDIR}/${PN}-3.1.7.0-tests-optional.patch"
+       # Fix WebPMux wrong libname
+       "${FILESDIR}/${PN}-3.1.7.0-webpmux-fix.patch"
+)
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       # Drop DICOM plugin source if not enabled
+       if ! use dicom; then
+               rm "src/dicom.imageio" -r || die
+       fi
+
+       # Drop GIF plugin source if not enabled
+       if ! use gif; then
+               rm src/gif.imageio -r || die
+       fi
+
+       # Drop JPEG2000 plugin source if not enabled
+       if ! use jpeg2k; then
+               rm src/jpeg2000.imageio -r || die
+       fi
+
+       # Drop raw plugin source if not enabled
+       if ! use raw; then
+               rm src/raw.imageio -r || die
+       fi
+
+       cmake_src_prepare
+       cmake_comment_add_subdirectory src/fonts
+
+       # Test suite
+       if use test ; then
+               ln -s "${WORKDIR}/OpenImageIO-images-${TEST_OIIO_IMAGE_COMMIT}" 
"${WORKDIR}/oiio-images" || die
+               ln -s "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" 
"${WORKDIR}/openexr-images" || die
+
+               if use fits; then
+                       mkdir -p "${WORKDIR}/fits-images/"{ftt4b,pg93} || die
+                       for a in ${A}; do
+                               if [[ "${a}" == file*.fits ]]; then
+                                       ln -s "${DISTDIR}/${a}" 
"${WORKDIR}/fits-images/ftt4b/" || die
+                               fi
+                               if [[ "${a}" == tst*.fits ]]; then
+                                       ln -s "${DISTDIR}/${a}" 
"${WORKDIR}/fits-images/pg93/" || die
+                               fi
+                       done
+               fi
+
+               if use jpeg2k; then
+                       ln -s "${WORKDIR}/J2KP4files" 
"${WORKDIR}/j2kp4files_v1_5" || die
+               fi
+
+               cp testsuite/heif/ref/out-libheif1.1{2,5}-orient.txt || die
+#              eapply "${FILESDIR}/${PN}-2.5.12.0_heif_test.patch"
+       fi
+
+       mkdir "${T}/cmake" || die
+
+       local libdir="${ESYSROOT}/usr/$(get_libdir)"
+
+       # generate our own WebPConfig.cmake via pkg-config # 937031
+       cat <<-EOF > "${T}/cmake/WebPConfig.cmake" || die
+       set(WebP_VERSION $(pkg-config --modversion libwebp))
+       set(WEBP_VERSION \${WebP_VERSION})
+
+       set_and_check(WebP_INCLUDE_DIR "$(pkg-config --variable includedir 
libwebp)")
+       set(WebP_INCLUDE_DIRS \${WebP_INCLUDE_DIR})
+       set(WEBP_INCLUDE_DIRS \${WebP_INCLUDE_DIR})
+       set(WebP_LIBRARIES "webp")
+       set(WEBP_LIBRARIES "\${WebP_LIBRARIES}")
+
+       # Create imported target WebP::sharpyuv
+       add_library(WebP::sharpyuv STATIC IMPORTED)
+
+       set_target_properties(WebP::sharpyuv PROPERTIES
+               INTERFACE_INCLUDE_DIRECTORIES 
"\${WebP_INCLUDE_DIR};\${WebP_INCLUDE_DIR}/webp"
+               INTERFACE_LINK_LIBRARIES "m"
+       )
+
+       # Create imported target WebP::webp
+       add_library(WebP::webp STATIC IMPORTED)
+
+       set_target_properties(WebP::webp PROPERTIES
+               INTERFACE_INCLUDE_DIRECTORIES "\${WebP_INCLUDE_DIR}"
+               INTERFACE_LINK_LIBRARIES "WebP::sharpyuv;Threads::Threads;m"
+       )
+
+       # Create imported target WebP::webpmux
+       add_library(WebP::webpmux STATIC IMPORTED)
+
+       set_target_properties(WebP::webpmux PROPERTIES
+               INTERFACE_INCLUDE_DIRECTORIES "\${WebP_INCLUDE_DIR}"
+               INTERFACE_LINK_LIBRARIES "WebP::webp;m"
+       )
+
+       # Create imported target WebP::webpdemux
+       add_library(WebP::webpdemux STATIC IMPORTED)
+
+       set_target_properties(WebP::webpdemux PROPERTIES
+               INTERFACE_INCLUDE_DIRECTORIES "\${WebP_INCLUDE_DIR}"
+               INTERFACE_LINK_LIBRARIES "WebP::webp"
+       )
+
+       # Import target "WebP::webp" for configuration "RelWithDebInfo"
+       set_property(TARGET WebP::webp APPEND PROPERTY IMPORTED_CONFIGURATIONS 
RELWITHDEBINFO)
+       set_target_properties(WebP::webp PROPERTIES
+               IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "C"
+               IMPORTED_LOCATION_RELWITHDEBINFO "${libdir}/libwebp.so"
+       )
+
+       list(APPEND _cmake_import_check_targets WebP::webp )
+       list(APPEND _cmake_import_check_files_for_WebP::webp 
"${libdir}/libwebp.so" )
+
+       # Import target "WebP::webpmux" for configuration "RelWithDebInfo"
+       set_property(TARGET WebP::webpmux APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELWITHDEBINFO)
+       set_target_properties(WebP::webpmux PROPERTIES
+               IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "C"
+               IMPORTED_LOCATION_RELWITHDEBINFO "${libdir}/libwebpmux.so"
+       )
+
+       list(APPEND _cmake_import_check_targets WebP::webpmux )
+       list(APPEND _cmake_import_check_files_for_WebP::webpmux 
"${libdir}/libwebpmux.so" )
+
+       # Import target "WebP::webpdemux" for configuration "RelWithDebInfo"
+       set_property(TARGET WebP::webpdemux APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELWITHDEBINFO)
+       set_target_properties(WebP::webpdemux PROPERTIES
+               IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "C"
+               IMPORTED_LOCATION_RELWITHDEBINFO "${libdir}/libwebpdemux.so"
+       )
+
+       list(APPEND _cmake_import_check_targets WebP::webpdemux )
+       list(APPEND _cmake_import_check_files_for_WebP::webpdemux 
"${libdir}/libwebpdemux.so" )
+
+       # Import target "WebP::sharpyuv" for configuration "RelWithDebInfo"
+       set_property(TARGET WebP::sharpyuv APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELWITHDEBINFO)
+       set_target_properties(WebP::sharpyuv PROPERTIES
+               IMPORTED_LINK_INTERFACE_LANGUAGES_RELWITHDEBINFO "C"
+               IMPORTED_LOCATION_RELWITHDEBINFO "${libdir}/libsharpyuv.so"
+       )
+
+       list(APPEND _cmake_import_check_targets WebP::sharpyuv )
+       list(APPEND _cmake_import_check_files_for_WebP::sharpyuv 
"${libdir}/libsharpyuv.so" )
+
+       check_required_components(WebP)
+       EOF
+}
+
+src_configure() {
+       # Build with SIMD support
+       local cpufeature
+       local mysimd=()
+       for cpufeature in "${CPU_FEATURES[@]}"; do
+               use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+       done
+
+       # If no CPU SIMDs were used, completely disable them
+       [[ -z ${mysimd[*]} ]] && mysimd=("0")
+
+       # This is currently needed on arm64 to get the NEON SIMD wrapper to 
compile the code successfully
+       # Even if there are no SIMD features selected, it seems like the code 
will turn on NEON support if it is available.
+       use arm64 && append-flags -flax-vector-conversions
+
+       append-cflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+       append-cxxflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+
+       local mycmakeargs=(
+               -DVERBOSE="no"
+               -DLINKSTATIC="no"
+
+               -DTEX_BATCH_SIZE="16" # AVX512 -> 16
+               -DSTOP_ON_WARNING="no"
+
+               -DCMAKE_CXX_STANDARD="17"
+               -DDOWNSTREAM_CXX_STANDARD="17"
+
+               -DCMAKE_UNITY_BUILD=OFF
+               # -DCMAKE_UNITY_BUILD_MODE="BATCH"
+               # -DCMAKE_UNITY_BUILD_BATCH_SIZE="$(nproc)"
+
+               -DBUILD_DOCS="$(usex doc)"
+               # -DBUILD_OIIOUTIL_ONLY="no"
+               -DBUILD_TESTING="$(usex test)"
+
+               -DINSTALL_FONTS="no"
+               -DINSTALL_DOCS="$(usex doc)"
+
+               -DENABLE_DCMTK="$(usex dicom)"
+               -DENABLE_FFmpeg="$(usex ffmpeg)"
+               -DENABLE_FITS="$(usex fits)"
+               -DENABLE_FREETYPE="$(usex truetype)"
+               -DENABLE_GIF="$(usex gif)"
+               -DENABLE_LibRaw="$(usex raw)"
+               -DENABLE_Nuke="no" # not in Gentoo
+               -DENABLE_OpenCV="$(usex opencv)"
+               -DENABLE_OpenJPEG="$(usex jpeg2k)"
+               -DENABLE_OpenVDB="$(usex openvdb)"
+               -DENABLE_TBB="$(usex openvdb)"
+               -DENABLE_Ptex="$(usex ptex)"
+
+               -DENABLE_libuhdr="no" # not in Gentoo
+               -DENABLE_WebP="yes" # missing cmake files
+
+               -DOIIO_BUILD_TESTS="$(usex test)"
+               -DOIIO_BUILD_TOOLS="$(usex tools)"
+               -DOIIO_DOWNLOAD_MISSING_TESTDATA="no"
+               -DOIIO_INTERNALIZE_FMT="no"
+               -DOIIO_USE_CUDA="$(usex cuda)"
+               # -DOIIO_USE_EXR_C_API="yes"
+
+               -DOPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH="yes"
+
+               # -DOpenImageIO_ALWAYS_PREFER_CONFIG="yes" # breaks openexr 
detection
+               -DOpenImageIO_BUILD_STATIC_UTIL_LIBRARY="no"
+
+               -DUSE_CCACHE="no"
+               -DUSE_EXTERNAL_PUGIXML="yes"
+               -DUSE_JXL="$(usex jpegxl)"
+               -DUSE_R3DSDK="no" # not in Gentoo
+               -DUSE_PYTHON="$(usex python)"
+               -DUSE_QT="$(usex gui)"
+               -DUSE_SIMD="$(local IFS=','; echo "${mysimd[*]}")"
+
+               -DWebP_DIR="${T}/cmake"
+       )
+
+       if use gui; then
+               mycmakeargs+=(
+                       -DUSE_IV="yes"
+                       -DUSE_OPENGL="yes"
+                       # -DUSE_CCACHE="yes"
+                       # needs local -x CCACHE_CPP2=1
+                       # CXX_COMPILER_LAUNCHER
+               )
+       fi
+
+       if use python; then
+               mycmakeargs+=(
+                       "-DPYTHON_VERSION=${EPYTHON#python}"
+                       "-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+               )
+       fi
+
+       if use test; then
+               mycmakeargs+=(
+                       -DENABLE_LIBRAW="$(usex raw)"
+                       -DENABLE_OPENJPEG="$(usex jpeg2k)"
+                       -DENABLE_PTEX="$(usex ptex)"
+               )
+       fi
+
+       # checks CMAKE_COMPILER_IS_CLANG
+       if tc-is-clang; then
+               mycmakeargs+=(
+                       -DUSE_LIBCPLUSPLUS="$(usex libcxx)"
+               )
+       fi
+
+       cmake_src_configure
+}
+
+src_test() {
+       # A lot of tests needs to have access to the installed data files.
+       # So install them into the image directory now.
+       DESTDIR="${T}" cmake_build install
+
+       if use cuda; then
+               cuda_add_sandbox -w
+               addwrite "/proc/self/task/"
+               addpredict "/dev/char/"
+       fi
+
+       CMAKE_SKIP_TESTS=(
+               "-broken$"
+
+               "texture-interp-bilinear.batch$"
+               "texture-interp-closest.batch$"
+               "texture-levels-stochaniso.batch$"
+               "texture-levels-stochmip.batch$"
+
+               "texture-mip-onelevel.batch$"
+               "texture-mip-stochastictrilinear.batch$"
+               "texture-mip-stochasticaniso.batch$"
+
+               "^python-imagebufalgo$"
+
+               "^bmp$"
+               "^dds$"
+               "^ico$"
+               "^jpeg2000$"
+               "^psd$"
+               "^ptex$"
+       )
+
+       sed -e "s#../../../testsuite#../../../OpenImageIO-${PV}/testsuite#g" \
+               -i "${CMAKE_USE_DIR}/testsuite/python-imagebufalgo/ref/out.txt" 
|| die
+
+       # NOTE testsuite/runtest.py
+       local -x CI=true
+       # local -x OPENIMAGEIO_CUDA=0 # prevent trying to access gpu devices
+       # local -x OIIO_USE_CUDA=0
+       local -x CMAKE_PREFIX_PATH="${T}/usr"
+       local -x LD_LIBRARY_PATH
+       LD_LIBRARY_PATH="${T}/usr/$(get_libdir)"
+       # local -x OPENIMAGEIO_DEBUG_FILE
+       local -x OPENIMAGEIO_DEBUG=0
+
+       # find ${CMAKE_USE_DIR}/src/fonts -mindepth 1 -type d
+       local -x OPENIMAGEIO_FONTS="${CMAKE_USE_DIR}/src/fonts/Droid_Serif"
+
+       if use python; then
+               local -x PYTHONPATH="${T}$(python_get_sitedir)"
+       fi
+
+       cmake_src_test
+
+       # Clean up the image directory for src_install
+       rm -fr "${T:?}"/usr || die
+}
+
+src_install() {
+       cmake_src_install
+
+       # remove Windows loader file
+       if use python; then
+               rm "${D}$(python_get_sitedir)/__init__.py" || die
+       fi
+}

Reply via email to