diff options
author | Huang Rui <vowstar@gmail.com> | 2024-07-22 17:49:22 +0800 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2024-08-03 09:39:01 +0200 |
commit | 922111577300d9190370618c83baa2fa9766d878 (patch) | |
tree | 62381b18a1ee0f8c4307c439fc517aeb738ed9a7 /media-libs/openimageio | |
parent | sys-kernel/installkernel: drop 44 (diff) | |
download | gentoo-922111577300d9190370618c83baa2fa9766d878.tar.gz gentoo-922111577300d9190370618c83baa2fa9766d878.tar.bz2 gentoo-922111577300d9190370618c83baa2fa9766d878.zip |
media-libs/openimageio: add 2.5.13.1
Signed-off-by: Huang Rui <vowstar@gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'media-libs/openimageio')
-rw-r--r-- | media-libs/openimageio/Manifest | 1 | ||||
-rw-r--r-- | media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch | 19 | ||||
-rw-r--r-- | media-libs/openimageio/openimageio-2.5.13.1.ebuild | 303 |
3 files changed, 323 insertions, 0 deletions
diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest index b7e63eddb105..f1e806c27c42 100644 --- a/media-libs/openimageio/Manifest +++ b/media-libs/openimageio/Manifest @@ -5,6 +5,7 @@ DIST file003.fits 581760 BLAKE2B 35d77c64ff9e25f34593ea41839a4f7712dc344d12ab2c0 DIST file009.fits 25920 BLAKE2B 594061eba4d48da8cbfee58ab592a0adb5a22d681228330e84f60304e5146a8856e9c65b763d6d8e2136217ebe85d92128318cccfcf6358c7bc767232c6382c9 SHA512 57d53622854399aed96efbeff78e700990b2fc63c4dbd1bc9ac58c7670af98d528db2f1a3e9de4e74b977f8318109b465b46423bbac36bf2bf34a1e33e7dcdb8 DIST file012.fits 1019520 BLAKE2B e86d9e0004ca159d9a5ae0585776db65c7dd49162cb5dbd8b511686244950e33746d8a41f60b5ba8fcea220194fa87e16235adb7ccc0b4fb4b0a61e6c5c376a8 SHA512 45439544da478b24ccbcf14dc9a651aa8ecbce29b9992204d85c1eee42bc88b68802ec57bc148510da1e062de95ee53dd5c64c9bfa2e0b6cdfd945a78d1fc76a DIST openimageio-2.5.12.0.tar.gz 52535046 BLAKE2B d60e823b8834c68098e771929475b7321363aad044b244a5c2a284e1c67a1a3145d22ed259eccbc4f6fbfcd6d2768414e4f22bdfa17f6516205d7749dcc6c6c8 SHA512 c6e53b5484702c66f01490d23f272e597e016b984d54f81e400605bf2a2e1dd7843ce25a7ef51ffbc7ee7089b42e8d73a91699b93cb655b5ca9ef869c9a950f4 +DIST openimageio-2.5.13.1.tar.gz 52538869 BLAKE2B ceba0bde73cbf2b5b7b243fa1dc4806aece881c37775418c3305d5e5665e1c249219cad2c7b0d9d4acd5955897dc13dfb94e4627e9ae866e6400559b99e7021a SHA512 3c9eb9a361464e73fae518b704438bbf409c846031f05026d8b9ace91431819ac80674130ccd2300deb9756ae26e150bf5c0a866be3f3fb65bdfba0ba60395ab DIST openimageio-2.5.9.0.tar.gz 52051925 BLAKE2B 7d499d80af6cdecfdea9a422030c095357b67a7d8dd281638e2e687df47b5c7b57c909c8682f1c6185251df13d6f9c7ddf1f9d5fc7fef26351fe0d4b8cc7d8c6 SHA512 554f61e19e3f81c8495f48386494a1aeee3a2a759b3022b4fb5cf1dba1dbc813cd0956b60d08a2c1feca69d97141e5836651fcbbeadab1e050eb2d103eb1c41f DIST openimageio-oexr-test-image-df16e765fee28a947244657cae3251959ae63c00.tar.gz 252131865 BLAKE2B f5f2477897f84148574cdd02b673c7bdff49d8f45026375095bb6f184230466e2e60020be7583e5a5aa0aa9c971e7251979d3eeb2ee620d47342b1e4435427e0 SHA512 e89c2935496c5fec2ebe1175e9b9bd3aecb23374ec3947057195ee6d31a883c1a67c4dc754bf0a5b68859093b5e169b70ffabd4736cf67f9e3dc09f3299fc54f DIST openimageio-oiio-test-image-7d821f02c848022b2ee703d6bee48ca2acbfae70.tar.gz 141224552 BLAKE2B e185f6b2bd345ca0740d1ac7bc48e5a283a80db0d2fa88566367e1179e96d048ac371708db29a6591d0c4eb7f9c171af22bac30fd68bc223e2c373db3b99077d SHA512 a3c9e4151c946b79e2eb37cd53fd2865d6117431ad06e4e35d42c10d9ff8415224e2f20e14af8dd869ec2a6c6faf4f9d8ef28e5b6556c88a54398de4a8843b59 diff --git a/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch b/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch new file mode 100644 index 000000000000..6ffcdc3def3a --- /dev/null +++ b/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch @@ -0,0 +1,19 @@ +From: Huang Rui <vowstar@gmail.com> +Date: 2024-07-22 +Subject: [PATCH] fix FindLibheif with heif_version.h multilib warpper + +--- a/src/cmake/modules/FindLibheif.cmake 2024-07-15 21:30:17.000000000 +0800 ++++ b/src/cmake/modules/FindLibheif.cmake 2024-07-22 17:33:21.827445823 +0800 +@@ -30,7 +30,11 @@ + DOC "The directory where libheif libraries reside") + + if (LIBHEIF_INCLUDE_DIR) +- file(STRINGS "${LIBHEIF_INCLUDE_DIR}/libheif/heif_version.h" TMP REGEX "^#define LIBHEIF_VERSION[ \t].*$") ++ execute_process( ++ COMMAND sh -c "${CMAKE_C_COMPILER} -E -dD -P ${LIBHEIF_INCLUDE_DIR}/libheif/heif_version.h | grep LIBHEIF_VERSION" ++ OUTPUT_VARIABLE TMP ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++ ) + string(REGEX MATCHALL "[0-9.]+" LIBHEIF_VERSION ${TMP}) + endif () + diff --git a/media-libs/openimageio/openimageio-2.5.13.1.ebuild b/media-libs/openimageio/openimageio-2.5.13.1.ebuild new file mode 100644 index 000000000000..bd837866d719 --- /dev/null +++ b/media-libs/openimageio/openimageio-2.5.13.1.ebuild @@ -0,0 +1,303 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +TEST_OIIO_IMAGE_COMMIT="7d821f02c848022b2ee703d6bee48ca2acbfae70" +TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00" +inherit cmake flag-o-matic python-single-r1 virtualx + +DESCRIPTION="A library for reading and writing images" +HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/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="dicom doc ffmpeg fits gif gui jpeg2k opencv openvdb ptex python qt6 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 + ) +" +RDEPEND=" + dev-libs/boost:= + dev-cpp/robin-map + dev-libs/libfmt:= + dev-libs/pugixml:= + >=media-libs/libheif-1.13.0:= + media-libs/libjpeg-turbo:= + media-libs/libpng:0= + >=media-libs/libwebp-0.2.1:= + >=dev-libs/imath-3.1.2-r4:= + >=media-libs/opencolorio-2.1.1-r4:= + >=media-libs/openexr-3:0= + media-libs/tiff:= + sys-libs/zlib:= + dicom? ( sci-libs/dcmtk ) + ffmpeg? ( media-video/ffmpeg:= ) + fits? ( sci-libs/cfitsio:= ) + gif? ( media-libs/giflib:0= ) + jpeg2k? ( >=media-libs/openjpeg-2.0:2= ) + opencv? ( media-libs/opencv:= ) + openvdb? ( + dev-cpp/tbb:= + media-gfx/openvdb:= + ) + ptex? ( media-libs/ptex:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-libs/boost:=[python,${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + ') + ) + gui? ( + media-libs/libglvnd + !qt6? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtopengl:5 + dev-qt/qtwidgets:5 + ) + qt6? ( + dev-qt/qtbase:6[gui,widgets,opengl] + ) + ) + raw? ( media-libs/libraw:= ) + truetype? ( media-libs/freetype:2= ) +" +DEPEND=" + ${RDEPEND} +" + +DOCS=( + CHANGES.md + CREDITS.md + README.md +) + +PATCHES=( + "${FILESDIR}/${PN}-2.5.8.0-fix-unit_simd.patch" + "${FILESDIR}/${PN}-2.5.8.0-fix-tests.patch" + "${FILESDIR}/${PN}-2.5.12.0-tests-optional.patch" + "${FILESDIR}/${PN}-2.5.12.0-heif-find-fix.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + if ! use dicom; then + rm "src/dicom.imageio" -r || die + fi + + if ! use gif; then + rm src/gif.imageio -r || die + fi + + if ! use jpeg2k; then + rm src/jpeg2000.imageio -r || die + fi + + if ! use raw; then + rm src/raw.imageio -r || die + fi + + cmake_src_prepare + cmake_comment_add_subdirectory src/fonts + + if use test ; then + mv -v "${WORKDIR}/OpenImageIO-images-${TEST_OIIO_IMAGE_COMMIT}" "${WORKDIR}/oiio-images" || die + mv -v "${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 + cp "${DISTDIR}/${a}" "${WORKDIR}/fits-images/ftt4b/" || die + fi + if [[ "${a}" == tst*.fits ]]; then + cp "${DISTDIR}/${a}" "${WORKDIR}/fits-images/pg93/" || die + fi + done + fi + + if use jpeg2k; then + mv -v "${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 +} + +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 + + local mycmakeargs=( + -DVERBOSE="yes" + -DINTERNALIZE_FMT="no" + # -DALWAYS_PREFER_CONFIG="yes" + # -DGLIBCXX_USE_CXX11_ABI="yes" + # -DTEX_BATCH_SIZE="8" # TODO AVX512 -> 16 + -DSTOP_ON_WARNING="OFF" + + -DCMAKE_CXX_STANDARD="17" + -DDOWNSTREAM_CXX_STANDARD="17" + + -DCMAKE_UNITY_BUILD_MODE="BATCH" + -DUNITY_SMALL_BATCH_SIZE="$(nproc)" + + -DBUILD_DOCS="$(usex doc)" + # -DBUILD_OIIOUTIL_ONLY="no" + -DBUILD_TESTING="$(usex test)" + + -DINSTALL_FONTS="OFF" + -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_GIF="$(usex gif)" + -DENABLE_LIBRAW="$(usex raw)" + -DENABLE_PTEX="$(usex ptex)" + -DENABLE_OPENJPEG="$(usex jpeg2k)" + + -DOIIO_BUILD_TOOLS="$(usex tools)" + -DOIIO_BUILD_TESTS="$(usex test)" + -DOIIO_DOWNLOAD_MISSING_TESTDATA="no" + + -DUSE_CCACHE="no" + -DUSE_EXTERNAL_PUGIXML="yes" + # -DUSE_LIBCPLUSPLUS="yes" + -DUSE_R3DSDK="no" # not in Gentoo + -DUSE_PYTHON="$(usex python)" + -DUSE_SIMD="$(local IFS=','; echo "${mysimd[*]}")" +) + + if use gui; then + mycmakeargs+=( -DUSE_IV="yes" -DUSE_OPENGL="yes" -DUSE_QT="yes" ) + if ! use qt6; then + mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6="yes" ) + fi + else + mycmakeargs+=( + -DUSE_QT="no" + ) + fi + + if use python; then + mycmakeargs+=( + "-DPYTHON_VERSION=${EPYTHON#python}" + "-DPYTHON_SITE_DIR=$(python_get_sitedir)" + ) + 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 + + CMAKE_SKIP_TESTS=( + "-broken$" + ) + + sed -e "s#../../../testsuite#../../../OpenImageIO-${PV}/testsuite#g" \ + -i "${CMAKE_USE_DIR}/testsuite/python-imagebufalgo/ref/out.txt" || die + + local -x CI CMAKE_PREFIX_PATH LD_LIBRARY_PATH OPENIMAGEIO_FONTS PYTHONPATH + CI=true + CMAKE_PREFIX_PATH="${T}/usr" + LD_LIBRARY_PATH="${T}/usr/$(get_libdir)" + OPENIMAGEIO_FONTS="${CMAKE_USE_DIR}/src/fonts" + + if use python; then + PYTHONPATH="${T}$(python_get_sitedir)" + fi + + virtx 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 +} |