aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerion Entrup <gerion.entrup@flump.de>2017-09-30 16:50:26 +0200
committerGerion Entrup <gerion.entrup@flump.de>2017-09-30 16:50:26 +0200
commit5e41636c50b17957df5c3f633dfda3b601a43bc1 (patch)
tree7df9c663af39631256b54e401e9acaa26ac7d19e /media-gfx
parentmedia-sound/projectm-jack: fix jack dependency and RUNPATH (diff)
downloadgerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.tar.gz
gerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.tar.bz2
gerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.zip
fix jack dependency
- media-gfx/blender - media-sound/rosegarden - media-sound/patchage - media-sound/timidity++
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/blender/Manifest5
-rw-r--r--media-gfx/blender/blender-2.78a-r2.ebuild295
-rw-r--r--media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch25
-rw-r--r--media-gfx/blender/files/blender-fix-install-rules.patch16
-rw-r--r--media-gfx/blender/metadata.xml101
5 files changed, 442 insertions, 0 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
new file mode 100644
index 0000000..c6db9de
--- /dev/null
+++ b/media-gfx/blender/Manifest
@@ -0,0 +1,5 @@
+AUX blender-2.78-eigen-3.3.1.patch 666 SHA256 35900be15f8bb0540050ffab9067122ba87433eecf896095e7ce1e889e54af5b SHA512 9a2ee48fa38e23a5b086514468bd1c96ee2b97228e95cdfaac3c5d3b2c21c4e47a0ced4306d7dc89268d63b60e551b655d6d627790215ad68791fe3f35717bf5 WHIRLPOOL b073ba691ada03ead560a9be8907b8c1111c1029fdc7e6a4f59c24f5771a34bc287800f9458d81488fa19faba662afd876693bd9933600e498b13d95c4f134c6
+AUX blender-fix-install-rules.patch 518 SHA256 4fbdd73c4bb20e316f6a02c7e6a33a90285db787aac5b3baf66394d256fe6e0f SHA512 5343f0e9e6bba2d15a38cb5db95a1aeff0a704c0762e558b9b74d88dd58e2fb5077289f0d8f25a61fa092d083f7db916d27c4642dfd7cf84d4c989258c3253ec WHIRLPOOL 6ae8c113ab1ccac5c1465e0deab3bd101922303c0f60ecdb4d1cbff7dd02d37c299d4897beb5239b60e8724e47b830ecd5b7f6045dd301847f2583d559bdacbb
+DIST blender-2.78a.tar.gz 44188123 SHA256 014a14b1ba00c0e651f106469b2e5dd444f11be5a7af48056f0ed59de90cceaf SHA512 57239b6ce473aaef114453f97a6e88535ec0a2f50cfecd221fa6bdcca6fe6559dcbefd48c3f20dc2235c195de13c59a1a155d5b64d777be31812d32e68be9370 WHIRLPOOL 85ea5ea5594716433a5f2f14233a489841598baf80170f01fff3946b4fa6ebc99086396a232f0f3c5f0e8c8d6c16ec27e98b7b58d79d289f5190214dc7efb677
+EBUILD blender-2.78a-r2.ebuild 8353 SHA256 c1c9119567498541d027fa46fa8904c2bc5b1911c8663d4a9aa4e4a94fcc81cc SHA512 c12a7c31babf8d837205238bd5e4f0affb53a2e61f6a53d327eeae4b08741e9e9073debfc3f95edb5ea277462ce1898b2cae398190ab94dc2745e91390af3da4 WHIRLPOOL 2395d88212d8c95a7f0c620795a2dabab8f942ac919cf7c4d05bfa885fd3265cd977f8944e7afaa5f2cdf0b6e432a050af395c1fe684f26eb7ebc829d2de2623
+MISC metadata.xml 3440 SHA256 45cba6ae08884bbca2a5a94993dde5abfd900ead160a2f7eec19a3f4779bb696 SHA512 75c1cfb4998e9bbd2c3d4836bfba2f273d90920a2a72f70b599ee4cdfdfbf02cf1f2508aa24df6c762e3c323000de0a04623b21caaf5843e235888d3906043a8 WHIRLPOOL f20d54a0f468ee3ed1c1d5eca5790f73963d1abceb7fd7ed2040d060882fdf40950e728eea5686f50f60124a1a8ce85c6c5a84da7f67de5660930ce6a3c69c53
diff --git a/media-gfx/blender/blender-2.78a-r2.ebuild b/media-gfx/blender/blender-2.78a-r2.ebuild
new file mode 100644
index 0000000..3235f0c
--- /dev/null
+++ b/media-gfx/blender/blender-2.78a-r2.ebuild
@@ -0,0 +1,295 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_5 )
+
+inherit check-reqs cmake-utils fdo-mime flag-o-matic gnome2-utils \
+ pax-utils python-single-r1 toolchain-funcs versionator
+
+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="$(get_version_component_range 1-2)"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BL )"
+KEYWORDS="~amd64 ~x86"
+IUSE="+boost +bullet +dds +elbeem +game-engine +openexr collada colorio \
+ cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \
+ llvm man ndof nls openal openimageio openmp opensubdiv openvdb \
+ player sdl sndfile test tiff valgrind"
+
+# OpenCL and nVidia performance is rubbish with Blender
+# If you have nVidia, use CUDA.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ player? ( game-engine !headless )
+ cuda? ( cycles )
+ cycles? ( boost openexr tiff openimageio )
+ colorio? ( boost )
+ openvdb? ( boost )
+ opensubdiv? ( cuda )
+ nls? ( boost )
+ openal? ( boost )
+ game-engine? ( boost )
+ ?? ( ffmpeg libav )"
+
+# Since not using OpenCL with nVidia, depend on ATI binary
+# blobs as Cycles with OpenCL does not work with any open
+# source drivers.
+RDEPEND="${PYTHON_DEPS}
+ 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
+ boost? ( >=dev-libs/boost-1.62:=[nls?,threads(+)] )
+ collada? ( >=media-libs/opencollada-1.6.18:= )
+ colorio? ( >=media-libs/opencolorio-1.0.9-r2 )
+ cuda? ( =dev-util/nvidia-cuda-toolkit-8.0*:= )
+ 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 )
+ openimageio? ( >=media-libs/openimageio-1.6.9 )
+ openexr? (
+ >=media-libs/ilmbase-2.2.0:=
+ >=media-libs/openexr-2.2.0:=
+ )
+ opensubdiv? ( media-libs/opensubdiv[cuda=] )
+ openvdb? (
+ media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)]
+ dev-cpp/tbb
+ >=dev-libs/c-blosc-1.5.2
+ )
+ 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
+ nls? ( sys-devel/gettext )
+ doc? (
+ app-doc/doxygen[-nodot(-),dot(+),latex]
+ dev-python/sphinx[latex]
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}-fix-install-rules.patch
+ "${FILESDIR}"/${PN}-2.78-eigen-3.3.1.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() {
+ default
+
+ # 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
+ append-cppflags -DOPENVDB_3_ABI_COMPATIBLE
+
+ 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=$(usex boost)
+ -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=OFF
+ -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=OFF
+ -DWITH_CYCLES_DEVICE_OPENCL=OFF
+ -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/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
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_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 ""
+}
diff --git a/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch
new file mode 100644
index 0000000..540aa6b
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch
@@ -0,0 +1,25 @@
+--- blender-2.78a-orig/extern/ceres/include/ceres/jet.h 2016-10-25 01:13:56.000000000 +1100
++++ blender-2.78a/extern/ceres/include/ceres/jet.h 2017-01-11 13:27:24.708241265 +1100
+@@ -757,6 +757,7 @@
+ typedef ceres::Jet<T, N> Real;
+ typedef ceres::Jet<T, N> NonInteger;
+ typedef ceres::Jet<T, N> Nested;
++ typedef ceres::Jet<T, N> Literal;
+
+ static typename ceres::Jet<T, N> dummy_precision() {
+ return ceres::Jet<T, N>(1e-12);
+@@ -777,6 +778,14 @@
+ HasFloatingPoint = 1,
+ RequireInitialization = 1
+ };
++
++ template<bool Vectorized>
++ struct Div {
++ enum {
++ AVX = false,
++ Cost = 1
++ };
++ };
+ };
+
+ } // namespace Eigen
diff --git a/media-gfx/blender/files/blender-fix-install-rules.patch b/media-gfx/blender/files/blender-fix-install-rules.patch
new file mode 100644
index 0000000..e62aba8
--- /dev/null
+++ b/media-gfx/blender/files/blender-fix-install-rules.patch
@@ -0,0 +1,16 @@
+diff -purN a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
+--- a/source/creator/CMakeLists.txt 2016-09-28 10:26:55.000000000 +0100
++++ b/source/creator/CMakeLists.txt 2016-10-03 12:17:08.938928486 +0100
+@@ -328,12 +328,6 @@ endif()
+ # Install Targets (Generic, All Platforms)
+
+
+-# important to make a clean install each time, else old scripts get loaded.
+-install(
+- CODE
+- "file(REMOVE_RECURSE ${TARGETDIR_VER})"
+-)
+-
+ if(WITH_PYTHON)
+ # install(CODE "message(\"copying blender scripts...\")")
+
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
new file mode 100644
index 0000000..ef8d087
--- /dev/null
+++ b/media-gfx/blender/metadata.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
+ <email>j.scruggs@gmail.com</email>
+ <name>Jonathan Scruggs</name>
+ </maintainer>
+ <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
+ <email>agrigo2001@yahoo.com.au</email>
+ <name>Adrian Grigo</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>graphics@gentoo.org</email>
+ <name>Gentoo Graphics Project</name>
+ </maintainer>
+
+ <longdescription>
+ Blender, the open source software for 3D modeling, animation,
+ rendering, post-production, interactive creation and playback.
+ </longdescription>
+
+ <use>
+ <flag name="boost">
+ Enable features depending on boost.
+ </flag>
+ <flag name="bullet">
+ Enable Bullet (Physics Engine).
+ </flag>
+ <flag name="collada">
+ Add support for Collada interchange format through
+ <pkg>media-libs/opencollada</pkg>.
+ </flag>
+ <flag name="colorio">
+ Enable OpenColorIO color management through
+ <pkg>media-libs/opencolorio</pkg>.
+ </flag>
+ <flag name="cuda">
+ Build cycles renderer with nVidia CUDA support.
+ </flag>
+ <flag name="cycles">
+ Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and
+ <pkg>dev-libs/boost</pkg>).
+ </flag>
+ <flag name="dds">
+ Adds DDS textures support to Blender.
+ </flag>
+ <flag name="doc">
+ Build C and Python API documentation directly from the source code.
+ </flag>
+ <flag name="elbeem">
+ Adds surface fluid simulation to Blender using El'Beem library.
+ </flag>
+ <flag name="game-engine" restrict="&gt;=media-gfx/blender-2.50">
+ Adds Game Engine support to Blender.
+ </flag>
+ <flag name="headless" restrict="&gt;=media-gfx/blender-2.77">
+ Build without graphical support (renderfarm, server mode only).
+ </flag>
+ <flag name="jemalloc" restrict="&gt;=media-gfx/blender-2.77">
+ Use <pkg>dev-libs/jemalloc</pkg> for memory allocation.
+ </flag>
+ <flag name="llvm" restrict="&gt;=media-gfx/blender-2.77">
+ Enable features depending on llvm.
+ </flag>
+ <flag name="man" restrict="&gt;=media-gfx/blender-2.77">
+ Build and install man pages.
+ </flag>
+ <flag name="ndof">
+ Enable NDOF input devices (SpaceNavigator and friends).
+ </flag>
+ <flag name="openimageio">Enable OpenImageIO Support</flag>
+ <flag name="opennl" restrict="&lt;=media-gfx/blender-2.73">
+ Enable use of Open Numerical Library
+ </flag>
+ <flag name="opensubdiv" restrict="&gt;=media-gfx/blender-2.77">
+ Add rendering support form OpenSubdiv from Dreamworks Animation
+ through <pkg>media-libs/opensubdiv</pkg>.
+ </flag>
+ <flag name="openvdb" restrict="&gt;=media-gfx/blender-2.77">
+ Add GPU preview rendering. Only works with nVidia cards.
+ </flag>
+ <flag name="player">
+ Build the Blender Player. THis requires the Game engine.
+ </flag>
+ <flag name="redcode" restrict="&lt;=media-gfx/blender-2.73">
+ This flag add support for RED CODE camera digital format (5K HD
+ images *.r3d) - EXPERIMENTAL.
+ </flag>
+ <flag name="test" restrict="&gt;=media-gfx/blender-2.77">
+ Build the provided unit tests.
+ </flag>
+ <flag name="valgrind" restrict="&gt;=media-gfx/blender-2.77">
+ Add support for memory debugging using
+ <pkg>dev-util/valgrind</pkg>
+ </flag>
+ </use>
+</pkgmetadata>