From f671dc55352bd972ae69483b79d846cefdbe270d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 1 Feb 2015 23:03:24 +0000 Subject: [PATCH] Introduce USE=libav to control the preferred implementation. Add subslot op to force rebuilds on ABI change. Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0xEFB4464E! --- media-gfx/blender/ChangeLog | 8 +- media-gfx/blender/Manifest | 31 +-- media-gfx/blender/blender-2.72b-r3.ebuild | 278 ++++++++++++++++++++++ 3 files changed, 301 insertions(+), 16 deletions(-) create mode 100644 media-gfx/blender/blender-2.72b-r3.ebuild diff --git a/media-gfx/blender/ChangeLog b/media-gfx/blender/ChangeLog index bed055f5e6e0..4dbb09a6a625 100644 --- a/media-gfx/blender/ChangeLog +++ b/media-gfx/blender/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-gfx/blender # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.284 2015/01/29 17:14:08 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.285 2015/02/01 23:03:22 mgorny Exp $ + +*blender-2.72b-r3 (01 Feb 2015) + + 01 Feb 2015; Michał Górny +blender-2.72b-r3.ebuild: + Introduce USE=libav to control the preferred implementation. Add subslot op to + force rebuilds on ABI change. 29 Jan 2015; Michał Górny blender-2.72b-r2.ebuild: Convert to CPU_FLAGS_X86. diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 5a592b591bdf..b3f1040379cd 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -7,24 +7,25 @@ AUX blender-2.70-sse2.patch 1421 SHA256 b20d9aba206543e765e147e7740aff48ef968b90 AUX blender-2.72-T42797.diff 338 SHA256 96ea23f8c588dff6a91415fbb69d007bf4ae4d46e5579d2d7421efb0abaa37fc SHA512 a659582b36f8f07bb866fbd97a4393b186e527dabf76c2ab7112a7f0b96504d077cf5ab0422c6eca53c3c70583caa2d280e0fa1f4454d1935ad8d764079f0d84 WHIRLPOOL 1f1d3e50e52f3e9c92db6950f35cafea3410c1bcb109af1e5c91fab289a3c841ab0489164fe81e99c2d8b8ae8ccd5ee6114233ecdadfbf09eb8b67bbfe43461e DIST blender-2.72b.tar.gz 52018242 SHA256 4436c704afa28e2e5e7b28b2c06981806ddedab70565d40972e422c00644bf47 SHA512 9767797621e443ff9b6810d1713dda110f883c33626d40d7fe5dda676f549e3591516dc24b75feebd85823dd13437c34521ca752139cd31ddacf31ea6b14e124 WHIRLPOOL 3687255bc9f4195b25b66a75630676ee15e67cf10a058dca11b3472617b54aae2bebb1810cc16e19c58ca1c09b1ea8b70f72e30c05632ab0bae8910925a37a54 EBUILD blender-2.72b-r2.ebuild 7842 SHA256 2248382f441a13e19eac311882fd0eb4778aecf06e9a8d24c76765baf68b96d4 SHA512 ae2aeb7d6639264f2bb1a3ba2280497054aaf1cac773fc8ff1757fa746523d44645a095b5c9b94daa5cb2a29e34c281d539939ca695eb68e46c89b444d4ed69a WHIRLPOOL 20a8843de62f26dd855c95c4aaaa78a5c066028d83073ad6b648b514823bfa03e76ba9cad800e3b3a2226594179142d2ed2bb3580d9a465294982315b80b644a -MISC ChangeLog 51302 SHA256 321bf4aa80d510421b291ed1510ecf6c56451c5ae5738f7cc0030b0a0793382a SHA512 867c12f8cdb1811f533546938a5d7fd654fe6e57a9d81618ae81505d4a3b264195eb5cd4e9e0f47901552ad2e6d624f3892b951f7507b53645c8375a68e4c9d3 WHIRLPOOL 83c280c7141a6a989787491a3a0e05070949560551118d9fbc35eca6fb92361c1bbff96668ad694f35afbc5afb3fef50286f2ca7fc8173c57c90b39ecc6f4782 +EBUILD blender-2.72b-r3.ebuild 7862 SHA256 92fb636fc6497e3e7777c414846911c0c9b6665ff83eae021821af7924b4c3d6 SHA512 8a894ea1eb4ef31776912e1efc9da0a2eaca2cb38be3c4265d7ab5fcaf9e6b07ad1f4a47c9196637a411b3b8239a0f9d744ca7447c610f76a3f7d6f59653349c WHIRLPOOL 287a10b2d8580174b8dd092c8f51b45386a67b6698ed49b00185c4767cea1310dcac1aaa1a00504f38de0574db7c00ad69738c2ad785602486fb505d57544c5a +MISC ChangeLog 51525 SHA256 330dad5cc66f4609a32ce1b9f6900fdada8599500dfc49f5cf83b7f6b37ab4e2 SHA512 8644e1836d99907a8bf2806fd76102ed13e2bd4b8bf382e5fb51bf9e33504502af62bac461d88d99b2c5f0a4f9d5421c08c9a2f6f5c811a798d0cca439aa9087 WHIRLPOOL 3e2e2c4b9ca4b44c27b313dea9fed6cb97540f7f021925e2a2be0afa4bd142493b192f2ecb163281de4506ecfc0b9c75d6b1a51be36739bc2b8ccb2252b2b752 MISC metadata.xml 1943 SHA256 442b4b8f917e536321467f5b4408d6530fc8030db5d3efa532a007aaa81defb0 SHA512 8a18cfb1afc6e465c3e10698470794971c2b967f914332421817bbe1c6dc92372d61139803d3b5b7bdd5fd6a80c53b0eb2d0554ae8b41e5d5e4b75de30969a0c WHIRLPOOL 9ab06cf2763dbedc21723e36e9afa72710d8299f602c63152345ea3c67ea3398d8e7ac0c6b4b1c37a2767cb6598b5a76d793ab300483a052c00e6789f08f648c -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQJ8BAEBCABmBQJUymplXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJUzrC8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC -MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOIqUQALLgHCUoPC41xjkRUhQGO7gf -1j8bD+CZmcY2yMmJskerbyRmu3KIXBC2WKPakH1Nqx2oTNtBUQ/SNr0M7RuuFfZJ -ryrb7rXgNFKzv1XuEENi76C58/SiheDj7krlmCyc4JVF7wSc6rrTVOGYU8jkhkZz -SGOL2GPbf7NACiMpZvv1VzoUN/0n6Ax36+0blEbT9+9x7er9g3/g2Tpj3yB6nB97 -HpniuQBAYf/iNcpho0lcALJIoXj3NnjUv15+Pg4h5hL6vjV9TgJpXP6x8keaKzbZ -NtfbCYUUGeFrogVH31QUM+5pmH5+e0sHcdUdV42pagHM2FOLEY/fo3vlpMt915zS -qJ2O44+ljaxSL/Hxr45m5yrgZ+V3HW/1Uj5NOUJtpCfIJAkq2GyhBIFGvM9oEQZt -DTsMUkWDoM8HS++FpXYIgkS2nsp1/jOQlRnw53mwx0aE30PLYKl3skVVRCm8eEBz -PQHhfKnXewlTwHLaIV0YyCR1I9K8XeJTMKjkrlJ5yew2IgEdYKHMLAD703zAb2mW -9WEmUurawmVRZ248TXwKQNua0aJOb5jeiQItDVTe2L1KC90AO2n0AJHvZLUerRij -yT0W1NllgOioSJj7DIePXRwqWl7QVQQvrGzPTDZIw6F+UZU48FIU0sWORX4WABBy -iK8rrA+iXdMCWFeIBSm8 -=9R3E +MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO9vEP/jXeoFKqcljWvDlHpfTpAo73 +WqF08DGK9Zx9qC9/XeH4xXWM1lM0E16qpfQ7pcYLyEsNjoPFUv3/O0zfKHIe47h7 +p5hlZtHy9PFO9fFAhP7s2npK+FGHab56KA4mc8UhpQwBBepv8WQM6QKt736mEHwp +kP3izY20EmeJAgB7Zl482IYArqLAGnHwXpDE+sNDwYZqha9X29CrZ3P33gPksZie +iSupZfDJscqZ5D+F9k9McsZDjN0TSfaC3iKg2obB38P0nhl3kKW5HlXbyAiogUFn +VeS4EABoyGxNqYpaJP+RiQDmXUsOxBqd0F3g3VC2w4qRQ5JDR0dsiUlo2jjD6Ovq +/VTUm4o30tw/Qm8Btvbcmxo+zADWX5nyEI7JmxDWu3gC+DXryMWZKWgX17Ml10Eu +Jh51J9SR2a3+FE5dKlaK4vN4WmwR5G6bfNzvoYtBSy8o1Xau/QvUqYFoe5RJg24t +OPOKTc7soqw6TS6tWHaIzgTnE8wIYxgXZiI9TDssC3b+2dL9MtoAXQaDIamTn/Bo +OMGfDvo63xNxX/f/mDcLwg56+LeAJKXdTlg/Q9tPFLkIAmhuaOdUEZB09JjjHtCR +1AmQ0gI+Sfzu2DAzZPsWar6aYBBDitW+m11x9zmdX+LErCDGFnd3EgGTREIN2t62 +8Yc7F6m9CRjBfcUZZosu +=Scbe -----END PGP SIGNATURE----- diff --git a/media-gfx/blender/blender-2.72b-r3.ebuild b/media-gfx/blender/blender-2.72b-r3.ebuild new file mode 100644 index 000000000000..28d315e11776 --- /dev/null +++ b/media-gfx/blender/blender-2.72b-r3.ebuild @@ -0,0 +1,278 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.72b-r3.ebuild,v 1.1 2015/02/01 23:03:22 mgorny Exp $ + +## BUNDLED-DEPS: +# extern/cuew +# extern/Eigen3 +# extern/xdnd +# extern/carve +# extern/glew +# extern/libmv +# extern/clew +# extern/colamd +# extern/lzma +# extern/gtest +# extern/rangetree +# extern/libredcode +# extern/wcwidth +# extern/binreloc +# extern/recastnavigation +# extern/bullet2 +# extern/lzo +# extern/libopenjpeg +# extern/libmv/third_party/msinttypes +# extern/libmv/third_party/ceres +# extern/libmv/third_party/gflags +# extern/libmv/third_party/glog + +EAPI=5 +PYTHON_COMPAT=( python3_4 ) +#PATCHSET="1" + +inherit multilib fdo-mime gnome2-utils cmake-utils eutils python-single-r1 versionator flag-o-matic toolchain-funcs pax-utils check-reqs + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="http://www.blender.org" + +case ${PV} in + *_p*) + SRC_URI="http://dev.gentoo.org/~lu_zero/${P}.tar.gz" ;; + *) + SRC_URI="http://download.blender.org/source/${P}.tar.gz" ;; +esac + +if [[ -n ${PATCHSET} ]]; then + SRC_URI+=" http://dev.gentoo.org/~flameeyes/${PN}/${P}-patches-${PATCHSET}.tar.xz" +fi + +SLOT="0" +LICENSE="|| ( GPL-2 BL )" +KEYWORDS="~amd64 ~x86" +IUSE="+boost +bullet collada colorio cycles +dds debug doc +elbeem ffmpeg fftw +game-engine jack jpeg2k libav ndof nls openal openimageio +opennl openmp +openexr player redcode sdl sndfile cpu_flags_x86_sse cpu_flags_x86_sse2 tiff" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + player? ( game-engine ) + redcode? ( jpeg2k ffmpeg ) + cycles? ( boost openexr tiff ) + nls? ( boost ) + game-engine? ( boost )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=media-libs/freetype-2.0:2 + media-libs/glew + media-libs/libpng:0 + media-libs/libsamplerate + sci-libs/ldl + sys-libs/zlib + virtual/glu + virtual/jpeg + virtual/libintl + virtual/opengl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + boost? ( >=dev-libs/boost-1.44[nls?,threads(+)] ) + collada? ( media-libs/opencollada ) + colorio? ( <=media-libs/opencolorio-1.0.9 ) + cycles? ( + media-libs/openimageio + ) + ffmpeg? ( + !libav? ( >=media-video/ffmpeg-2.1.4:0=[x264,mp3,encode,theora,jpeg2k?] ) + libav? ( >=media-video/libav-9:0=[x264,mp3,encode,theora,jpeg2k?] ) + ) + fftw? ( sci-libs/fftw:3.0 ) + jack? ( media-sound/jack-audio-connection-kit ) + jpeg2k? ( media-libs/openjpeg:0 ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( >=media-libs/openal-1.6.372 ) + openimageio? ( media-libs/openimageio ) + openexr? ( media-libs/ilmbase media-libs/openexr ) + sdl? ( media-libs/libsdl[sound,joystick] ) + sndfile? ( media-libs/libsndfile ) + tiff? ( media-libs/tiff:0 )" +DEPEND="${RDEPEND} + doc? ( + app-doc/doxygen[-nodot(-),dot(+)] + dev-python/sphinx + ) + nls? ( sys-devel/gettext )" + +pkg_pretend() { + if use openmp && ! tc-has-openmp; then + eerror "You are using gcc built without 'openmp' USE." + eerror "Switch CXX to an OpenMP capable compiler." + die "Need openmp" + fi + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.68-doxyfile.patch \ + "${FILESDIR}"/${PN}-2.68-fix-install-rules.patch \ + "${FILESDIR}"/${PN}-2.70-sse2.patch \ + "${FILESDIR}"/${PN}-2.72-T42797.diff + + epatch_user + + # we don't want static glew, but it's scattered across + # thousand files + # !!!CHECK THIS SED ON EVERY VERSION BUMP!!! + sed -i \ + -e '/-DGLEW_STATIC/d' \ + $(find . -type f -name "CMakeLists.txt") || die + + # linguas cleanup + local i + if ! use nls; then + rm -r "${S}"/release/datafiles/locale || die + else + if [[ -n "${LINGUAS+x}" ]] ; then + cd "${S}"/release/datafiles/locale/po + for i in *.po ; do + mylang=${i%.po} + has ${mylang} ${LINGUAS} || { rm -r ${i} || die ; } + done + fi + fi +} + +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 + + # WITH_PYTHON_SECURITY + # WITH_PYTHON_SAFETY + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX=/usr + -DWITH_INSTALL_PORTABLE=OFF + $(cmake-utils_use_with boost BOOST) + $(cmake-utils_use_with cycles CYCLES) + $(cmake-utils_use_with collada OPENCOLLADA) + $(cmake-utils_use_with dds IMAGE_DDS) + $(cmake-utils_use_with elbeem MOD_FLUID) + $(cmake-utils_use_with ffmpeg CODEC_FFMPEG) + $(cmake-utils_use_with fftw FFTW3) + $(cmake-utils_use_with fftw MOD_OCEANSIM) + $(cmake-utils_use_with game-engine GAMEENGINE) + $(cmake-utils_use_with nls INTERNATIONAL) + $(cmake-utils_use_with jack JACK) + $(cmake-utils_use_with jpeg2k IMAGE_OPENJPEG) + $(cmake-utils_use_with openimageio OPENIMAGEIO) + $(cmake-utils_use_with openal OPENAL) + $(cmake-utils_use_with openexr IMAGE_OPENEXR) + $(cmake-utils_use_with openmp OPENMP) + $(cmake-utils_use_with opennl OPENNL) + $(cmake-utils_use_with player PLAYER) + $(cmake-utils_use_with redcode IMAGE_REDCODE) + $(cmake-utils_use_with sdl SDL) + $(cmake-utils_use_with sndfile CODEC_SNDFILE) + $(cmake-utils_use_with cpu_flags_x86_sse RAYOPTIMIZATION) + $(cmake-utils_use_with cpu_flags_x86_sse2 SSE2) + $(cmake-utils_use_with bullet BULLET) + $(cmake-utils_use_with tiff IMAGE_TIFF) + $(cmake-utils_use_with colorio OPENCOLORIO) + $(cmake-utils_use_with ndof INPUT_NDOF) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_PYTHON_INSTALL_NUMPY=OFF + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_GLEW=ON + -DWITH_SYSTEM_OPENJPEG=ON + -DWITH_SYSTEM_BULLET=OFF + -DPYTHON_VERSION="${EPYTHON/python/}" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + + if use doc; then + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile + 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 "blender failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + fi +} + +src_test() { :; } + +src_install() { + local i + + # Pax mark blender for hardened support. + pax-mark m "${CMAKE_BUILD_DIR}"/bin/blender + + if use doc; then + docinto "API/python" + dohtml -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/* + + docinto "API/blender" + dohtml -r "${CMAKE_USE_DIR}"/doc/doxygen/html/* + fi + + # fucked up cmake will relink binary for no reason + emake -C "${CMAKE_BUILD_DIR}" DESTDIR="${D}" install/fast + + # fix doc installdir + dohtml "${CMAKE_USE_DIR}"/release/text/readme.html + rm -rf "${ED%/}"/usr/share/doc/blender + + python_fix_shebang "${ED%/}"/usr/bin/blender-thumbnailer.py + python_optimize "${ED%/}"/usr/share/blender/${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 scripting." + 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 +} -- 2.26.2