Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/
Date: Sun, 02 Jan 2022 00:31:57
Message-Id: 1641083499.24d0b675b2b6b0fdd0bc3253230f6a1ef71612ff.sam@gentoo
1 commit: 24d0b675b2b6b0fdd0bc3253230f6a1ef71612ff
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 2 00:29:23 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 2 00:31:39 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24d0b675
7
8 media-libs/openimageio: add 2.3.11.0
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-libs/openimageio/Manifest | 1 +
13 media-libs/openimageio/openimageio-2.3.11.0.ebuild | 184 +++++++++++++++++++++
14 2 files changed, 185 insertions(+)
15
16 diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
17 index a89d0456a795..74645459351d 100644
18 --- a/media-libs/openimageio/Manifest
19 +++ b/media-libs/openimageio/Manifest
20 @@ -1,6 +1,7 @@
21 DIST openimageio-2.2.18.0.tar.gz 29246567 BLAKE2B cb7297028b39b1616962b94aff61f0240b88beeae216c6e39f450cb860660b2c844393a759302dfd325ba95336e06944ad72acfb0e87aa2b1cadfe658bd6bdaa SHA512 22a61e8b1ca098c2293e972372d02f0ac8ce54b46eb957b1ffcacb9e0ca4ff13f560d67804e0db0a898d8bec2fdb73f3cdcd1ee1867f92f97f84c1c111e535be
22 DIST openimageio-2.3.10.0.tar.gz 32443970 BLAKE2B 90b4f39ed654cafe24905c3d9e32a04057d80d3fc1cb7a1b2ad5e1d3c239b112e9af8d28ee49d54721aa78778118562106c4bcfe2509a1337e15bd13993f144b SHA512 9e8768d743056a7d115b47611d4e6dfc43f3b8b155224e3746075b407a265fcd509d406e78f1b6a5aa0b55270729cbb2049cfeb9d5c1af9a9a8f05a7333292b1
23 DIST openimageio-2.3.10.1.tar.gz 32443281 BLAKE2B 10308f87b390747a4e0af4bce2c7636e8cca61fe695dc4a43a1021a411c3887fedee6c88ffa89c439bf00f23c4b862036149244eda5887812943845f446ce361 SHA512 9e911f5c4b0df02502ed0195b8acd3eff2b3d9398b33f956544306eda57f972fda0a69bd1d1448a385c92753e3a9127209c5937559df6ad594c5a6125c5870c7
24 +DIST openimageio-2.3.11.0.tar.gz 32439595 BLAKE2B 6e64284c36de87fc077e839db808d4fab0cb6ea4951639cfed21e68900782c03ef6c2e64dcae5c1bf9360ad0a838ee36396d31634ad0ddd20f8fc9f683fc9dc8 SHA512 7e973f4f1b00dfc2486d074f5fdd03aa612a650411c7440868a4846ecfda8b172be33110fce35801dfed92d80f338b989f3ee001191938c48edef5ca760eff3c
25 DIST openimageio-2.3.9.1.tar.gz 29248072 BLAKE2B 22cd31dc51670a388f232874d2f3831fb87df09de3fe8d2492a34f2c9d96f2e3ae13426e30c1b9627926a3ec3150ca9b37377642ea6621a184e14d7358e9d0e5 SHA512 0522d22eca5c9858ef2b6407053f8a74872b9b05214efe01d88f0abee6b21c48cf23444987a21364261e4addcc5cddef38d7f87deda8bc5167a1cd40770327bb
26 DIST openimageio-oexr-test-image-f17e353fbfcde3406fe02675f4d92aeae422a560.tar.gz 252226183 BLAKE2B b94fb08515e18821e5b88c10031ca53675c56f96397e00b4e186d8dfb9f8557bc935ff102d61835590dca6deeef90dba03b81fd76a7958ab4d0592c042c2130a SHA512 26b9b2cda9d48554b8a53f06bc20301f8ff77dc5e1d7caf9ec45aaaefd8578d3d4d4b2e0a1d1b0f697805fdc0c5d4bae4948cea21821df3006ac0f8b9020f85f
27 DIST openimageio-oiio-test-image-b85d7a3a10a3256b50325ad310c33e7f7cf2c6cb.tar.gz 137513393 BLAKE2B ebde02d57daaa58c08c7aab2251c39eefd5b736e1cc4a6d28603d8ee52b7828fa7529c9616207b8b0bcb04d88cd4c60c6325e6f09b4f3410dd6e61c5532b04ad SHA512 840a6785779d85f5da052cb635a92c27451e464414fefd2faaf5fc7a6b78936ff05a6a960c07bb968d7c18e753053ff0f425505de54577d30620fbff9be043fb
28
29 diff --git a/media-libs/openimageio/openimageio-2.3.11.0.ebuild b/media-libs/openimageio/openimageio-2.3.11.0.ebuild
30 new file mode 100644
31 index 000000000000..9de77bbf5c52
32 --- /dev/null
33 +++ b/media-libs/openimageio/openimageio-2.3.11.0.ebuild
34 @@ -0,0 +1,184 @@
35 +# Copyright 1999-2022 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +FONT_PN=OpenImageIO
41 +PYTHON_COMPAT=( python3_{8..10} )
42 +
43 +TEST_OIIO_IMAGE_COMMIT="b85d7a3a10a3256b50325ad310c33e7f7cf2c6cb"
44 +TEST_OEXR_IMAGE_COMMIT="f17e353fbfcde3406fe02675f4d92aeae422a560"
45 +inherit cmake font python-single-r1
46 +
47 +DESCRIPTION="A library for reading and writing images"
48 +HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/OpenImageIO"
49 +SRC_URI="https://github.com/OpenImageIO/oiio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
50 +SRC_URI+=" test? (
51 + https://github.com/OpenImageIO/oiio-images/archive/${TEST_OIIO_IMAGE_COMMIT}.tar.gz -> ${PN}-oiio-test-image-${TEST_OIIO_IMAGE_COMMIT}.tar.gz
52 + https://github.com/AcademySoftwareFoundation/openexr-images/archive/${TEST_OEXR_IMAGE_COMMIT}.tar.gz -> ${PN}-oexr-test-image-${TEST_OEXR_IMAGE_COMMIT}.tar.gz
53 + )"
54 +S="${WORKDIR}/oiio-${PV}"
55 +
56 +LICENSE="BSD"
57 +SLOT="0/2.3"
58 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
59 +
60 +X86_CPU_FEATURES=(
61 + aes:aes sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
62 + avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
63 +)
64 +CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
65 +
66 +IUSE="dicom doc ffmpeg gif jpeg2k opencv opengl openvdb ptex python qt5 raw test +truetype ${CPU_FEATURES[@]%:*}"
67 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
68 +
69 +# Not quite working yet
70 +RESTRICT="!test? ( test ) test"
71 +
72 +BDEPEND="
73 + doc? (
74 + app-doc/doxygen
75 + dev-texlive/texlive-bibtexextra
76 + dev-texlive/texlive-fontsextra
77 + dev-texlive/texlive-fontutils
78 + dev-texlive/texlive-latex
79 + dev-texlive/texlive-latexextra
80 + )
81 +"
82 +# 2.3.8.0 should support OpenEXR 3 but it seems to prefer OpenEXR 2
83 +# when installed, so let's stick with that for now.
84 +RDEPEND="
85 + >=dev-libs/boost-1.62:=
86 + dev-cpp/robin-map
87 + dev-libs/libfmt:=
88 + dev-libs/pugixml:=
89 + >=media-libs/libheif-1.7.0:=
90 + media-libs/libpng:0=
91 + >=media-libs/libwebp-0.2.1:=
92 + media-libs/ilmbase:=
93 + media-libs/opencolorio:=
94 + media-libs/openexr:0=
95 + media-libs/tiff:0=
96 + sys-libs/zlib:=
97 + virtual/jpeg:0
98 + dicom? ( sci-libs/dcmtk )
99 + ffmpeg? ( media-video/ffmpeg:= )
100 + gif? ( media-libs/giflib:0= )
101 + jpeg2k? ( >=media-libs/openjpeg-2.0:2= )
102 + opencv? ( media-libs/opencv:= )
103 + opengl? (
104 + media-libs/glew:=
105 + virtual/glu
106 + virtual/opengl
107 + )
108 + openvdb? (
109 + dev-cpp/tbb:=
110 + media-gfx/openvdb:=
111 + )
112 + ptex? ( media-libs/ptex:= )
113 + python? (
114 + ${PYTHON_DEPS}
115 + $(python_gen_cond_dep '
116 + dev-libs/boost:=[python,${PYTHON_USEDEP}]
117 + dev-python/numpy[${PYTHON_USEDEP}]
118 + dev-python/pybind11[${PYTHON_USEDEP}]
119 + ')
120 + )
121 + qt5? (
122 + dev-qt/qtcore:5
123 + dev-qt/qtgui:5
124 + dev-qt/qtwidgets:5
125 + opengl? ( dev-qt/qtopengl:5 )
126 + )
127 + raw? ( media-libs/libraw:= )
128 + truetype? ( media-libs/freetype:2= )
129 +"
130 +DEPEND="${RDEPEND}"
131 +
132 +DOCS=( CHANGES.md CREDITS.md README.md )
133 +
134 +pkg_setup() {
135 + use python && python-single-r1_pkg_setup
136 +}
137 +
138 +src_prepare() {
139 + # Note: on bumps, please try again with OpenEXR 3 + ilmmath!
140 + # Sabotage finding OpenEXR 3 for now to force usage of OpenEXR 2
141 + # (because it mix and matches which version it uses; sed this to
142 + # make sure it'll use OpenEXR 3 if it can, but it won't.)
143 + # bug #821193
144 + sed -i \
145 + -e 's/find_package(OpenEXR CONFIG)/find_package(OpenEXR-3 CONFIG)/' \
146 + src/cmake/modules/FindOpenEXR.cmake || die
147 +
148 + cmake_src_prepare
149 + cmake_comment_add_subdirectory src/fonts
150 +
151 + if use test ; then
152 + mkdir -p "${BUILD_DIR}"/testsuite || die
153 + mv "${WORKDIR}"/oiio-images-${TEST_OIIO_IMAGE_COMMIT} "${BUILD_DIR}"/testsuite/oiio-images || die
154 + mv "${WORKDIR}"/openexr-images-${TEST_OEXR_IMAGE_COMMIT} "${BUILD_DIR}"/testsuite/openexr-images || die
155 + fi
156 +}
157 +
158 +src_configure() {
159 + # Build with SIMD support
160 + local cpufeature
161 + local mysimd=()
162 + for cpufeature in "${CPU_FEATURES[@]}"; do
163 + use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
164 + done
165 +
166 + # If no CPU SIMDs were used, completely disable them
167 + [[ -z ${mysimd} ]] && mysimd=("0")
168 +
169 + local mycmakeargs=(
170 + -DVERBOSE=ON
171 + -DBUILD_TESTING=$(usex test)
172 + -DOIIO_BUILD_TESTS=$(usex test)
173 + -DINSTALL_FONTS=OFF
174 + -DBUILD_DOCS=$(usex doc)
175 + -DINSTALL_DOCS=$(usex doc)
176 + -DSTOP_ON_WARNING=OFF
177 + -DUSE_CCACHE=OFF
178 + -DUSE_DCMTK=$(usex dicom)
179 + -DUSE_EXTERNAL_PUGIXML=ON
180 + -DUSE_JPEGTURBO=ON
181 + -DUSE_NUKE=OFF # not in Gentoo
182 + -DUSE_FFMPEG=$(usex ffmpeg)
183 + -DUSE_GIF=$(usex gif)
184 + -DUSE_OPENJPEG=$(usex jpeg2k)
185 + -DUSE_OPENCV=$(usex opencv)
186 + -DUSE_OPENGL=$(usex opengl)
187 + -DUSE_OPENVDB=$(usex openvdb)
188 + -DUSE_PTEX=$(usex ptex)
189 + -DUSE_PYTHON=$(usex python)
190 + -DUSE_QT=$(usex qt5)
191 + -DUSE_LIBRAW=$(usex raw)
192 + -DUSE_FREETYPE=$(usex truetype)
193 + -DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")
194 + )
195 + if use python; then
196 + mycmakeargs+=(
197 + -DPYTHON_VERSION=${EPYTHON#python}
198 + -DPYTHON_SITE_DIR=$(python_get_sitedir)
199 + )
200 + fi
201 +
202 + cmake_src_configure
203 +}
204 +
205 +src_install() {
206 + cmake_src_install
207 + # can't use font_src_install
208 + # it does directory hierarchy recreation
209 + FONT_S=(
210 + "${S}/src/fonts/Droid_Sans"
211 + "${S}/src/fonts/Droid_Sans_Mono"
212 + "${S}/src/fonts/Droid_Serif"
213 + )
214 + insinto ${FONTDIR}
215 + for dir in "${FONT_S[@]}"; do
216 + doins "${dir}"/*.ttf
217 + done
218 +}