summaryrefslogtreecommitdiff
path: root/media-libs/openimageio/openimageio-2.4.12.0.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
commite52012895af4c92f008daac78c3d8b6d691a5dd1 (patch)
tree23cfaf6724a2a4437945e792ce42481a83acfd4a /media-libs/openimageio/openimageio-2.4.12.0.ebuild
parente41409e9c4ccf0cd1b45b81f9d2370d13326cfc2 (diff)
gentoo auto-resync : 26:06:2023 - 19:33:07
Diffstat (limited to 'media-libs/openimageio/openimageio-2.4.12.0.ebuild')
-rw-r--r--media-libs/openimageio/openimageio-2.4.12.0.ebuild202
1 files changed, 202 insertions, 0 deletions
diff --git a/media-libs/openimageio/openimageio-2.4.12.0.ebuild b/media-libs/openimageio/openimageio-2.4.12.0.ebuild
new file mode 100644
index 000000000000..8520aeeffd4e
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.4.12.0.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FONT_PN=OpenImageIO
+PYTHON_COMPAT=( python3_{9..11} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake 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/OpenImageIO/oiio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" test? (
+ https://github.com/OpenImageIO/oiio-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
+)"
+S="${WORKDIR}/oiio-${PV}"
+
+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 jpeg2k opencv openvdb ptex python qt5 qt6 raw test +tools +truetype ${CPU_FEATURES[@]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt5? ( tools ) qt6? ( 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.7.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:= )
+ 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}]
+ ')
+ )
+ qt5? (
+ media-libs/glew:=
+ virtual/glu
+ virtual/opengl
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ media-libs/glew:=
+ virtual/glu
+ virtual/opengl
+ 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_pretend() {
+ use qt5 && use qt6 && einfo "The \"qt5\" USE flag has no effect when the \"qt6\" USE flag is also enabled."
+}
+
+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}"/oiio-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")
+
+ 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 qt5 || use qt6; 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_OPENGL=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
+}