summaryrefslogtreecommitdiff
path: root/media-libs/openimageio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-27 08:42:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-27 08:42:41 +0100
commit0fcaac21e786bd7911b1e8f436cd885c5e2f6437 (patch)
treeba392915815492b0ce486fc0e3ad5afb4a849b6f /media-libs/openimageio
parente30edd47e1804bf3ed1ea7be2eac67f4b8cd9f38 (diff)
gentoo auto-resync : 27:10:2023 - 08:42:41
Diffstat (limited to 'media-libs/openimageio')
-rw-r--r--media-libs/openimageio/Manifest18
-rw-r--r--media-libs/openimageio/metadata.xml2
-rw-r--r--media-libs/openimageio/openimageio-2.4.14.0.ebuild205
-rw-r--r--media-libs/openimageio/openimageio-2.4.15.0.ebuild205
-rw-r--r--media-libs/openimageio/openimageio-2.4.16.0.ebuild205
-rw-r--r--media-libs/openimageio/openimageio-2.5.4.0.ebuild205
6 files changed, 834 insertions, 6 deletions
diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index 3e1352f9d8b1..32f72a8e811f 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -1,11 +1,19 @@
-DIST openimageio-2.4.12.0.tar.gz 32157785 BLAKE2B b2578165b389029dc6ad295b50d008790f9690c03ca17fda7c1d1ede84039ab4065cb1c88402e2b20913736d669a72781bb523d391af2403a10ddae148ae07a6 SHA512 bf8fa84c6732cabd2810a5cfbdd3ea41b273d82e51762426c8a2b60a31e114ff672c18ce433eb5cf27eb250996da18b7f9ece1b34093a0cb4c7305328174e74e
-DIST openimageio-2.4.13.0.tar.gz 32162551 BLAKE2B f0d219b2f585528e8901f695ccde0c599943914ce1b64faf53c172d9eacd3c2f6843a2fd7c1eebd6fcda762b61643a7ea5ed7fbabfd909963afedbedd8d200a1 SHA512 9325beefce55b66a58fcfc2ce93e1406558ed5f6cc37cb1e8e04aee470c4f30a14483bebfb311c329f7868afb6c508a052661c6b12d819a69f707c1a30cd9549
+DIST openimageio-2.4.12.0.tar.gz 32157951 BLAKE2B dd7dd7b641266a7c575eafbc258ffc4b298236043960ae6ef878f46cd3ec3342f3be5b9a14459724578abc6390318666e43e8835ef6b2f25bc05a52002c7096f SHA512 5a0b9e6b634326be051dac46d2145149e9ff3e33d60d05728420d156431d6aa85186706b5f5b66ab820f4cd97f68d049a76e2da13f99e457135360f56fb5a257
+DIST openimageio-2.4.13.0.tar.gz 32162857 BLAKE2B 43d6c16fb9dfba2e01ea6a7b68e8c72ec0c11be0d42d96e476a79b7972bcf61f2ac377009493e8fa9367001cc788a1453f8c0f1cf061a204f9da4b9f713d5554 SHA512 9e887c7039995ce7c41556e09a7eed940863260a522ecf7d9bec300189026ed507da560620dfa4a619deeb679be7adf42fe3a7020ff3094df777c7934c771227
+DIST openimageio-2.4.14.0.tar.gz 47890469 BLAKE2B 53865ab493a586a1e4fdc6f81a90f7ae3847556a09a9c19ade48cbe5d8e3f807d864a2409a468613b1a55c128d5f5e119f1f2a70fc44b1a5293c99c3431cc69f SHA512 6b87c805907a2f7c98f40e987fb6ebf769f8519f5d8a8b7393bed62a41cee1118bb32d2bc4d23fd464973e237077d08771ff85f72073caa57799d71bd098038f
+DIST openimageio-2.4.15.0.tar.gz 47894262 BLAKE2B 82afc48b3d9affb987d94c57d91fe93b27c78350d02fc7605ce3995e5f37724495bbc0d2f85fa8efb86113ef48d0aec15cfdb9bad8547315542ed125e5f71349 SHA512 dc1f805d6dc85170784d2b2860bfd488fdebb92cb12254d5c0d4df9483e55f298f6fbf74aca0c52162583300327de99bd92f73c2a2b7f5611f61bbfef5ca22a5
+DIST openimageio-2.4.16.0.tar.gz 47894563 BLAKE2B 02788bb7ccc9bbcb84a44df0c86252545f89cf8dcd1b84443f185f43e60c9eb701e9c5e781c946dec797ec888c5ebdd5efb3f1d95b684c71cbb7271bf6f0da9e SHA512 f9835d6b5e938bdba462a64eb9cc3b89f27ea36b6b59f7143a9c0b2794f095ca68fbd26bdd7322b2b260e9ded5cc6a91f86ad11f292ad8163a1dfe55b9a3446c
DIST openimageio-2.4.6.0.tar.gz 31951691 BLAKE2B c21caf6784f366200127ba17a296e2134fa0d494e2cbf9cf592d020fdb820f62db0269545ac37c3969d64ddd8352d06a4f002fa9a7b3f05503ca9ec7d4a15415 SHA512 6e4e5294209c533eb9cf7c8df89b531bc77547df28af0d7964e255ce78142c201d5aa92a1f5f3b17348fdfc7d2a7aa9f2121acdf22fa98a6a872f0d31936bdf5
+DIST openimageio-2.5.4.0.tar.gz 48107518 BLAKE2B 38ba0f01976cfbe0f81c04fe8e64ff9c5ab530204d45a7b566882a7ec31c378c61a9b6bc62d6453c51e7ed33cd514a758b5d8224a646e568c9abd6274ebc6b0c SHA512 db9576bbc0b77da19db957710e86d8979e9987e91ff6246b513197fa98545904a7d34873cc2ba3ee60deed0a00a757dafb8dfa604f1e52097a1848aef43427cd
DIST openimageio-oexr-test-image-df16e765fee28a947244657cae3251959ae63c00.tar.gz 252131865 BLAKE2B f5f2477897f84148574cdd02b673c7bdff49d8f45026375095bb6f184230466e2e60020be7583e5a5aa0aa9c971e7251979d3eeb2ee620d47342b1e4435427e0 SHA512 e89c2935496c5fec2ebe1175e9b9bd3aecb23374ec3947057195ee6d31a883c1a67c4dc754bf0a5b68859093b5e169b70ffabd4736cf67f9e3dc09f3299fc54f
DIST openimageio-oexr-test-image-f17e353fbfcde3406fe02675f4d92aeae422a560.tar.gz 252226183 BLAKE2B b94fb08515e18821e5b88c10031ca53675c56f96397e00b4e186d8dfb9f8557bc935ff102d61835590dca6deeef90dba03b81fd76a7958ab4d0592c042c2130a SHA512 26b9b2cda9d48554b8a53f06bc20301f8ff77dc5e1d7caf9ec45aaaefd8578d3d4d4b2e0a1d1b0f697805fdc0c5d4bae4948cea21821df3006ac0f8b9020f85f
-DIST openimageio-oiio-test-image-245e50edede2792205080eadc1dedce33ff5c1e4.tar.gz 137901071 BLAKE2B 1e260eeba062026c719499425a3f7e3c2ccc7bd662725b6cceab4332d2d026bacc7df4c904cb776637ea60f9e2ba854d6e5010ffdc2a1621ad943b166d8402d3 SHA512 e7f7741d1cfadb3ea9ec5bab0b2556c58424c2dd89f938d5e93aeb99bff55479b11faa19cda4a481339be60de73317faa95e190d34d493c7825f706f4e57e73c
-DIST openimageio-oiio-test-image-aae37a54e31c0e719edcec852994d052ecf6541e.tar.gz 137910860 BLAKE2B 1dfc1a87ae895e62f223d915583378581cc1be12489d46155009ae10c8f63ab0fa93bfc06b67afe85f6e8a313779b9fed4e32cc6d9b92cd7d53d3c4b6e51bcce SHA512 7a46681a22145e96da5dc6ba4e6432ef38c6c352a607db348dcd194d86caa45b4f76ecb10c28cd50e3ee597404fbb3ede4acf071b4ebabc2de4e7b3cd204dade
+DIST openimageio-oiio-test-image-245e50edede2792205080eadc1dedce33ff5c1e4.tar.gz 137900826 BLAKE2B e89fd990b5e3ef23a853fc554066804c2a092b74a7ee54e3f1654bf419904ca094fef2703cd2f29d90c6d2bc5b8c8808cf9e66eb858c6d8495fdb7941f5029d7 SHA512 6568d4171c7dbd12d86099fd3dc35bfe2cbd46af84e58884900c5cea6ccea0139eabdb6d2194217ab3cffac56a81d37db4fbae57eb2a05f7916c27fe75a51ee6
+DIST openimageio-oiio-test-image-aae37a54e31c0e719edcec852994d052ecf6541e.tar.gz 137910473 BLAKE2B 4fb43e1dc0a726fc64085884494b8fef23a824d38e79c5ec33ab4bd9338f5efbb91a6b534b89f37f868838984e22530e8f938436674b0972537fb6b25f3b9d57 SHA512 d7e49efd1ce07364f226318b6572ceb46d654f22d94baa031dea05c6529b51a23a81ae6940136c3f7dd749f65f105c2efcdb5609b21b291110b92419233b2521
EBUILD openimageio-2.4.12.0.ebuild 6052 BLAKE2B 784a93858a12c4bddcaf0c74bfadd80bfa7a5fa0acf9e06c3a55e3635e6d3278f6379df2d016766f216defc0de368610c521180fded9eac4a7e3ffe1f8ba6ecd SHA512 5f6094fd7fc7b1603140894df33c3003fc7d9d427189af0f5efd71a8a4991932b2b964c6e413285af5ac2a777db92ac118da86b93832f84fad5e9f01acef7fc7
EBUILD openimageio-2.4.13.0.ebuild 6336 BLAKE2B c17ec51d00b7d3f700e610430cd4e9b87d7c5c73a709eba46b896e202d4b56e941e196e29b526e291c52d09f6096e877e0b4377c3114fc431771b919f8f87ae7 SHA512 7fc966dc163774a97d6c2fc36196876f9e530d7de10f64fb553b8a7a05fc34c9127ffe06d1169bb3ab574a7a76ae8be9e966ae68f284f9e9ca6385825f59cb0d
+EBUILD openimageio-2.4.14.0.ebuild 6253 BLAKE2B 9f4dc2a628918fdd68560e24cfd73c991df26c40b48a09e7d4c7b69f971ab72d253fe65598a8d0eb2191884a63910382b18634de14d9d97d6d194129b374df57 SHA512 ef68bf73dbba59c8ff0d88a467097031df1226e0120e766890939a6b56c11d8f6a907b03362f76a11f1da6c061de27df0a328d18638825672520b5d83e47b11f
+EBUILD openimageio-2.4.15.0.ebuild 6253 BLAKE2B 9f4dc2a628918fdd68560e24cfd73c991df26c40b48a09e7d4c7b69f971ab72d253fe65598a8d0eb2191884a63910382b18634de14d9d97d6d194129b374df57 SHA512 ef68bf73dbba59c8ff0d88a467097031df1226e0120e766890939a6b56c11d8f6a907b03362f76a11f1da6c061de27df0a328d18638825672520b5d83e47b11f
+EBUILD openimageio-2.4.16.0.ebuild 6253 BLAKE2B 9f4dc2a628918fdd68560e24cfd73c991df26c40b48a09e7d4c7b69f971ab72d253fe65598a8d0eb2191884a63910382b18634de14d9d97d6d194129b374df57 SHA512 ef68bf73dbba59c8ff0d88a467097031df1226e0120e766890939a6b56c11d8f6a907b03362f76a11f1da6c061de27df0a328d18638825672520b5d83e47b11f
EBUILD openimageio-2.4.6.0-r1.ebuild 5601 BLAKE2B b32f93d31b28d27735e63823f5b8b81770df031d79b53a3b493ff0d38ca254c3c1c33109fee56be96bfc70498de207e75df27122355c7a0be84be3ebc12c84f5 SHA512 658fddac9f1a55902fbec335d154251d337634113ab42e67221511dd14f18353e59629cd2eefe8e467a7ef514e6f2167e11f8906016b56c7e64ebd3508b133db
-MISC metadata.xml 869 BLAKE2B bfb9e5ed79810feaffb28bae0e974b3771e549e2d994b25e88ef842e37824870b61433594477ffc884e6e02e3d30af526deb5f16f2198cc855070f67cab50ac3 SHA512 8406f4f9cd7e74efb9f9f7f92e7a1ef764f6f03b1ce22095aa3c20a5bae239c6accae090716c5c39f349d92cdeb945dc99a62dfba91bb61e45837ef57f750eff
+EBUILD openimageio-2.5.4.0.ebuild 6253 BLAKE2B 9f4dc2a628918fdd68560e24cfd73c991df26c40b48a09e7d4c7b69f971ab72d253fe65598a8d0eb2191884a63910382b18634de14d9d97d6d194129b374df57 SHA512 ef68bf73dbba59c8ff0d88a467097031df1226e0120e766890939a6b56c11d8f6a907b03362f76a11f1da6c061de27df0a328d18638825672520b5d83e47b11f
+MISC metadata.xml 890 BLAKE2B 68791f6a441704bacadab7ef0470d89adb0858a169e77d4e4a3840ac2510cd9f19edbeaf23380a87f961cc478ccd3700ef27dacf25b4236133438a89cc3bc9d9 SHA512 da5dda694bda75fc3f216e44056abaae23c3dc41245271c4e48d3df774d011b7d58d26fb2dcf746ef9b73f3773e627ca6082ef89161f54271c3f4dc61d87ebb5
diff --git a/media-libs/openimageio/metadata.xml b/media-libs/openimageio/metadata.xml
index cdd067175302..84fca6c20010 100644
--- a/media-libs/openimageio/metadata.xml
+++ b/media-libs/openimageio/metadata.xml
@@ -15,6 +15,6 @@
<flag name="tools">Build the command-line tools</flag>
</use>
<upstream>
- <remote-id type="github">OpenImageIO/oiio</remote-id>
+ <remote-id type="github">AcademySoftwareFoundation/OpenImageIO</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-libs/openimageio/openimageio-2.4.14.0.ebuild b/media-libs/openimageio/openimageio-2.4.14.0.ebuild
new file mode 100644
index 000000000000..580024abaa23
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.4.14.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic font python-single-r1
+
+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
+ )
+"
+
+LICENSE="BSD"
+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 gif gui jpeg jpeg2k opencv openvdb ptex python qt6 raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools )"
+
+# Not quite working yet
+RESTRICT="!test? ( test )" # test"
+
+BDEPEND="
+ doc? (
+ app-doc/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:=
+ jpeg? ( 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:= )
+ 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
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_comment_add_subdirectory src/fonts
+
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/testsuite || die
+ mv "${WORKDIR}/${PN}-images-${TEST_OIIO_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/oiio-images || die
+ mv "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/openexr-images || die
+ 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=ON"
+ "-DOIIO_BUILD_TOOLS=$(usex tools)"
+ "-DBUILD_TESTING=$(usex test)"
+ "-DOIIO_BUILD_TESTS=$(usex test)"
+ "-DOIIO_DOWNLOAD_MISSING_TESTDATA=OFF"
+ "-DINSTALL_FONTS=OFF"
+ "-DBUILD_DOCS=$(usex doc)"
+ "-DINSTALL_DOCS=$(usex doc)"
+ "-DSTOP_ON_WARNING=OFF"
+ "-DUSE_CCACHE=OFF"
+ "-DUSE_DCMTK=$(usex dicom)"
+ "-DUSE_EXTERNAL_PUGIXML=ON"
+ "-DUSE_JPEGTURBO=ON"
+ "-DUSE_NUKE=OFF" # not in Gentoo
+ "-DUSE_FFMPEG=$(usex ffmpeg)"
+ "-DUSE_GIF=$(usex gif)"
+ "-DUSE_OPENJPEG=$(usex jpeg2k)"
+ "-DUSE_OPENCV=$(usex opencv)"
+ "-DUSE_OPENVDB=$(usex openvdb)"
+ "-DUSE_PTEX=$(usex ptex)"
+ "-DUSE_PYTHON=$(usex python)"
+ "-DUSE_LIBRAW=$(usex raw)"
+ "-DUSE_FREETYPE=$(usex truetype)"
+ "-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")"
+ )
+
+ if use gui; then
+ mycmakeargs+=( -DENABLE_IV=ON -DUSE_OPENGL=ON -DUSE_QT=ON )
+ if use qt6; then
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON )
+ else
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON )
+ fi
+ else
+ mycmakeargs+=( -DENABLE_IV=OFF -DUSE_QT=OFF )
+ fi
+
+ if use python; then
+ mycmakeargs+=(
+ "-DPYTHON_VERSION=${EPYTHON#python}"
+ "-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # TODO: investigate failures
+ local myctestargs=(
+ -E "(oiiotool|maketx|oiiotool-maketx|texture-crop|texture-crop.batch|texture-half|texture-half.batch|texture-uint16|texture-uint16.batch|texture-interp-bilinear|texture-interp-bilinear.batch|texture-interp-closest|texture-interp-closest.batch|texture-levels-stochaniso|texture-levels-stochaniso.batch|texture-levels-stochmip|texture-levels-stochmip.batch|texture-mip-onelevel|texture-mip-onelevel.batch|texture-mip-stochastictrilinear|texture-mip-stochastictrilinear.batch|texture-mip-stochasticaniso|texture-mip-stochasticaniso.batch|texture-uint8|texture-uint8.batch|texture-skinny|texture-skinny.batch|texture-icwrite|texture-icwrite.batch|jpeg2000-broken|openexr-damaged|openvdb-broken|texture-texture3d-broken|texture-texture3d-broken.batch|psd|ptex-broken|raw-broken|targa|tiff-depths|zfile|unit_simd|cineon|dds|openvdb.batch-broken|texture-texture3d.batch-broken|cmake-consumer|texture-udim|texture-udim2|texture-udim.batch|texture-udim2.batch)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ # can't use font_src_install
+ # it does directory hierarchy recreation
+ FONT_S=(
+ "${S}/src/fonts/Droid_Sans"
+ "${S}/src/fonts/Droid_Sans_Mono"
+ "${S}/src/fonts/Droid_Serif"
+ )
+ insinto "${FONTDIR}"
+ for dir in "${FONT_S[@]}"; do
+ doins "${dir}"/*.ttf
+ done
+}
diff --git a/media-libs/openimageio/openimageio-2.4.15.0.ebuild b/media-libs/openimageio/openimageio-2.4.15.0.ebuild
new file mode 100644
index 000000000000..580024abaa23
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.4.15.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic font python-single-r1
+
+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
+ )
+"
+
+LICENSE="BSD"
+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 gif gui jpeg jpeg2k opencv openvdb ptex python qt6 raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools )"
+
+# Not quite working yet
+RESTRICT="!test? ( test )" # test"
+
+BDEPEND="
+ doc? (
+ app-doc/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:=
+ jpeg? ( 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:= )
+ 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
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_comment_add_subdirectory src/fonts
+
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/testsuite || die
+ mv "${WORKDIR}/${PN}-images-${TEST_OIIO_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/oiio-images || die
+ mv "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/openexr-images || die
+ 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=ON"
+ "-DOIIO_BUILD_TOOLS=$(usex tools)"
+ "-DBUILD_TESTING=$(usex test)"
+ "-DOIIO_BUILD_TESTS=$(usex test)"
+ "-DOIIO_DOWNLOAD_MISSING_TESTDATA=OFF"
+ "-DINSTALL_FONTS=OFF"
+ "-DBUILD_DOCS=$(usex doc)"
+ "-DINSTALL_DOCS=$(usex doc)"
+ "-DSTOP_ON_WARNING=OFF"
+ "-DUSE_CCACHE=OFF"
+ "-DUSE_DCMTK=$(usex dicom)"
+ "-DUSE_EXTERNAL_PUGIXML=ON"
+ "-DUSE_JPEGTURBO=ON"
+ "-DUSE_NUKE=OFF" # not in Gentoo
+ "-DUSE_FFMPEG=$(usex ffmpeg)"
+ "-DUSE_GIF=$(usex gif)"
+ "-DUSE_OPENJPEG=$(usex jpeg2k)"
+ "-DUSE_OPENCV=$(usex opencv)"
+ "-DUSE_OPENVDB=$(usex openvdb)"
+ "-DUSE_PTEX=$(usex ptex)"
+ "-DUSE_PYTHON=$(usex python)"
+ "-DUSE_LIBRAW=$(usex raw)"
+ "-DUSE_FREETYPE=$(usex truetype)"
+ "-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")"
+ )
+
+ if use gui; then
+ mycmakeargs+=( -DENABLE_IV=ON -DUSE_OPENGL=ON -DUSE_QT=ON )
+ if use qt6; then
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON )
+ else
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON )
+ fi
+ else
+ mycmakeargs+=( -DENABLE_IV=OFF -DUSE_QT=OFF )
+ fi
+
+ if use python; then
+ mycmakeargs+=(
+ "-DPYTHON_VERSION=${EPYTHON#python}"
+ "-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # TODO: investigate failures
+ local myctestargs=(
+ -E "(oiiotool|maketx|oiiotool-maketx|texture-crop|texture-crop.batch|texture-half|texture-half.batch|texture-uint16|texture-uint16.batch|texture-interp-bilinear|texture-interp-bilinear.batch|texture-interp-closest|texture-interp-closest.batch|texture-levels-stochaniso|texture-levels-stochaniso.batch|texture-levels-stochmip|texture-levels-stochmip.batch|texture-mip-onelevel|texture-mip-onelevel.batch|texture-mip-stochastictrilinear|texture-mip-stochastictrilinear.batch|texture-mip-stochasticaniso|texture-mip-stochasticaniso.batch|texture-uint8|texture-uint8.batch|texture-skinny|texture-skinny.batch|texture-icwrite|texture-icwrite.batch|jpeg2000-broken|openexr-damaged|openvdb-broken|texture-texture3d-broken|texture-texture3d-broken.batch|psd|ptex-broken|raw-broken|targa|tiff-depths|zfile|unit_simd|cineon|dds|openvdb.batch-broken|texture-texture3d.batch-broken|cmake-consumer|texture-udim|texture-udim2|texture-udim.batch|texture-udim2.batch)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ # can't use font_src_install
+ # it does directory hierarchy recreation
+ FONT_S=(
+ "${S}/src/fonts/Droid_Sans"
+ "${S}/src/fonts/Droid_Sans_Mono"
+ "${S}/src/fonts/Droid_Serif"
+ )
+ insinto "${FONTDIR}"
+ for dir in "${FONT_S[@]}"; do
+ doins "${dir}"/*.ttf
+ done
+}
diff --git a/media-libs/openimageio/openimageio-2.4.16.0.ebuild b/media-libs/openimageio/openimageio-2.4.16.0.ebuild
new file mode 100644
index 000000000000..580024abaa23
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.4.16.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic font python-single-r1
+
+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
+ )
+"
+
+LICENSE="BSD"
+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 gif gui jpeg jpeg2k opencv openvdb ptex python qt6 raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools )"
+
+# Not quite working yet
+RESTRICT="!test? ( test )" # test"
+
+BDEPEND="
+ doc? (
+ app-doc/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:=
+ jpeg? ( 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:= )
+ 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
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_comment_add_subdirectory src/fonts
+
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/testsuite || die
+ mv "${WORKDIR}/${PN}-images-${TEST_OIIO_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/oiio-images || die
+ mv "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/openexr-images || die
+ 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=ON"
+ "-DOIIO_BUILD_TOOLS=$(usex tools)"
+ "-DBUILD_TESTING=$(usex test)"
+ "-DOIIO_BUILD_TESTS=$(usex test)"
+ "-DOIIO_DOWNLOAD_MISSING_TESTDATA=OFF"
+ "-DINSTALL_FONTS=OFF"
+ "-DBUILD_DOCS=$(usex doc)"
+ "-DINSTALL_DOCS=$(usex doc)"
+ "-DSTOP_ON_WARNING=OFF"
+ "-DUSE_CCACHE=OFF"
+ "-DUSE_DCMTK=$(usex dicom)"
+ "-DUSE_EXTERNAL_PUGIXML=ON"
+ "-DUSE_JPEGTURBO=ON"
+ "-DUSE_NUKE=OFF" # not in Gentoo
+ "-DUSE_FFMPEG=$(usex ffmpeg)"
+ "-DUSE_GIF=$(usex gif)"
+ "-DUSE_OPENJPEG=$(usex jpeg2k)"
+ "-DUSE_OPENCV=$(usex opencv)"
+ "-DUSE_OPENVDB=$(usex openvdb)"
+ "-DUSE_PTEX=$(usex ptex)"
+ "-DUSE_PYTHON=$(usex python)"
+ "-DUSE_LIBRAW=$(usex raw)"
+ "-DUSE_FREETYPE=$(usex truetype)"
+ "-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")"
+ )
+
+ if use gui; then
+ mycmakeargs+=( -DENABLE_IV=ON -DUSE_OPENGL=ON -DUSE_QT=ON )
+ if use qt6; then
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON )
+ else
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON )
+ fi
+ else
+ mycmakeargs+=( -DENABLE_IV=OFF -DUSE_QT=OFF )
+ fi
+
+ if use python; then
+ mycmakeargs+=(
+ "-DPYTHON_VERSION=${EPYTHON#python}"
+ "-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # TODO: investigate failures
+ local myctestargs=(
+ -E "(oiiotool|maketx|oiiotool-maketx|texture-crop|texture-crop.batch|texture-half|texture-half.batch|texture-uint16|texture-uint16.batch|texture-interp-bilinear|texture-interp-bilinear.batch|texture-interp-closest|texture-interp-closest.batch|texture-levels-stochaniso|texture-levels-stochaniso.batch|texture-levels-stochmip|texture-levels-stochmip.batch|texture-mip-onelevel|texture-mip-onelevel.batch|texture-mip-stochastictrilinear|texture-mip-stochastictrilinear.batch|texture-mip-stochasticaniso|texture-mip-stochasticaniso.batch|texture-uint8|texture-uint8.batch|texture-skinny|texture-skinny.batch|texture-icwrite|texture-icwrite.batch|jpeg2000-broken|openexr-damaged|openvdb-broken|texture-texture3d-broken|texture-texture3d-broken.batch|psd|ptex-broken|raw-broken|targa|tiff-depths|zfile|unit_simd|cineon|dds|openvdb.batch-broken|texture-texture3d.batch-broken|cmake-consumer|texture-udim|texture-udim2|texture-udim.batch|texture-udim2.batch)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ # can't use font_src_install
+ # it does directory hierarchy recreation
+ FONT_S=(
+ "${S}/src/fonts/Droid_Sans"
+ "${S}/src/fonts/Droid_Sans_Mono"
+ "${S}/src/fonts/Droid_Serif"
+ )
+ insinto "${FONTDIR}"
+ for dir in "${FONT_S[@]}"; do
+ doins "${dir}"/*.ttf
+ done
+}
diff --git a/media-libs/openimageio/openimageio-2.5.4.0.ebuild b/media-libs/openimageio/openimageio-2.5.4.0.ebuild
new file mode 100644
index 000000000000..580024abaa23
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.5.4.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic font python-single-r1
+
+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
+ )
+"
+
+LICENSE="BSD"
+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 gif gui jpeg jpeg2k opencv openvdb ptex python qt6 raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools )"
+
+# Not quite working yet
+RESTRICT="!test? ( test )" # test"
+
+BDEPEND="
+ doc? (
+ app-doc/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:=
+ jpeg? ( 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:= )
+ 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
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+ cmake_comment_add_subdirectory src/fonts
+
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/testsuite || die
+ mv "${WORKDIR}/${PN}-images-${TEST_OIIO_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/oiio-images || die
+ mv "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" "${BUILD_DIR}"/testsuite/openexr-images || die
+ 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=ON"
+ "-DOIIO_BUILD_TOOLS=$(usex tools)"
+ "-DBUILD_TESTING=$(usex test)"
+ "-DOIIO_BUILD_TESTS=$(usex test)"
+ "-DOIIO_DOWNLOAD_MISSING_TESTDATA=OFF"
+ "-DINSTALL_FONTS=OFF"
+ "-DBUILD_DOCS=$(usex doc)"
+ "-DINSTALL_DOCS=$(usex doc)"
+ "-DSTOP_ON_WARNING=OFF"
+ "-DUSE_CCACHE=OFF"
+ "-DUSE_DCMTK=$(usex dicom)"
+ "-DUSE_EXTERNAL_PUGIXML=ON"
+ "-DUSE_JPEGTURBO=ON"
+ "-DUSE_NUKE=OFF" # not in Gentoo
+ "-DUSE_FFMPEG=$(usex ffmpeg)"
+ "-DUSE_GIF=$(usex gif)"
+ "-DUSE_OPENJPEG=$(usex jpeg2k)"
+ "-DUSE_OPENCV=$(usex opencv)"
+ "-DUSE_OPENVDB=$(usex openvdb)"
+ "-DUSE_PTEX=$(usex ptex)"
+ "-DUSE_PYTHON=$(usex python)"
+ "-DUSE_LIBRAW=$(usex raw)"
+ "-DUSE_FREETYPE=$(usex truetype)"
+ "-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")"
+ )
+
+ if use gui; then
+ mycmakeargs+=( -DENABLE_IV=ON -DUSE_OPENGL=ON -DUSE_QT=ON )
+ if use qt6; then
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON )
+ else
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON )
+ fi
+ else
+ mycmakeargs+=( -DENABLE_IV=OFF -DUSE_QT=OFF )
+ fi
+
+ if use python; then
+ mycmakeargs+=(
+ "-DPYTHON_VERSION=${EPYTHON#python}"
+ "-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # TODO: investigate failures
+ local myctestargs=(
+ -E "(oiiotool|maketx|oiiotool-maketx|texture-crop|texture-crop.batch|texture-half|texture-half.batch|texture-uint16|texture-uint16.batch|texture-interp-bilinear|texture-interp-bilinear.batch|texture-interp-closest|texture-interp-closest.batch|texture-levels-stochaniso|texture-levels-stochaniso.batch|texture-levels-stochmip|texture-levels-stochmip.batch|texture-mip-onelevel|texture-mip-onelevel.batch|texture-mip-stochastictrilinear|texture-mip-stochastictrilinear.batch|texture-mip-stochasticaniso|texture-mip-stochasticaniso.batch|texture-uint8|texture-uint8.batch|texture-skinny|texture-skinny.batch|texture-icwrite|texture-icwrite.batch|jpeg2000-broken|openexr-damaged|openvdb-broken|texture-texture3d-broken|texture-texture3d-broken.batch|psd|ptex-broken|raw-broken|targa|tiff-depths|zfile|unit_simd|cineon|dds|openvdb.batch-broken|texture-texture3d.batch-broken|cmake-consumer|texture-udim|texture-udim2|texture-udim.batch|texture-udim2.batch)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ # can't use font_src_install
+ # it does directory hierarchy recreation
+ FONT_S=(
+ "${S}/src/fonts/Droid_Sans"
+ "${S}/src/fonts/Droid_Sans_Mono"
+ "${S}/src/fonts/Droid_Serif"
+ )
+ insinto "${FONTDIR}"
+ for dir in "${FONT_S[@]}"; do
+ doins "${dir}"/*.ttf
+ done
+}