forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-gfx/blender: bump to version 1.79b
Add patch from Mark Wright <[email protected]> for GCC 8 compatibility. Closes: https://bugs.gentoo.org/650592 Closes: https://bugs.gentoo.org/661066
- Loading branch information
Showing
3 changed files
with
313 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST blender-2.72b.tar.gz 52018242 BLAKE2B fa0b8ab3feaeb35e76d833415984eb21d7b6dca47b9e5fb337cdfbdc9924165d3345caa5608ee2849bf71855c917a6fa56d79d4f375b57ff367047ef92e8e0b9 SHA512 9767797621e443ff9b6810d1713dda110f883c33626d40d7fe5dda676f549e3591516dc24b75feebd85823dd13437c34521ca752139cd31ddacf31ea6b14e124 | ||
DIST blender-2.79.tar.gz 50145270 BLAKE2B 5c11b36840d4bf4a414f01d1f8efcbfb2879ce56c9e2ebe32d8bb0be3ce29fd194dec8b3aa5bca9bf664804c1be57d01394494fdfebc7a4d8257bd2c47866338 SHA512 9b81c41882f4e150476ebda5b301b78c2d35ea918394c8a01671fc031f7cb7a34b5a3d68b6a345f6d23fd9ecedd25bc0bd24f9f9b3ec771237ac4496bbde7d2f | ||
DIST blender-2.79b.tar.gz 50204270 BLAKE2B 78bda294df783ee9bcbcf32f9a112737b2947da5146fd4351b8b36d81c6630ed0ea302b2fb539642cfbdcc4b64df35af5c8545a3bbf50b1cf87dcf3a60eb4ac0 SHA512 2db21ace446168dd683cdb5aad9dec001f8888ae4e9603a04ddb44fb78489ded827deb07e83712b0f1118a0e7bf66f2a5d935dc4ebb3a6703d72672ff414367f |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,290 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python{3_5,3_6} ) | ||
|
||
inherit check-reqs cmake-utils xdg-utils flag-o-matic gnome2-utils \ | ||
pax-utils python-single-r1 toolchain-funcs eapi7-ver | ||
|
||
DESCRIPTION="3D Creation/Animation/Publishing System" | ||
HOMEPAGE="http://www.blender.org" | ||
|
||
SRC_URI="http://download.blender.org/source/${P}.tar.gz" | ||
|
||
# Blender can have letters in the version string, | ||
# so strip of the letter if it exists. | ||
MY_PV="$(ver_cut 1-2)" | ||
|
||
SLOT="0" | ||
LICENSE="|| ( GPL-2 BL )" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="+bullet +dds +elbeem +game-engine +openexr collada colorio \ | ||
cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \ | ||
llvm man ndof nls openal opencl openimageio openmp opensubdiv openvdb \ | ||
osl player sdl sndfile test tiff valgrind" | ||
|
||
REQUIRED_USE="${PYTHON_REQUIRED_USE} | ||
cuda? ( cycles ) | ||
cycles? ( openexr tiff openimageio ) | ||
opencl? ( cycles ) | ||
osl? ( cycles llvm ) | ||
player? ( game-engine !headless )" | ||
|
||
RDEPEND="${PYTHON_DEPS} | ||
>=dev-libs/boost-1.62:=[nls?,threads(+)] | ||
dev-libs/lzo:2 | ||
>=dev-python/numpy-1.10.1[${PYTHON_USEDEP}] | ||
dev-python/requests[${PYTHON_USEDEP}] | ||
media-libs/freetype | ||
media-libs/glew:* | ||
media-libs/libpng:0= | ||
media-libs/libsamplerate | ||
sys-libs/zlib | ||
virtual/glu | ||
virtual/jpeg:0= | ||
virtual/libintl | ||
virtual/opengl | ||
collada? ( >=media-libs/opencollada-1.6.18:= ) | ||
colorio? ( media-libs/opencolorio ) | ||
cuda? ( dev-util/nvidia-cuda-toolkit:= ) | ||
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] ) | ||
libav? ( >=media-video/libav-11.3:=[x264,mp3,encode,theora,jpeg2k?] ) | ||
fftw? ( sci-libs/fftw:3.0= ) | ||
!headless? ( | ||
x11-libs/libX11 | ||
x11-libs/libXi | ||
x11-libs/libXxf86vm | ||
) | ||
jack? ( virtual/jack ) | ||
jemalloc? ( dev-libs/jemalloc:= ) | ||
jpeg2k? ( media-libs/openjpeg:0 ) | ||
llvm? ( sys-devel/llvm:= ) | ||
ndof? ( | ||
app-misc/spacenavd | ||
dev-libs/libspnav | ||
) | ||
nls? ( virtual/libiconv ) | ||
openal? ( media-libs/openal ) | ||
opencl? ( virtual/opencl ) | ||
openimageio? ( >=media-libs/openimageio-1.7.0 ) | ||
openexr? ( | ||
>=media-libs/ilmbase-2.2.0:= | ||
>=media-libs/openexr-2.2.0:= | ||
) | ||
opensubdiv? ( >=media-libs/opensubdiv-3.3.0:=[cuda=,opencl=] ) | ||
openvdb? ( | ||
media-gfx/openvdb[${PYTHON_USEDEP},-abi3-compat(-)] | ||
dev-cpp/tbb | ||
>=dev-libs/c-blosc-1.5.2 | ||
) | ||
osl? ( media-libs/osl:= ) | ||
sdl? ( media-libs/libsdl2[sound,joystick] ) | ||
sndfile? ( media-libs/libsndfile ) | ||
tiff? ( media-libs/tiff:0 ) | ||
valgrind? ( dev-util/valgrind )" | ||
|
||
DEPEND="${RDEPEND} | ||
>=dev-cpp/eigen-3.2.8:3 | ||
virtual/pkgconfig | ||
doc? ( | ||
app-doc/doxygen[-nodot(-),dot(+),latex] | ||
dev-python/sphinx[latex] | ||
) | ||
nls? ( sys-devel/gettext )" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-fix-install-rules.patch" | ||
"${FILESDIR}/${P}-gcc-8.patch" | ||
) | ||
|
||
blender_check_requirements() { | ||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp | ||
|
||
if use doc; then | ||
CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend | ||
fi | ||
} | ||
|
||
pkg_pretend() { | ||
blender_check_requirements | ||
} | ||
|
||
pkg_setup() { | ||
blender_check_requirements | ||
python-single-r1_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
cmake-utils_src_prepare | ||
|
||
# we don't want static glew, but it's scattered across | ||
# multiple files that differ from version to version | ||
# !!!CHECK THIS SED ON EVERY VERSION BUMP!!! | ||
local file | ||
while IFS="" read -d $'\0' -r file ; do | ||
sed -i -e '/-DGLEW_STATIC/d' "${file}" || die | ||
done < <(find . -type f -name "CMakeLists.txt") | ||
|
||
# Disable MS Windows help generation. The variable doesn't do what it | ||
# it sounds like. | ||
sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ | ||
-i doc/doxygen/Doxyfile || die | ||
} | ||
|
||
src_configure() { | ||
# FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu | ||
# shadows, see bug #276338 for reference | ||
append-flags -funsigned-char | ||
append-lfs-flags | ||
|
||
local mycmakeargs=( | ||
-DPYTHON_VERSION="${EPYTHON/python/}" | ||
-DPYTHON_LIBRARY="$(python_get_library_path)" | ||
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)" | ||
-DWITH_INSTALL_PORTABLE=OFF | ||
-DWITH_PYTHON_INSTALL=OFF | ||
-DWITH_PYTHON_INSTALL_NUMPY=OFF | ||
-DWITH_STATIC_LIBS=OFF | ||
-DWITH_SYSTEM_GLEW=ON | ||
-DWITH_SYSTEM_OPENJPEG=ON | ||
-DWITH_SYSTEM_EIGEN3=ON | ||
-DWITH_SYSTEM_LZO=ON | ||
-DWITH_C11=ON | ||
-DWITH_CXX11=ON | ||
-DWITH_BOOST=ON | ||
-DWITH_BULLET=$(usex bullet) | ||
-DWITH_CODEC_FFMPEG=$(usex ffmpeg) | ||
-DWITH_CODEC_SNDFILE=$(usex sndfile) | ||
-DWITH_CUDA=$(usex cuda) | ||
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) | ||
-DWITH_CYCLES=$(usex cycles) | ||
-DWITH_CYCLES_OSL=$(usex osl) | ||
-DWITH_LLVM=$(usex llvm) | ||
-DWITH_FFTW3=$(usex fftw) | ||
-DWITH_GAMEENGINE=$(usex game-engine) | ||
-DWITH_HEADLESS=$(usex headless) | ||
-DWITH_X11=$(usex !headless) | ||
-DWITH_IMAGE_DDS=$(usex dds) | ||
-DWITH_IMAGE_OPENEXR=$(usex openexr) | ||
-DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) | ||
-DWITH_IMAGE_TIFF=$(usex tiff) | ||
-DWITH_INPUT_NDOF=$(usex ndof) | ||
-DWITH_INTERNATIONAL=$(usex nls) | ||
-DWITH_JACK=$(usex jack) | ||
-DWITH_MOD_FLUID=$(usex elbeem) | ||
-DWITH_MOD_OCEANSIM=$(usex fftw) | ||
-DWITH_OPENAL=$(usex openal) | ||
-DWITH_OPENCL=$(usex opencl) | ||
-DWITH_OPENCOLORIO=$(usex colorio) | ||
-DWITH_OPENCOLLADA=$(usex collada) | ||
-DWITH_OPENIMAGEIO=$(usex openimageio) | ||
-DWITH_OPENMP=$(usex openmp) | ||
-DWITH_OPENSUBDIV=$(usex opensubdiv) | ||
-DWITH_OPENVDB=$(usex openvdb) | ||
-DWITH_OPENVDB_BLOSC=$(usex openvdb) | ||
-DWITH_PLAYER=$(usex player) | ||
-DWITH_SDL=$(usex sdl) | ||
-DWITH_CXX_GUARDEDALLOC=$(usex debug) | ||
-DWITH_ASSERT_ABORT=$(usex debug) | ||
-DWITH_GTESTS=$(usex test) | ||
-DWITH_DOC_MANPAGE=$(usex man) | ||
-DWITH_MEM_JEMALLOC=$(usex jemalloc) | ||
-DWITH_MEM_VALGRIND=$(usex valgrind) | ||
) | ||
cmake-utils_src_configure | ||
} | ||
|
||
src_compile() { | ||
cmake-utils_src_compile | ||
|
||
if use doc; then | ||
# Workaround for binary drivers. | ||
addpredict /dev/ati | ||
addpredict /dev/dri | ||
addpredict /dev/nvidiactl | ||
|
||
einfo "Generating Blender C/C++ API docs ..." | ||
cd "${CMAKE_USE_DIR}"/doc/doxygen || die | ||
doxygen -u Doxyfile || die | ||
doxygen || die "doxygen failed to build API docs." | ||
|
||
cd "${CMAKE_USE_DIR}" || die | ||
einfo "Generating (BPY) Blender Python API docs ..." | ||
"${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." | ||
|
||
cd "${CMAKE_USE_DIR}"/doc/python_api || die | ||
sphinx-build sphinx-in BPY_API || die "sphinx failed." | ||
fi | ||
} | ||
|
||
src_test() { | ||
if use test; then | ||
einfo "Running Blender Unit Tests ..." | ||
cd "${BUILD_DIR}"/bin/tests || die | ||
local f | ||
for f in *_test; do | ||
./"${f}" || die | ||
done | ||
fi | ||
} | ||
|
||
src_install() { | ||
# Pax mark blender for hardened support. | ||
pax-mark m "${CMAKE_BUILD_DIR}"/bin/blender | ||
|
||
if use doc; then | ||
docinto "html/API/python" | ||
dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. | ||
|
||
docinto "html/API/blender" | ||
dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. | ||
fi | ||
|
||
cmake-utils_src_install | ||
|
||
# fix doc installdir | ||
docinto "html" | ||
dodoc "${CMAKE_USE_DIR}"/release/text/readme.html | ||
rm -r "${ED%/}"/usr/share/doc/blender || die | ||
|
||
python_fix_shebang "${ED%/}/usr/bin/blender-thumbnailer.py" | ||
python_optimize "${ED%/}/usr/share/blender/${MY_PV}/scripts" | ||
} | ||
|
||
pkg_preinst() { | ||
gnome2_icon_savelist | ||
} | ||
|
||
pkg_postinst() { | ||
elog | ||
elog "Blender uses python integration. As such, may have some" | ||
elog "inherit risks with running unknown python scripts." | ||
elog | ||
elog "It is recommended to change your blender temp directory" | ||
elog "from /tmp to /home/user/tmp or another tmp file under your" | ||
elog "home directory. This can be done by starting blender, then" | ||
elog "dragging the main menu down do display all paths." | ||
elog | ||
ewarn | ||
ewarn "This ebuild does not unbundle the massive amount of 3rd party" | ||
ewarn "libraries which are shipped with blender. Note that" | ||
ewarn "these have caused security issues in the past." | ||
ewarn "If you are concerned about security, file a bug upstream:" | ||
ewarn " https://developer.blender.org/" | ||
ewarn | ||
gnome2_icon_cache_update | ||
xdg_mimeinfo_database_update | ||
} | ||
|
||
pkg_postrm() { | ||
gnome2_icon_cache_update | ||
xdg_mimeinfo_database_update | ||
|
||
ewarn "" | ||
ewarn "You may want to remove the following directory." | ||
ewarn "~/.config/${PN}/${MY_PV}/cache/" | ||
ewarn "It may contain extra render kernels not tracked by portage" | ||
ewarn "" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- blender-2.79b-orig/intern/cycles/util/util_sseb.h 2018-03-24 02:22:25.000000000 +1100 | ||
+++ blender-2.79b/intern/cycles/util/util_sseb.h 2018-05-30 20:43:33.888717930 +1000 | ||
@@ -116,7 +116,7 @@ | ||
__forceinline const sseb unpackhi( const sseb& a, const sseb& b ) { return _mm_unpackhi_ps(a, b); } | ||
|
||
template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a ) { | ||
- return _mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0)); | ||
+ return _mm_castsi128_ps(_mm_shuffle_epi32(a, _MM_SHUFFLE(i3, i2, i1, i0))); | ||
} | ||
|
||
template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a ) { | ||
--- blender-2.79b-orig/intern/itasc/kdl/tree.hpp 2018-03-24 02:22:25.000000000 +1100 | ||
+++ blender-2.79b/intern/itasc/kdl/tree.hpp 2018-05-30 20:33:52.045179988 +1000 | ||
@@ -34,7 +34,7 @@ | ||
//Forward declaration | ||
class TreeElement; | ||
// Eigen allocator is needed for alignment of Eigen data types | ||
- typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap; | ||
+ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, TreeElement> > > SegmentMap; | ||
|
||
class TreeElement | ||
{ |