From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/files/, media-libs/openimageio/
Date: Sun, 05 Jan 2025 20:35:20 +0000 (UTC) [thread overview]
Message-ID: <1736109204.fa90c53710c45618987773803fda61b5af39e2bc.sam@gentoo> (raw)
commit: fa90c53710c45618987773803fda61b5af39e2bc
Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Mon Nov 11 19:17:01 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 5 20:33:24 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa90c537
media-libs/openimageio: add 2.5.18.0
Bug: https://bugs.gentoo.org/937887
Closes: https://bugs.gentoo.org/940297
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-libs/openimageio/Manifest | 3 +
.../openimageio-2.5.18.0-tests-optional.patch | 31 +++
media-libs/openimageio/openimageio-2.5.18.0.ebuild | 302 +++++++++++++++++++++
3 files changed, 336 insertions(+)
diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index e75ca4b50a4c..1d817bd5b805 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -5,8 +5,11 @@ 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.13.1.tar.gz 52538869 BLAKE2B ceba0bde73cbf2b5b7b243fa1dc4806aece881c37775418c3305d5e5665e1c249219cad2c7b0d9d4acd5955897dc13dfb94e4627e9ae866e6400559b99e7021a SHA512 3c9eb9a361464e73fae518b704438bbf409c846031f05026d8b9ace91431819ac80674130ccd2300deb9756ae26e150bf5c0a866be3f3fb65bdfba0ba60395ab
+DIST openimageio-2.5.18.0.tar.gz 52549475 BLAKE2B 8a3f61f6089b304202e829a28946ec8c0bc84e05e61b84dd39f1e036614faab005619962c0217248208e133595f55fa8ffea1d931710a88eff8208b8c36fa2ae SHA512 ab6ef20fe099c19ec8cce1308890e76ec82c4bcdc1d5a2ead8c44f04593c060e819fededb958b7f36ccd0118b1aae9b1c5e12b442f7e066e940b4e32d378f7d9
+DIST openimageio-oexr-test-image-d45a2d5a890d6963b94479c7a644440068c37dd2.tar.gz 263237088 BLAKE2B 9445464b6d75d4800b843bd4a4f88404f587ca4ed384a0c1d428d5a249c04af0c610a95660aac5edff22c003c067e3a907d4a0896d7cfb20731cb486e436f17d SHA512 bbfd8e40eedd26955bc97789bfdfd556ee9ed652babc1c9c60c3cda6e5cab05a0a813323f25bc536132498a2bf3185a07020cd1170c047b72973e2be3e10fe19
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
+DIST openimageio-oiio-test-image-7e6d875542b5bc1b2974b7cbecee115365a36527.tar.gz 143496336 BLAKE2B b08d42834f60abd14a64b442e30ec4f80f4bb8095177ffd1ba94240a4c9a3947cdd36f98cd967667e8a5d52fe490a214ad4cd58a836a4acd39bbe1a744eacb8b SHA512 f4f0612b4b3600fbb1ef30b4f196139a300f36e6a8290ee6a49fe0fa86072e2becf3d9e5f32c060b2ed04c0946848976bead62b352996fb8286f9969daf764d1
DIST tst0001.fits 43200 BLAKE2B 7d9d82fde64c3b21f8f86be6feaf9187d48c2c504c9afc0e652015512fb3d9e04c0f78596cdc9d7cc54815175549bfdf01d2d80f894cd36f4e6284aaf065dcc8 SHA512 b401accd51b56a493e2ec52fe4441e05cbefa3d03fe0e1c6834327094ab9f8e0c69a0f2cff26007ed7c7f8686a78a3a7e043d945f3a93c1b68e03668b8cbdc5c
DIST tst0003.fits 152640 BLAKE2B 74c38c9f6cd65a46eff865589bd319111187d123c90bedc80f934caf6625f20120ecb30e8f5210c7d5d6609964e63fc2c2fc59f60bf609a07f2440421f44356e SHA512 4cd9c9a96fd3a5b8daae7d6b34af4c68c965abc4cc825aaaf9f3587a43328f468595ff1cd210e9fbca365bd52bf31a70abf39b2b3966d3087dd3af40ba0781a4
DIST tst0005.fits 48960 BLAKE2B ef8bb62702f579c8500721835100e150b2ca73272866a88457589d6f14b407efb41d106be2d454089dae00c04b903bb874132d5b44852245e6d4372ed20c7b6f SHA512 515a4dbca51e5b7fa0139b369066c02fcfa96eeffb471c6f5073343ab50da527ee610d9b677e6fabdaad1b7f9f9c68bd65eb71c5b944e5ffacf429d01fe14a39
diff --git a/media-libs/openimageio/files/openimageio-2.5.18.0-tests-optional.patch b/media-libs/openimageio/files/openimageio-2.5.18.0-tests-optional.patch
new file mode 100644
index 000000000000..e9fb9a4b1911
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-2.5.18.0-tests-optional.patch
@@ -0,0 +1,31 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Make fits test images download optional
+Make j2k test images download optional
+
+diff --git a/src/cmake/testing.cmake b/src/cmake/testing.cmake
+index b671def..ff84b7d 100644
+--- a/src/cmake/testing.cmake
++++ b/src/cmake/testing.cmake
+@@ -271,9 +271,11 @@ macro (oiio_add_all_tests)
+ 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 (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
+@@ -410,6 +410,10 @@ function (oiio_setup_test_data)
+ 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/openimageio-2.5.18.0.ebuild b/media-libs/openimageio/openimageio-2.5.18.0.ebuild
new file mode 100644
index 000000000000..a036d8cbe26c
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.5.18.0.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+TEST_OIIO_IMAGE_COMMIT="7e6d875542b5bc1b2974b7cbecee115365a36527"
+TEST_OEXR_IMAGE_COMMIT="d45a2d5a890d6963b94479c7a644440068c37dd2"
+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 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
+ 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-tests.patch"
+ "${FILESDIR}/${PN}-2.5.12.0-heif-find-fix.patch"
+ "${FILESDIR}/${PN}-2.5.18.0-tests-optional.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
+ 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
+}
+
+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
+
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118077
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 15 ]]; then
+ append-flags -fno-early-inlining
+ fi
+
+ 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"
+ )
+ 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$"
+ "texture-levels-stochaniso.batch"
+ "unit_simd"
+ )
+
+ 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
+}
next reply other threads:[~2025-01-05 20:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-05 20:35 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-04 21:40 [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/files/, media-libs/openimageio/ Andreas Sturmlechner
2024-06-05 12:57 Andrew Ammerlaan
2024-03-18 16:35 Sam James
2022-02-15 19:51 Sam James
2020-10-08 21:23 Sam James
2019-07-16 15:14 Andreas Sturmlechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1736109204.fa90c53710c45618987773803fda61b5af39e2bc.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox