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=">=media-gfx/openvdb-7.0.0" name="numpy"> |
177 |
+ Build pyopenvdb with support for <pkg>dev-python/numpy</pkg> |
178 |
+ </flag> |
179 |
+ <flag restrict="<=media-gfx/openvdb-7.0.0" name="abi3-compat"> |
180 |
Disables newer features to maintain compatibility with ABI3. |
181 |
</flag> |
182 |
- <flag restrict=">=media-gfx/openvdb-4.0.0" name="abi4-compat"> |
183 |
+ <flag restrict="<=media-gfx/openvdb-7.0.0" name="abi4-compat"> |
184 |
Disables newer features to maintain compatibility with ABI4. |
185 |
</flag> |
186 |
- <flag restrict=">=media-gfx/openvdb-5.0.0" name="abi5-compat"> |
187 |
+ <flag restrict="<=media-gfx/openvdb-7.1.0" name="abi5-compat"> |
188 |
Disables newer features to maintain compatibility with ABI5. |
189 |
</flag> |
190 |
<flag restrict=">=media-gfx/openvdb-6.0.0" name="abi6-compat"> |
191 |
Disables newer features to maintain compatibility with ABI6. |
192 |
</flag> |
193 |
+ <flag restrict=">=media-gfx/openvdb-7.0.0" name="abi7-compat"> |
194 |
+ Disables newer features to maintain compatibility with ABI7. |
195 |
+ </flag> |
196 |
+ <flag restrict=">=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 |
+} |