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-gfx/openvdb/, media-gfx/openvdb/files/
Date: Mon, 24 Aug 2020 13:42:43
Message-Id: 1598276512.97b1512e054c43c4b76d5ad620bafab8fdfef36b.sam@gentoo
1 commit: 97b1512e054c43c4b76d5ad620bafab8fdfef36b
2 Author: Adrian Grigo <agrigo2001 <AT> yahoo <DOT> com <DOT> au>
3 AuthorDate: Tue Aug 18 07:31:07 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 24 13:41:52 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97b1512e
7
8 media-gfx/openvdb: Version bump to openvdb-7.1.0
9
10 This bumps the version of openvdb to 7.1.0
11 Upstream have deprecated ABI prior to 6 with this version.
12
13 It adds an abi7-compat USE flag to build against ABI 7, and makes use
14 of avx and sse4.2 cpu flags if set. There are additional use flags to
15 control building the utilities, and linking against numpy is now
16 optional. The library can also be built as a static library if desired.
17
18 Thanks to Bernd Waibel for some of the initial code and digging into
19 the available cmake build options.
20
21 Other changes:
22 * Similar to version 6, the gnuinstalldirs patch no longer needs
23 BLOSC_LOCATION, GLFW3_LOCATION or TBB_LOCATION so these have been
24 removed.
25
26 * The new multilib header patch needs to know the CHOST so it is set
27 in the arguments passed to cmake.
28
29 * USE_GLFW3 is no longer used by the build system so it has been
30 removed also.
31
32 Signed-off-by: Adrian Grigo <agrigo2001 <AT> yahoo.com.au>
33 Package-Manager: Portage-2.3.103, Repoman-2.3.23
34 Signed-off-by: Sam James <sam <AT> gentoo.org>
35
36 media-gfx/openvdb/Manifest | 1 +
37 ...vdb-7.1.0-0001-Fix-multilib-header-source.patch | 75 ++++++++++++++
38 .../openvdb-7.1.0-0002-Fix-doc-install-dir.patch | 25 +++++
39 media-gfx/openvdb/metadata.xml | 15 ++-
40 media-gfx/openvdb/openvdb-7.1.0.ebuild | 114 +++++++++++++++++++++
41 5 files changed, 227 insertions(+), 3 deletions(-)
42
43 diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest
44 index f02f09bc37d..fa609180181 100644
45 --- a/media-gfx/openvdb/Manifest
46 +++ b/media-gfx/openvdb/Manifest
47 @@ -2,3 +2,4 @@ DIST openvdb-4.0.2-patchset-02.tar.xz 12428 BLAKE2B 2684ddf010df975912fcfc8c4f94
48 DIST openvdb-4.0.2.tar.gz 1689119 BLAKE2B dbc8d4ab44990440e201327d76bbf9bfe3e8f597505b1d008dedb95dc540277513f465d455079c59820acc5056c9a2edf56235e1097b6c73a1f7dd8c59609c15 SHA512 8e3e12583b81f9b9303b309e839c8321c67b67ff8a0e61bb56c87276bf25c0deff22f5a73c7c5b661b8e5df345bfdabfa6b0aea9bf16fce57d9c53a76751c75d
49 DIST openvdb-5.2.0.tar.gz 1788969 BLAKE2B d146b78dd7db4936779ca214b1f7957d4868bf76aedb95c9a98e21d25983b750337a63bf4bc9ccb438b683988af7a3d708676dcf7b4662c84e4926e8000ceb68 SHA512 69e21190c27a055e476a319b0c2d961303fa2f3fec30bec93ed44072d01816ef89e5e8f0abfc3a22d1c73742aa31284c664596747b49cd985fea1a751776506e
50 DIST openvdb-6.2.1.tar.gz 1935325 BLAKE2B 24ca340e513d2f22521994fbb2315a1c3f817bb35a7402ca481b12444e5ced58dfd773cc07b47a56d1ed9f6951e58cf1ef0b5c35917620b031383faed21c6557 SHA512 f5d830880316b5ca3921c77c75f3a254aba47d144ac6c0223fc2732d99cbd6b7ffb7f27049f8ab3760ad77b3658fc08a82728325ba753bc29932aa46336457de
51 +DIST openvdb-7.1.0.tar.gz 1956052 BLAKE2B 7778d67bcc65ecb17b86f6e67a9e5f2d6574de5869a0a9c675ad7bc8540154c0f249a91c68a9da9068a3951b3e919e5676450fcaf13921c6263e7c87012a2f29 SHA512 49806375f7e6d7b12eaba24e672a068531d2f8a05f12eba29069710d2682f9983f9e6ad26047eed4b28e337f8d0e738b90130582863c710e8dd1e720bf0addad
52
53 diff --git a/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch b/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch
54 new file mode 100644
55 index 00000000000..13d0f45fabf
56 --- /dev/null
57 +++ b/media-gfx/openvdb/files/openvdb-7.1.0-0001-Fix-multilib-header-source.patch
58 @@ -0,0 +1,75 @@
59 +From 7558089b3dae599ffc80329da3a5c1decf882ca7 Mon Sep 17 00:00:00 2001
60 +From: Bernd Waibel <waebbl@×××××.com>
61 +Date: Fri, 28 Feb 2020 17:01:25 +0100
62 +Subject: [PATCH] Fix multilib header source
63 +
64 +Signed-off-by: Bernd Waibel <waebbl@×××××.com>
65 +---
66 + cmake/FindIlmBase.cmake | 10 ++++++++--
67 + cmake/FindOpenEXR.cmake | 10 ++++++++--
68 + 2 files changed, 16 insertions(+), 4 deletions(-)
69 +
70 +diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake
71 +index f20f803..bb85019 100644
72 +--- a/cmake/FindIlmBase.cmake
73 ++++ b/cmake/FindIlmBase.cmake
74 +@@ -168,9 +168,15 @@ find_path(IlmBase_INCLUDE_DIR IlmBaseConfig.h
75 + PATH_SUFFIXES include/OpenEXR OpenEXR
76 + )
77 +
78 ++if(EXISTS "/usr/include/${CHOST}/OpenEXR/IlmBaseConfig.h")
79 ++ set(_ILMBASE_HEADERS "/usr/include/${CHOST}/OpenEXR")
80 ++else()
81 ++ set(_ILMBASE_HEADERS ${IlmBase_INCLUDE_DIR})
82 ++endif()
83 ++
84 + if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
85 + # Get the ILMBASE version information from the config header
86 +- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
87 ++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
88 + _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR "
89 + )
90 + string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" ""
91 +@@ -178,7 +184,7 @@ if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
92 + )
93 + string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR)
94 +
95 +- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
96 ++ file(STRINGS "${_ILMBASE_HEADERS}/IlmBaseConfig.h"
97 + _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR "
98 + )
99 + string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" ""
100 +diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
101 +index d0d356f..0c5dd7b 100644
102 +--- a/cmake/FindOpenEXR.cmake
103 ++++ b/cmake/FindOpenEXR.cmake
104 +@@ -161,9 +161,15 @@ find_path(OpenEXR_INCLUDE_DIR OpenEXRConfig.h
105 + PATH_SUFFIXES include/OpenEXR OpenEXR
106 + )
107 +
108 ++if(EXISTS "/usr/include/${CHOST}/OpenEXR/OpenEXRConfig.h")
109 ++ set(_OPENEXR_HEADERS "/usr/include/${CHOST}/OpenEXR")
110 ++else()
111 ++ set(_OPENEXR_HEADERS "${OpenEXR_INCLUDE_DIR}")
112 ++endif()
113 ++
114 + if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h")
115 + # Get the EXR version information from the config header
116 +- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
117 ++ file(STRINGS "${_OPENEXR_HEADERS}/OpenEXRConfig.h"
118 + _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR "
119 + )
120 + string(REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" ""
121 +@@ -171,7 +177,7 @@ if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h")
122 + )
123 + string(STRIP "${_openexr_version_major_string}" OpenEXR_VERSION_MAJOR)
124 +
125 +- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
126 ++ file(STRINGS "${_OPENEXR_HEADERS}/OpenEXRConfig.h"
127 + _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR "
128 + )
129 + string(REGEX REPLACE "#define OPENEXR_VERSION_MINOR" ""
130 +--
131 +2.25.1
132 +
133 +
134
135 diff --git a/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch b/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch
136 new file mode 100644
137 index 00000000000..73d4b1ccd42
138 --- /dev/null
139 +++ b/media-gfx/openvdb/files/openvdb-7.1.0-0002-Fix-doc-install-dir.patch
140 @@ -0,0 +1,25 @@
141 +From 66dec67036116243893fdf74060e55b70f65ab17 Mon Sep 17 00:00:00 2001
142 +From: Bernd Waibel <waebbl@×××××.com>
143 +Date: Fri, 28 Feb 2020 21:51:30 +0100
144 +Subject: [PATCH] Fix doc install dir
145 +
146 +Signed-off-by: Bernd Waibel <waebbl@×××××.com>
147 +---
148 + doc/CMakeLists.txt | 4 ++--
149 + 1 file changed, 2 insertions(+), 2 deletions(-)
150 +
151 +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
152 +index 1cf58ea..a6bd849 100644
153 +--- a/doc/CMakeLists.txt
154 ++++ b/doc/CMakeLists.txt
155 +@@ -64,5 +64,5 @@ add_custom_target(doc ALL
156 + )
157 +
158 + # Suppress "Installing..." messages for all but one of the hundreds of generated files.
159 +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html/index.html DESTINATION doc/html)
160 +-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html DESTINATION doc MESSAGE_NEVER)
161 ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/html)
162 ++install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/openvdb/doc/html DESTINATION ${CMAKE_INSTALL_DOCDIR} MESSAGE_NEVER)
163 +--
164 +2.25.1
165 +
166
167 diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml
168 index 58f434001fc..7d62609da7c 100644
169 --- a/media-gfx/openvdb/metadata.xml
170 +++ b/media-gfx/openvdb/metadata.xml
171 @@ -15,18 +15,27 @@
172 Chance of Meatballs2' and 'How to Train Your Dragon 2'.
173 </longdescription>
174 <use>
175 - <flag name="abi3-compat">
176 + <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="numpy">
177 + Build pyopenvdb with support for <pkg>dev-python/numpy</pkg>
178 + </flag>
179 + <flag restrict="&lt;=media-gfx/openvdb-7.0.0" name="abi3-compat">
180 Disables newer features to maintain compatibility with ABI3.
181 </flag>
182 - <flag restrict="&gt;=media-gfx/openvdb-4.0.0" name="abi4-compat">
183 + <flag restrict="&lt;=media-gfx/openvdb-7.0.0" name="abi4-compat">
184 Disables newer features to maintain compatibility with ABI4.
185 </flag>
186 - <flag restrict="&gt;=media-gfx/openvdb-5.0.0" name="abi5-compat">
187 + <flag restrict="&lt;=media-gfx/openvdb-7.1.0" name="abi5-compat">
188 Disables newer features to maintain compatibility with ABI5.
189 </flag>
190 <flag restrict="&gt;=media-gfx/openvdb-6.0.0" name="abi6-compat">
191 Disables newer features to maintain compatibility with ABI6.
192 </flag>
193 + <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="abi7-compat">
194 + Disables newer features to maintain compatibility with ABI7.
195 + </flag>
196 + <flag restrict="&gt;=media-gfx/openvdb-7.0.0" name="utils">
197 + Build utility binaries
198 + </flag>
199 </use>
200 <upstream>
201 <remote-id type="github">AcademySoftwareFoundation/openvdb</remote-id>
202
203 diff --git a/media-gfx/openvdb/openvdb-7.1.0.ebuild b/media-gfx/openvdb/openvdb-7.1.0.ebuild
204 new file mode 100644
205 index 00000000000..125f6475bf3
206 --- /dev/null
207 +++ b/media-gfx/openvdb/openvdb-7.1.0.ebuild
208 @@ -0,0 +1,114 @@
209 +# Copyright 1999-2020 Gentoo Authors
210 +# Distributed under the terms of the GNU General Public License v2
211 +
212 +EAPI=7
213 +
214 +CMAKE_MAKEFILE_GENERATOR="emake"
215 +PYTHON_COMPAT=( python3_{7,8} )
216 +
217 +inherit cmake flag-o-matic python-single-r1
218 +
219 +DESCRIPTION="Library for the efficient manipulation of volumetric data"
220 +HOMEPAGE="https://www.openvdb.org"
221 +SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
222 +
223 +LICENSE="MPL-2.0"
224 +SLOT="0"
225 +KEYWORDS="~amd64 ~x86"
226 +IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 doc numpy python static-libs test utils abi6-compat abi7-compat"
227 +RESTRICT="!test? ( test )"
228 +
229 +REQUIRED_USE="
230 + numpy? ( python )
231 + ^^ ( abi6-compat abi7-compat )
232 + python? ( ${PYTHON_REQUIRED_USE} )
233 +"
234 +
235 +RDEPEND="
236 + dev-libs/boost:=
237 + dev-libs/c-blosc
238 + dev-libs/jemalloc
239 + dev-libs/log4cplus
240 + media-libs/glfw:=
241 + media-libs/openexr:=
242 + sys-libs/zlib:=
243 + x11-libs/libXcursor
244 + x11-libs/libXi
245 + x11-libs/libXinerama
246 + x11-libs/libXrandr
247 + python? (
248 + ${PYTHON_DEPS}
249 + $(python_gen_cond_dep '
250 + dev-libs/boost:=[numpy?,python?,${PYTHON_MULTI_USEDEP}]
251 + numpy? ( dev-python/numpy[${PYTHON_MULTI_USEDEP}] )
252 + ')
253 + )
254 +"
255 +
256 +DEPEND="
257 + ${RDEPEND}
258 + dev-cpp/tbb
259 + >=dev-util/cmake-3.16.2-r1
260 + virtual/pkgconfig
261 + doc? (
262 + app-doc/doxygen
263 + dev-texlive/texlive-bibtexextra
264 + dev-texlive/texlive-fontsextra
265 + dev-texlive/texlive-fontutils
266 + dev-texlive/texlive-latex
267 + dev-texlive/texlive-latexextra
268 + )
269 + test? ( dev-util/cppunit )
270 +"
271 +
272 +PATCHES=(
273 + "${FILESDIR}/${P}-0001-Fix-multilib-header-source.patch"
274 + "${FILESDIR}/${P}-0002-Fix-doc-install-dir.patch"
275 +)
276 +
277 +pkg_setup() {
278 + use python && python-single-r1_pkg_setup
279 +}
280 +
281 +src_configure() {
282 + local myprefix="${EPREFIX}/usr/"
283 +
284 + local version
285 + if use abi6-compat; then
286 + version=6
287 + elif use abi7-compat; then
288 + version=7
289 + else
290 + die "Openvdb abi version is not compatible"
291 + fi
292 +
293 + local mycmakeargs=(
294 + -DCHOST="${CHOST}"
295 + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
296 + -DOPENVDB_ABI_VERSION_NUMBER="${version}"
297 + -DOPENVDB_BUILD_DOCS=$(usex doc)
298 + -DOPENVDB_BUILD_PYTHON_MODULE=$(usex python)
299 + -DOPENVDB_BUILD_UNITTESTS=$(usex test)
300 + -DOPENVDB_BUILD_VDB_LOD=$(usex !utils)
301 + -DOPENVDB_BUILD_VDB_RENDER=$(usex !utils)
302 + -DOPENVDB_BUILD_VDB_VIEW=$(usex !utils)
303 + -DOPENVDB_CORE_SHARED=ON
304 + -DOPENVDB_CORE_STATIC=$(usex static-libs)
305 + -DOPENVDB_ENABLE_RPATH=OFF
306 + -DUSE_CCACHE=OFF
307 + -DUSE_COLORED_OUTPUT=ON
308 + -DUSE_EXR=ON
309 + -DUSE_LOG4CPLUS=ON
310 + -DUSE_NUMPY=$(usex numpy)
311 + -DPYOPENVDB_INSTALL_DIRECTORY="${python_get_sitedir}"
312 + -DPython_EXECUTABLE="${PYTHON}"
313 + )
314 +
315 + if use cpu_flags_x86_avx; then
316 + mycmakeargs+=( -DOPENVDB_SIMD=AVX )
317 + elif use cpu_flags_x86_sse4_2; then
318 + mycmakeargs+=( -DOPENVDB_SIMD=SSE42 )
319 + fi
320 +
321 + cmake_src_configure
322 +}