1 |
commit: 389974bf3e4782981a079f008dd2241f7ec6a07f |
2 |
Author: Adrian Grigo <agrigo2001 <AT> yahoo <DOT> com <DOT> au> |
3 |
AuthorDate: Wed Sep 30 22:46:09 2020 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Oct 6 02:13:19 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=389974bf |
7 |
|
8 |
media-gfx/blender: Version bump to blender 2.90.1 |
9 |
|
10 |
Update from blender 2.83.4 to 2.90.1 |
11 |
|
12 |
Only two changes were required from 2.83.4 |
13 |
|
14 |
Add -DWITH_CYCLES_EMBREE=OFF until Embree has been packaged for Gentoo |
15 |
(thanks to Oleg) |
16 |
|
17 |
Rename WITH_X11 to WITH_GHOST_X11 as per upstream |
18 |
|
19 |
Signed-off-by: Adrian Grigo <agrigo2001 <AT> yahoo.com.au> |
20 |
Closes: https://bugs.gentoo.org/741126 |
21 |
Package-Manager: Portage-3.0.4, Repoman-3.0.1 |
22 |
Closes: https://github.com/gentoo/gentoo/pull/17723 |
23 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
24 |
|
25 |
media-gfx/blender/Manifest | 1 + |
26 |
media-gfx/blender/blender-2.90.1.ebuild | 319 ++++++++++++++++++++++++++++++++ |
27 |
2 files changed, 320 insertions(+) |
28 |
|
29 |
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest |
30 |
index cbe57e4eec0..6ac6b01289b 100644 |
31 |
--- a/media-gfx/blender/Manifest |
32 |
+++ b/media-gfx/blender/Manifest |
33 |
@@ -1,2 +1,3 @@ |
34 |
DIST blender-2.79b.tar.gz 50204270 BLAKE2B 78bda294df783ee9bcbcf32f9a112737b2947da5146fd4351b8b36d81c6630ed0ea302b2fb539642cfbdcc4b64df35af5c8545a3bbf50b1cf87dcf3a60eb4ac0 SHA512 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f |
35 |
DIST blender-2.83.4.tar.xz 38528352 BLAKE2B 54596207cbee34fcaa6b81a0d829976b42c28c793b88de81d78c1c3fdfe9dd2a0189a314be281b2a0f1829a0b7fd30d37bceaa28d35c9794dcb0f009fa71e83d SHA512 061735273159742784ed210d13fb39ad076efbbfd5f0291bab1b983699d43b20462dc7e4795e28dab0cd191c9879b43d9ad0f0545c24ef5da23c74679e5ccab5 |
36 |
+DIST blender-2.90.1.tar.xz 38836408 BLAKE2B 42622e742ebd397dc035c85cf26ab72ffee64f2cd46f1523de78dc8861bc19286a7d87b9e31a0d6afdf9a931da7018ccbdb9b4185b8535b4529656c6d85efc34 SHA512 e7d6f8df598f2a2a99f64716331ec4e981a5a49c76b307caf7856480c778455cfc4bbb56fbedc8b22d1e10951ebaeb6844d1ead9476847bf2824dddf5b135992 |
37 |
|
38 |
diff --git a/media-gfx/blender/blender-2.90.1.ebuild b/media-gfx/blender/blender-2.90.1.ebuild |
39 |
new file mode 100644 |
40 |
index 00000000000..4c25969a1ec |
41 |
--- /dev/null |
42 |
+++ b/media-gfx/blender/blender-2.90.1.ebuild |
43 |
@@ -0,0 +1,319 @@ |
44 |
+# Copyright 1999-2020 Gentoo Authors |
45 |
+# Distributed under the terms of the GNU General Public License v2 |
46 |
+ |
47 |
+EAPI=7 |
48 |
+ |
49 |
+PYTHON_COMPAT=( python3_7 ) |
50 |
+ |
51 |
+inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 \ |
52 |
+ toolchain-funcs xdg-utils |
53 |
+ |
54 |
+DESCRIPTION="3D Creation/Animation/Publishing System" |
55 |
+HOMEPAGE="https://www.blender.org" |
56 |
+ |
57 |
+SRC_URI="https://download.blender.org/source/${P}.tar.xz" |
58 |
+ |
59 |
+# Blender can have letters in the version string, |
60 |
+# so strip off the letter if it exists. |
61 |
+MY_PV="$(ver_cut 1-2)" |
62 |
+ |
63 |
+SLOT="0" |
64 |
+LICENSE="|| ( GPL-2 BL )" |
65 |
+KEYWORDS="~amd64 ~x86" |
66 |
+IUSE="+bullet +dds +elbeem +openexr +system-python +system-numpy +tbb \ |
67 |
+ abi6-compat abi7-compat alembic collada color-management cuda cycles \ |
68 |
+ debug doc ffmpeg fftw headless jack jemalloc jpeg2k llvm \ |
69 |
+ man ndof nls openal opencl openimageio openmp opensubdiv \ |
70 |
+ openvdb osl sdl sndfile standalone test tiff valgrind" |
71 |
+RESTRICT="!test? ( test )" |
72 |
+ |
73 |
+REQUIRED_USE="${PYTHON_REQUIRED_USE} |
74 |
+ alembic? ( openexr ) |
75 |
+ cuda? ( cycles ) |
76 |
+ cycles? ( openexr tiff openimageio ) |
77 |
+ elbeem? ( tbb ) |
78 |
+ opencl? ( cycles ) |
79 |
+ openvdb? ( |
80 |
+ ^^ ( abi6-compat abi7-compat ) |
81 |
+ tbb |
82 |
+ ) |
83 |
+ osl? ( cycles llvm ) |
84 |
+ standalone? ( cycles )" |
85 |
+ |
86 |
+RDEPEND="${PYTHON_DEPS} |
87 |
+ dev-libs/boost:=[nls?,threads(+)] |
88 |
+ dev-libs/lzo:2= |
89 |
+ $(python_gen_cond_dep ' |
90 |
+ dev-python/numpy[${PYTHON_USEDEP}] |
91 |
+ dev-python/requests[${PYTHON_USEDEP}] |
92 |
+ ') |
93 |
+ media-libs/freetype:= |
94 |
+ media-libs/glew:* |
95 |
+ media-libs/libpng:= |
96 |
+ media-libs/libsamplerate |
97 |
+ sys-libs/zlib:= |
98 |
+ virtual/glu |
99 |
+ virtual/jpeg |
100 |
+ virtual/libintl |
101 |
+ virtual/opengl |
102 |
+ alembic? ( >=media-gfx/alembic-1.7.12[boost(+),hdf(+)] ) |
103 |
+ collada? ( >=media-libs/opencollada-1.6.68 ) |
104 |
+ color-management? ( media-libs/opencolorio ) |
105 |
+ cuda? ( dev-util/nvidia-cuda-toolkit:= ) |
106 |
+ ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] ) |
107 |
+ fftw? ( sci-libs/fftw:3.0= ) |
108 |
+ !headless? ( |
109 |
+ x11-libs/libX11 |
110 |
+ x11-libs/libXi |
111 |
+ x11-libs/libXxf86vm |
112 |
+ ) |
113 |
+ jack? ( virtual/jack ) |
114 |
+ jemalloc? ( dev-libs/jemalloc:= ) |
115 |
+ jpeg2k? ( media-libs/openjpeg:2= ) |
116 |
+ llvm? ( sys-devel/llvm:= ) |
117 |
+ ndof? ( |
118 |
+ app-misc/spacenavd |
119 |
+ dev-libs/libspnav |
120 |
+ ) |
121 |
+ nls? ( virtual/libiconv ) |
122 |
+ openal? ( media-libs/openal ) |
123 |
+ opencl? ( virtual/opencl ) |
124 |
+ openimageio? ( media-libs/openimageio ) |
125 |
+ openexr? ( |
126 |
+ media-libs/ilmbase:= |
127 |
+ media-libs/openexr:= |
128 |
+ ) |
129 |
+ opensubdiv? ( >=media-libs/opensubdiv-3.4.0[cuda=,opencl=] ) |
130 |
+ openvdb? ( |
131 |
+ ~media-gfx/openvdb-7.0.0[abi6-compat(-)?,abi7-compat(-)?] |
132 |
+ dev-libs/c-blosc:= |
133 |
+ ) |
134 |
+ osl? ( media-libs/osl ) |
135 |
+ sdl? ( media-libs/libsdl2[sound,joystick] ) |
136 |
+ sndfile? ( media-libs/libsndfile ) |
137 |
+ tbb? ( dev-cpp/tbb ) |
138 |
+ tiff? ( media-libs/tiff ) |
139 |
+ valgrind? ( dev-util/valgrind ) |
140 |
+" |
141 |
+ |
142 |
+DEPEND="${RDEPEND} |
143 |
+ dev-cpp/eigen:= |
144 |
+" |
145 |
+ |
146 |
+BDEPEND=" |
147 |
+ virtual/pkgconfig |
148 |
+ doc? ( |
149 |
+ app-doc/doxygen[dot] |
150 |
+ dev-python/sphinx[latex] |
151 |
+ dev-texlive/texlive-bibtexextra |
152 |
+ dev-texlive/texlive-fontsextra |
153 |
+ dev-texlive/texlive-fontutils |
154 |
+ dev-texlive/texlive-latex |
155 |
+ dev-texlive/texlive-latexextra |
156 |
+ ) |
157 |
+ nls? ( sys-devel/gettext ) |
158 |
+" |
159 |
+ |
160 |
+blender_check_requirements() { |
161 |
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp |
162 |
+ |
163 |
+ if use doc; then |
164 |
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend |
165 |
+ fi |
166 |
+} |
167 |
+ |
168 |
+pkg_pretend() { |
169 |
+ blender_check_requirements |
170 |
+} |
171 |
+ |
172 |
+pkg_setup() { |
173 |
+ blender_check_requirements |
174 |
+ python-single-r1_pkg_setup |
175 |
+} |
176 |
+ |
177 |
+src_prepare() { |
178 |
+ cmake_src_prepare |
179 |
+ |
180 |
+ # we don't want static glew, but it's scattered across |
181 |
+ # multiple files that differ from version to version |
182 |
+ # !!!CHECK THIS SED ON EVERY VERSION BUMP!!! |
183 |
+ local file |
184 |
+ while IFS="" read -d $'\0' -r file ; do |
185 |
+ sed -i -e '/-DGLEW_STATIC/d' "${file}" || die |
186 |
+ done < <(find . -type f -name "CMakeLists.txt") |
187 |
+ |
188 |
+ # Disable MS Windows help generation. The variable doesn't do what it |
189 |
+ # it sounds like. |
190 |
+ sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ |
191 |
+ -i doc/doxygen/Doxyfile || die |
192 |
+} |
193 |
+ |
194 |
+src_configure() { |
195 |
+ # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu |
196 |
+ # shadows, see bug #276338 for reference |
197 |
+ append-flags -funsigned-char |
198 |
+ append-lfs-flags |
199 |
+ |
200 |
+ if use openvdb; then |
201 |
+ local version |
202 |
+ if use abi6-compat; then |
203 |
+ version=6; |
204 |
+ elif use abi7-compat; then |
205 |
+ version=7; |
206 |
+ else |
207 |
+ die "Openvdb abi version not compatible" |
208 |
+ fi |
209 |
+ append-cppflags -DOPENVDB_ABI_VERSION_NUMBER=${version} |
210 |
+ fi |
211 |
+ |
212 |
+ local mycmakeargs=( |
213 |
+ -DBUILD_SHARED_LIBS=OFF |
214 |
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" |
215 |
+ -DPYTHON_LIBRARY="$(python_get_library_path)" |
216 |
+ -DPYTHON_VERSION="${EPYTHON/python/}" |
217 |
+ -DWITH_ALEMBIC=$(usex alembic) |
218 |
+ -DWITH_ASSERT_ABORT=$(usex debug) |
219 |
+ -DWITH_BOOST=ON |
220 |
+ -DWITH_BULLET=$(usex bullet) |
221 |
+ -DWITH_CODEC_FFMPEG=$(usex ffmpeg) |
222 |
+ -DWITH_CODEC_SNDFILE=$(usex sndfile) |
223 |
+ -DWITH_CXX_GUARDEDALLOC=$(usex debug) |
224 |
+ -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) |
225 |
+ -DWITH_CYCLES=$(usex cycles) |
226 |
+ -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl) |
227 |
+ -DWITH_CYCLES_EMBREE=OFF |
228 |
+ -DWITH_CYCLES_STANDALONE=$(usex standalone) |
229 |
+ -DWITH_CYCLES_STANDALONE_GUI=$(usex standalone) |
230 |
+ -DWITH_CYCLES_OSL=$(usex osl) |
231 |
+ -DWITH_DOC_MANPAGE=$(usex man) |
232 |
+ -DWITH_FFTW3=$(usex fftw) |
233 |
+ -DWITH_GHOST_X11=$(usex !headless) |
234 |
+ -DWITH_GTESTS=$(usex test) |
235 |
+ -DWITH_HEADLESS=$(usex headless) |
236 |
+ -DWITH_INSTALL_PORTABLE=OFF |
237 |
+ -DWITH_IMAGE_DDS=$(usex dds) |
238 |
+ -DWITH_IMAGE_OPENEXR=$(usex openexr) |
239 |
+ -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) |
240 |
+ -DWITH_IMAGE_TIFF=$(usex tiff) |
241 |
+ -DWITH_INPUT_NDOF=$(usex ndof) |
242 |
+ -DWITH_INTERNATIONAL=$(usex nls) |
243 |
+ -DWITH_JACK=$(usex jack) |
244 |
+ -DWITH_LLVM=$(usex llvm) |
245 |
+ -DWITH_MEM_JEMALLOC=$(usex jemalloc) |
246 |
+ -DWITH_MEM_VALGRIND=$(usex valgrind) |
247 |
+ -DWITH_MOD_FLUID=$(usex elbeem) |
248 |
+ -DWITH_MOD_OCEANSIM=$(usex fftw) |
249 |
+ -DWITH_OPENAL=$(usex openal) |
250 |
+ -DWITH_OPENCOLLADA=$(usex collada) |
251 |
+ -DWITH_OPENCOLORIO=$(usex color-management) |
252 |
+ -DWITH_OPENIMAGEIO=$(usex openimageio) |
253 |
+ -DWITH_OPENMP=$(usex openmp) |
254 |
+ -DWITH_OPENSUBDIV=$(usex opensubdiv) |
255 |
+ -DWITH_OPENVDB=$(usex openvdb) |
256 |
+ -DWITH_OPENVDB_BLOSC=$(usex openvdb) |
257 |
+ -DWITH_PYTHON_INSTALL=$(usex system-python OFF ON) |
258 |
+ -DWITH_PYTHON_INSTALL_NUMPY=$(usex system-numpy OFF ON) |
259 |
+ -DWITH_SDL=$(usex sdl) |
260 |
+ -DWITH_STATIC_LIBS=OFF |
261 |
+ -DWITH_SYSTEM_EIGEN3=ON |
262 |
+ -DWITH_SYSTEM_GLEW=ON |
263 |
+ -DWITH_SYSTEM_LZO=ON |
264 |
+ -DWITH_TBB=$(usex tbb) |
265 |
+ ) |
266 |
+ cmake_src_configure |
267 |
+} |
268 |
+ |
269 |
+src_compile() { |
270 |
+ cmake_src_compile |
271 |
+ |
272 |
+ if use doc; then |
273 |
+ # Workaround for binary drivers. |
274 |
+ addpredict /dev/ati |
275 |
+ addpredict /dev/dri |
276 |
+ addpredict /dev/nvidiactl |
277 |
+ |
278 |
+ einfo "Generating Blender C/C++ API docs ..." |
279 |
+ cd "${CMAKE_USE_DIR}"/doc/doxygen || die |
280 |
+ doxygen -u Doxyfile || die |
281 |
+ doxygen || die "doxygen failed to build API docs." |
282 |
+ |
283 |
+ cd "${CMAKE_USE_DIR}" || die |
284 |
+ einfo "Generating (BPY) Blender Python API docs ..." |
285 |
+ "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." |
286 |
+ |
287 |
+ cd "${CMAKE_USE_DIR}"/doc/python_api || die |
288 |
+ sphinx-build sphinx-in BPY_API || die "sphinx failed." |
289 |
+ fi |
290 |
+} |
291 |
+ |
292 |
+src_test() { |
293 |
+ if use test; then |
294 |
+ einfo "Running Blender Unit Tests ..." |
295 |
+ cd "${BUILD_DIR}"/bin/tests || die |
296 |
+ local f |
297 |
+ for f in *_test; do |
298 |
+ ./"${f}" || die |
299 |
+ done |
300 |
+ fi |
301 |
+} |
302 |
+ |
303 |
+src_install() { |
304 |
+ # Pax mark blender for hardened support. |
305 |
+ pax-mark m "${BUILD_DIR}"/bin/blender |
306 |
+ |
307 |
+ if use standalone; then |
308 |
+ dobin "${BUILD_DIR}"/bin/cycles |
309 |
+ fi |
310 |
+ |
311 |
+ if use doc; then |
312 |
+ docinto "html/API/python" |
313 |
+ dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. |
314 |
+ |
315 |
+ docinto "html/API/blender" |
316 |
+ dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. |
317 |
+ fi |
318 |
+ |
319 |
+ cmake_src_install |
320 |
+ |
321 |
+ # fix doc installdir |
322 |
+ docinto "html" |
323 |
+ dodoc "${CMAKE_USE_DIR}"/release/text/readme.html |
324 |
+ rm -r "${ED}"/usr/share/doc/blender || die |
325 |
+ |
326 |
+ python_fix_shebang "${ED}/usr/bin/blender-thumbnailer.py" |
327 |
+ python_optimize "${ED}/usr/share/blender/${MY_PV}/scripts" |
328 |
+} |
329 |
+ |
330 |
+pkg_postinst() { |
331 |
+ elog |
332 |
+ elog "Blender uses python integration. As such, may have some" |
333 |
+ elog "inherent risks with running unknown python scripts." |
334 |
+ elog |
335 |
+ elog "It is recommended to change your blender temp directory" |
336 |
+ elog "from /tmp to /home/user/tmp or another tmp file under your" |
337 |
+ elog "home directory. This can be done by starting blender, then" |
338 |
+ elog "dragging the main menu down do display all paths." |
339 |
+ elog |
340 |
+ ewarn |
341 |
+ ewarn "This ebuild does not unbundle the massive amount of 3rd party" |
342 |
+ ewarn "libraries which are shipped with blender. Note that" |
343 |
+ ewarn "these have caused security issues in the past." |
344 |
+ ewarn "If you are concerned about security, file a bug upstream:" |
345 |
+ ewarn " https://developer.blender.org/" |
346 |
+ ewarn |
347 |
+ xdg_icon_cache_update |
348 |
+ xdg_mimeinfo_database_update |
349 |
+ xdg_desktop_database_update |
350 |
+} |
351 |
+ |
352 |
+pkg_postrm() { |
353 |
+ xdg_icon_cache_update |
354 |
+ xdg_mimeinfo_database_update |
355 |
+ xdg_desktop_database_update |
356 |
+ |
357 |
+ ewarn "" |
358 |
+ ewarn "You may want to remove the following directory." |
359 |
+ ewarn "~/.config/${PN}/${MY_PV}/cache/" |
360 |
+ ewarn "It may contain extra render kernels not tracked by portage" |
361 |
+ ewarn "" |
362 |
+} |