You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/openimageio/openimageio-2.3.8.0.ebuild

177 lines
4.5 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
FONT_PN=OpenImageIO
PYTHON_COMPAT=( python3_{8..10} )
TEST_OIIO_IMAGE_COMMIT="b85d7a3a10a3256b50325ad310c33e7f7cf2c6cb"
TEST_OEXR_IMAGE_COMMIT="f17e353fbfcde3406fe02675f4d92aeae422a560"
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/2.3"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
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 field3d gif jpeg2k opencv opengl openvdb ptex python qt5 raw test +truetype ${CPU_FEATURES[@]%:*}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
# 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
)
"
# 2.3.8.0 should support OpenEXR 3 but it seems to prefer OpenEXR 2
# when installed, so let's stick with that for now.
RDEPEND="
>=dev-libs/boost-1.62:=
dev-cpp/robin-map
dev-libs/libfmt:=
dev-libs/pugixml:=
>=media-libs/libheif-1.7.0:=
media-libs/libpng:0=
>=media-libs/libwebp-0.2.1:=
media-libs/ilmbase:=
media-libs/opencolorio:=
media-libs/openexr:0=
media-libs/tiff:0=
sys-libs/zlib:=
virtual/jpeg:0
dicom? ( sci-libs/dcmtk )
ffmpeg? ( media-video/ffmpeg:= )
field3d? ( media-libs/Field3D:= )
gif? ( media-libs/giflib:0= )
jpeg2k? ( >=media-libs/openjpeg-2.0:2= )
opencv? ( media-libs/opencv:= )
opengl? (
media-libs/glew:=
virtual/glu
virtual/opengl
)
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? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
opengl? ( dev-qt/qtopengl:5 )
)
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}"/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_TESTS=$(usex test)
-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_FIELD3D=$(usex field3d)
-DUSE_GIF=$(usex gif)
-DUSE_OPENJPEG=$(usex jpeg2k)
-DUSE_OPENCV=$(usex opencv)
-DUSE_OPENGL=$(usex opengl)
-DUSE_OPENVDB=$(usex openvdb)
-DUSE_PTEX=$(usex ptex)
-DUSE_PYTHON=$(usex python)
-DUSE_QT=$(usex qt5)
-DUSE_LIBRAW=$(usex raw)
-DUSE_FREETYPE=$(usex truetype)
-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")
)
if use python; then
mycmakeargs+=(
-DPYTHON_VERSION=${EPYTHON#python}
-DPYTHON_SITE_DIR=$(python_get_sitedir)
)
fi
cmake_src_configure
}
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
}