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: Sun, 31 Oct 2021 02:19:50
Message-Id: 1635646704.71742398066123535d58a89f2fc2afda8176196a.sam@gentoo
1 commit: 71742398066123535d58a89f2fc2afda8176196a
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 31 01:55:37 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 31 02:18:24 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71742398
7
8 media-gfx/openvdb: add 8.1.0
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-gfx/openvdb/Manifest | 1 +
13 .../openvdb/files/openvdb-8.1.0-glfw-libdir.patch | 21 ++++
14 media-gfx/openvdb/openvdb-8.1.0.ebuild | 128 +++++++++++++++++++++
15 3 files changed, 150 insertions(+)
16
17 diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest
18 index 6dea8aee2b9..0667d3371ff 100644
19 --- a/media-gfx/openvdb/Manifest
20 +++ b/media-gfx/openvdb/Manifest
21 @@ -1,3 +1,4 @@
22 DIST openvdb-7.0.0.tar.gz 1872744 BLAKE2B e3a8c8d51f77e115d3d397abde0860a6322d56eb6c4795c1ba39539a23aab6cf37602ce7122965fbc3098b15b118b25010263f567e8003363b78c9b7d9d5dfd8 SHA512 f5321b22b10e192012d544cc02921d3d52f621778ec5aa21ba6d450f3e29f2fdbd76486ad390a0c008394dbc6ee4aeecc04527ef30e73adf71c1a08a021746b7
23 DIST openvdb-7.1.0.tar.gz 1956052 BLAKE2B 7778d67bcc65ecb17b86f6e67a9e5f2d6574de5869a0a9c675ad7bc8540154c0f249a91c68a9da9068a3951b3e919e5676450fcaf13921c6263e7c87012a2f29 SHA512 49806375f7e6d7b12eaba24e672a068531d2f8a05f12eba29069710d2682f9983f9e6ad26047eed4b28e337f8d0e738b90130582863c710e8dd1e720bf0addad
24 DIST openvdb-8.0.1.tar.gz 2299276 BLAKE2B e65bd4710ff65e20570013399d1e71a32e8f80c5e3b5527fc17d23c7f86ead7e04483cf7ba5266f26343604677d3a0dcafc01474baf7ef09b98f1f41a66119a2 SHA512 6a5a8b637429295efa72494aef82ff92dd83092591b713f56930ccf4aab3a33806d1263bfd090c27239eab97b4fdc053288dc545e631f8a7d4ca180a32331be2
25 +DIST openvdb-8.1.0.tar.gz 2619432 BLAKE2B ba06e8dc24876da0ed1a2b5560e8793ad1e42b45b2018734c98c9b8f1d43bdb4aa098243a68de90efb18cb0454a9ea2a59c87f411d2c6492c5bce95dc047a6f0 SHA512 081ccedb122ff9bd73e0cd7ff083ad0ff0165e0cf6305187edcbe90ff12f01ec085c91ad5c52c53596035e0c2afd5b8801e6c00374b0fc4b0cc111f5c7f37eb5
26
27 diff --git a/media-gfx/openvdb/files/openvdb-8.1.0-glfw-libdir.patch b/media-gfx/openvdb/files/openvdb-8.1.0-glfw-libdir.patch
28 new file mode 100644
29 index 00000000000..412785fb0e1
30 --- /dev/null
31 +++ b/media-gfx/openvdb/files/openvdb-8.1.0-glfw-libdir.patch
32 @@ -0,0 +1,21 @@
33 +Custom cmake file used to find GLFW always looks at lib/cmake first
34 +ignoring alternate libdirs and leads to using wrong libraries.
35 +
36 +https://bugs.gentoo.org/800200
37 +[rebased by sam]
38 +--- a/cmake/OpenVDBGLFW3Setup.cmake
39 ++++ b/cmake/OpenVDBGLFW3Setup.cmake
40 +@@ -83,10 +83,10 @@ endif()
41 +
42 + list(APPEND _GLFW3_ROOT_SEARCH_DIR ${SYSTEM_LIBRARY_PATHS})
43 +
44 +-set(_GLFW3_PATH_SUFFIXES "lib/cmake/glfw3" "cmake/glfw3" "glfw3")
45 ++set(_GLFW3_PATH_SUFFIXES "cmake/glfw3" "glfw3")
46 +
47 + # GLFW 3.1 installs CMake modules into glfw instead of glfw3
48 +-list(APPEND _GLFW3_PATH_SUFFIXES "lib/cmake/glfw" "cmake/glfw" "glfw")
49 ++list(APPEND _GLFW3_PATH_SUFFIXES "cmake/glfw" "glfw")
50 +
51 + find_path(GLFW3_CMAKE_LOCATION glfw3Config.cmake
52 + ${_FIND_GLFW3_ADDITIONAL_OPTIONS}
53 +
54
55 diff --git a/media-gfx/openvdb/openvdb-8.1.0.ebuild b/media-gfx/openvdb/openvdb-8.1.0.ebuild
56 new file mode 100644
57 index 00000000000..72ac356edca
58 --- /dev/null
59 +++ b/media-gfx/openvdb/openvdb-8.1.0.ebuild
60 @@ -0,0 +1,128 @@
61 +# Copyright 1999-2021 Gentoo Authors
62 +# Distributed under the terms of the GNU General Public License v2
63 +
64 +EAPI=7
65 +
66 +PYTHON_COMPAT=( python3_{8,9,10} )
67 +
68 +inherit cmake flag-o-matic python-single-r1
69 +
70 +DESCRIPTION="Library for the efficient manipulation of volumetric data"
71 +HOMEPAGE="https://www.openvdb.org"
72 +SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
73 +
74 +LICENSE="MPL-2.0"
75 +SLOT="0"
76 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
77 +IUSE="cpu_flags_x86_avx cpu_flags_x86_sse4_2 blosc doc numpy python static-libs test utils zlib abi6-compat abi7-compat +abi8-compat"
78 +RESTRICT="!test? ( test )"
79 +
80 +REQUIRED_USE="
81 + numpy? ( python )
82 + ^^ ( abi6-compat abi7-compat abi8-compat )
83 + python? ( ${PYTHON_REQUIRED_USE} )
84 +"
85 +# Check if newer releases work with newer TBB, bug #820788
86 +RDEPEND="
87 + <dev-cpp/tbb-2021.4.0:=
88 + dev-libs/boost:=
89 + dev-libs/c-blosc:=
90 + dev-libs/jemalloc:=
91 + dev-libs/log4cplus:=
92 + media-libs/glfw
93 + media-libs/glu
94 + media-libs/ilmbase:=
95 + media-libs/openexr:0=
96 + sys-libs/zlib:=
97 + x11-libs/libXcursor
98 + x11-libs/libXi
99 + x11-libs/libXinerama
100 + x11-libs/libXrandr
101 + blosc? ( dev-libs/c-blosc )
102 + python? (
103 + ${PYTHON_DEPS}
104 + $(python_gen_cond_dep '
105 + dev-libs/boost:=[numpy?,python?,${PYTHON_USEDEP}]
106 + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
107 + ')
108 + )
109 + zlib? ( sys-libs/zlib )
110 +"
111 +
112 +DEPEND="${RDEPEND}"
113 +
114 +BDEPEND="
115 + >=dev-util/cmake-3.16.2-r1
116 + virtual/pkgconfig
117 + doc? (
118 + app-doc/doxygen
119 + dev-texlive/texlive-bibtexextra
120 + dev-texlive/texlive-fontsextra
121 + dev-texlive/texlive-fontutils
122 + dev-texlive/texlive-latex
123 + dev-texlive/texlive-latexextra
124 + )
125 + test? ( dev-util/cppunit dev-cpp/gtest )
126 +"
127 +
128 +PATCHES=(
129 + "${FILESDIR}/${PN}-7.1.0-0001-Fix-multilib-header-source.patch"
130 + "${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch"
131 +)
132 +
133 +pkg_setup() {
134 + use python && python-single-r1_pkg_setup
135 +}
136 +
137 +src_configure() {
138 + local myprefix="${EPREFIX}/usr/"
139 +
140 + local version
141 + if use abi6-compat; then
142 + version=6
143 + elif use abi7-compat; then
144 + version=7
145 + elif use abi8-compat; then
146 + version=8
147 + else
148 + die "OpenVDB ABI version is not compatible"
149 + fi
150 +
151 + local mycmakeargs=(
152 + -DCHOST="${CHOST}"
153 + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
154 + -DOPENVDB_ABI_VERSION_NUMBER="${version}"
155 + -DOPENVDB_BUILD_DOCS=$(usex doc)
156 + -DOPENVDB_BUILD_UNITTESTS=$(usex test)
157 + -DOPENVDB_BUILD_VDB_LOD=$(usex !utils)
158 + -DOPENVDB_BUILD_VDB_RENDER=$(usex !utils)
159 + -DOPENVDB_BUILD_VDB_VIEW=$(usex !utils)
160 + -DOPENVDB_CORE_SHARED=ON
161 + -DOPENVDB_CORE_STATIC=$(usex static-libs)
162 + -DOPENVDB_ENABLE_RPATH=OFF
163 + -DOPENVDB_USE_BLOSC=$(usex blosc)
164 + -DOPENVDB_USE_ZLIB=$(usex zlib)
165 + -DUSE_CCACHE=OFF
166 + -DUSE_COLORED_OUTPUT=ON
167 + # Off for now until 9.0.0 for OpenEXR 3 support
168 + -DUSE_IMATH_HALF=OFF
169 + -DUSE_LOG4CPLUS=ON
170 + )
171 +
172 + if use python; then
173 + mycmakeargs+=(
174 + -DOPENVDB_BUILD_PYTHON_MODULE=ON
175 + -DUSE_NUMPY=$(usex numpy)
176 + -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)"
177 + -DPython_EXECUTABLE="${PYTHON}"
178 + )
179 + fi
180 +
181 + if use cpu_flags_x86_avx; then
182 + mycmakeargs+=( -DOPENVDB_SIMD=AVX )
183 + elif use cpu_flags_x86_sse4_2; then
184 + mycmakeargs+=( -DOPENVDB_SIMD=SSE42 )
185 + fi
186 +
187 + cmake_src_configure
188 +}