parent
c1bd1798d2
commit
cead6f1684
@ -1,2 +0,0 @@
|
||||
DIST blender-2.76b.tar.gz 41728871 SHA256 bd852a8592ec2eca596a63244152506c406d8fc1d845244a8e11c84d24ad605d SHA512 6226f9709d680344fe5cd8106fafc94c33c131658971681d56df6865ae86c834fc248830c9d2c2ac0c5342bf903ada4d5b61afcdfb1ab79a06976287eeed28b9 WHIRLPOOL 606a7fb80cbcc94a53f15491ff4be16c0fc08e0f8d0d540d80426557c7918941834224387bc2f64d1aadf52ae7814f4960123a2a0175c9baa9d1131013532118
|
||||
DIST blender-2.78c.tar.gz 44214415 SHA256 64a98ff30300f79385ddb9ad016aa790a92720ff2feb84ddb1d097e6531dd338 SHA512 dee09e6ac19c4eeab71d64ad9581df1bb043a3de97586206b07aeb9aa55e68ecfc3a96d39835bcec20c72fb73a5eb418b349af7abe66d906a1e660caa1e4d267 WHIRLPOOL cee72434693de4ed621d9ca37dec7645f5d823f170676a7de700918861581974689a9419c0c69038f39a8279e0698e230f33e33acbe74492814904076a51ca3c
|
@ -1,252 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
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"
|
||||
|
||||
SRC_URI="http://download.blender.org/source/${P}.tar.gz"
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~flameeyes/${PN}/${P}-patches-${PATCHSET}.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="|| ( GPL-2 BL )"
|
||||
SLOT="0"
|
||||
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-3.1: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}"/${P}-ffmpeg-3.2.patch
|
||||
|
||||
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
|
||||
}
|
@ -1,295 +0,0 @@
|
||||
# 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? ( media-sound/jack-audio-connection-kit )
|
||||
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 ""
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
commit 62308d9fc24bde22a50497816c44c8ca91f96f63
|
||||
Author: hasufell <hasufell@gentoo.org>
|
||||
Date: Fri Jul 19 18:36:34 2013 +0200
|
||||
|
||||
remove hhc.exe reference
|
||||
|
||||
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
|
||||
index 397cc30..ac61756 100644
|
||||
--- a/doc/doxygen/Doxyfile
|
||||
+++ b/doc/doxygen/Doxyfile
|
||||
@@ -1051,7 +1051,7 @@ CHM_FILE = blender.chm
|
||||
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
|
||||
# the HTML help compiler on the generated index.hhp.
|
||||
|
||||
-HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"
|
||||
+HHC_LOCATION =
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
|
||||
# controls if a separate .chi index file is generated (YES) or that
|
@ -1,26 +0,0 @@
|
||||
commit 94eed33f878e35a8c7b69b0c23b3b30026460f33
|
||||
Author: hasufell <hasufell@gentoo.org>
|
||||
Date: Fri Jul 19 18:50:08 2013 +0200
|
||||
|
||||
remove stupid uninstall snippet
|
||||
|
||||
whoever coded this... it is dangerous
|
||||
uninstall methods have NO PLACE in install rules
|
||||
|
||||
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
|
||||
index c84d944..2b9bf46 100644
|
||||
--- a/source/creator/CMakeLists.txt
|
||||
+++ b/source/creator/CMakeLists.txt
|
||||
@@ -268,12 +268,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...\")")
|
||||
|
@ -1,35 +0,0 @@
|
||||
commit 0e0b27a589680e10e38a26575ad4dba8f3af2ec6
|
||||
Author: hasufell <hasufell@gentoo.org>
|
||||
Date: Fri Jul 19 18:50:19 2013 +0200
|
||||
|
||||
add option to explicitly control sse2 optimization
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 78bb3c6..d5f4576 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -86,6 +86,7 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
# Load some macros.
|
||||
include(build_files/cmake/macros.cmake)
|
||||
+include(CMakeDependentOption)
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -251,6 +252,7 @@
|
||||
# Misc
|
||||
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
|
||||
option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
|
||||
+cmake_dependent_option(WITH_SSE2 "SSE2 optimizations" ON WITH_RAYOPTIMIZATION OFF)
|
||||
option(WITH_OPENNL "Enable use of Open Numerical Library" ON)
|
||||
if(UNIX AND NOT APPLE)
|
||||
option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
|
||||
@@ -1950,7 +1952,7 @@
|
||||
set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}")
|
||||
add_definitions(-D__SSE__ -D__MMX__)
|
||||
endif()
|
||||
- if(SUPPORT_SSE2_BUILD)
|
||||
+ if(WITH_SSE2 AND SUPPORT_SSE2_BUILD)
|
||||
set(PLATFORM_CFLAGS " ${COMPILER_SSE2_FLAG} ${PLATFORM_CFLAGS}")
|
||||
add_definitions(-D__SSE2__)
|
||||
if(NOT SUPPORT_SSE_BUILD) # dont double up
|
@ -1,362 +0,0 @@
|
||||
diff -up blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp.ffmpeg blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
|
||||
--- blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp.ffmpeg 2015-10-23 17:02:52.000000000 -0200
|
||||
+++ blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2015-11-07 12:19:57.487646880 -0200
|
||||
@@ -58,9 +58,9 @@ int AUD_FFMPEGReader::decode(AVPacket& p
|
||||
got_frame = 0;
|
||||
|
||||
if(!frame)
|
||||
- frame = avcodec_alloc_frame();
|
||||
+ frame = av_frame_alloc();
|
||||
else
|
||||
- avcodec_get_frame_defaults(frame);
|
||||
+ av_frame_unref(frame);
|
||||
|
||||
read_length = avcodec_decode_audio4(m_codecCtx, frame, &got_frame, &packet);
|
||||
if(read_length < 0)
|
||||
diff -up blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp.ffmpeg blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
|
||||
--- blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp.ffmpeg 2015-10-23 17:02:52.000000000 -0200
|
||||
+++ blender-2.76b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp 2015-11-07 12:19:57.487646880 -0200
|
||||
@@ -202,7 +202,7 @@ AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::
|
||||
m_frame = av_frame_alloc();
|
||||
if (!m_frame)
|
||||
AUD_THROW(AUD_ERROR_FFMPEG, codec_error);
|
||||
- avcodec_get_frame_defaults(m_frame);
|
||||
+ av_frame_unref(m_frame);
|
||||
m_frame->linesize[0] = m_input_size * samplesize;
|
||||
m_frame->format = m_codecCtx->sample_fmt;
|
||||
m_frame->nb_samples = m_input_size;
|
||||
diff -up blender-2.76b/source/blender/blenkernel/intern/writeffmpeg.c.ffmpeg blender-2.76b/source/blender/blenkernel/intern/writeffmpeg.c
|
||||
--- blender-2.76b/source/blender/blenkernel/intern/writeffmpeg.c.ffmpeg 2015-11-07 12:30:18.092741168 -0200
|
||||
+++ blender-2.76b/source/blender/blenkernel/intern/writeffmpeg.c 2015-11-07 12:37:36.113348965 -0200
|
||||
@@ -138,8 +138,8 @@ static int write_audio_frame(FFMpegConte
|
||||
context->audio_time += (double) context->audio_input_samples / (double) c->sample_rate;
|
||||
|
||||
#ifdef FFMPEG_HAVE_ENCODE_AUDIO2
|
||||
- frame = avcodec_alloc_frame();
|
||||
- avcodec_get_frame_defaults(frame);
|
||||
+ frame = av_frame_alloc();
|
||||
+ av_frame_unref(frame);
|
||||
frame->pts = context->audio_time / av_q2d(c->time_base);
|
||||
frame->nb_samples = context->audio_input_samples;
|
||||
frame->format = c->sample_fmt;
|
||||
@@ -172,7 +172,7 @@ static int write_audio_frame(FFMpegConte
|
||||
}
|
||||
|
||||
if (!got_output) {
|
||||
- avcodec_free_frame(&frame);
|
||||
+ av_frame_free(&frame);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
@@ -202,7 +202,7 @@ static int write_audio_frame(FFMpegConte
|
||||
if (av_interleaved_write_frame(context->outfile, &pkt) != 0) {
|
||||
fprintf(stderr, "Error writing audio packet!\n");
|
||||
if (frame)
|
||||
- avcodec_free_frame(&frame);
|
||||
+ av_frame_free(&frame);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ static int write_audio_frame(FFMpegConte
|
||||
}
|
||||
|
||||
if (frame)
|
||||
- avcodec_free_frame(&frame);
|
||||
+ av_frame_free(&frame);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -224,7 +224,7 @@ static AVFrame *alloc_picture(int pix_fm
|
||||
int size;
|
||||
|
||||
/* allocate space for the struct */
|
||||
- f = avcodec_alloc_frame();
|
||||
+ f = av_frame_alloc();
|
||||
if (!f) return NULL;
|
||||
size = avpicture_get_size(pix_fmt, width, height);
|
||||
/* allocate the actual picture buffer */
|
||||
@@ -363,8 +363,8 @@ static AVFrame *generate_video_frame(FFM
|
||||
int height = c->height;
|
||||
AVFrame *rgb_frame;
|
||||
|
||||
- if (c->pix_fmt != PIX_FMT_BGR32) {
|
||||
- rgb_frame = alloc_picture(PIX_FMT_BGR32, width, height);
|
||||
+ if (c->pix_fmt != AV_PIX_FMT_BGR32) {
|
||||
+ rgb_frame = alloc_picture(AV_PIX_FMT_BGR32, width, height);
|
||||
if (!rgb_frame) {
|
||||
BKE_report(reports, RPT_ERROR, "Could not allocate temporary frame");
|
||||
return NULL;
|
||||
@@ -414,14 +414,14 @@ static AVFrame *generate_video_frame(FFM
|
||||
}
|
||||
}
|
||||
|
||||
- if (c->pix_fmt != PIX_FMT_BGR32) {
|
||||
+ if (c->pix_fmt != AV_PIX_FMT_BGR32) {
|
||||
sws_scale(context->img_convert_ctx, (const uint8_t *const *) rgb_frame->data,
|
||||
rgb_frame->linesize, 0, c->height,
|
||||
context->current_frame->data, context->current_frame->linesize);
|
||||
delete_picture(rgb_frame);
|
||||
}
|
||||
|
||||
- context->current_frame->format = PIX_FMT_BGR32;
|
||||
+ context->current_frame->format = AV_PIX_FMT_BGR32;
|
||||
context->current_frame->width = width;
|
||||
context->current_frame->height = height;
|
||||
|
||||
@@ -586,12 +586,12 @@ static AVStream *alloc_video_stream(FFMp
|
||||
}
|
||||
else {
|
||||
/* makes HuffYUV happy ... */
|
||||
- c->pix_fmt = PIX_FMT_YUV422P;
|
||||
+ c->pix_fmt = AV_PIX_FMT_YUV422P;
|
||||
}
|
||||
|
||||
if (context->ffmpeg_type == FFMPEG_XVID) {
|
||||
/* arghhhh ... */
|
||||
- c->pix_fmt = PIX_FMT_YUV420P;
|
||||
+ c->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
c->codec_tag = (('D' << 24) + ('I' << 16) + ('V' << 8) + 'X');
|
||||
}
|
||||
|
||||
@@ -604,26 +604,26 @@ static AVStream *alloc_video_stream(FFMp
|
||||
/* Keep lossless encodes in the RGB domain. */
|
||||
if (codec_id == AV_CODEC_ID_HUFFYUV) {
|
||||
if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
|
||||
- c->pix_fmt = PIX_FMT_BGRA;
|
||||
+ c->pix_fmt = AV_PIX_FMT_BGRA;
|
||||
}
|
||||
else {
|
||||
- c->pix_fmt = PIX_FMT_RGB32;
|
||||
+ c->pix_fmt = AV_PIX_FMT_RGB32;
|
||||
}
|
||||
}
|
||||
|
||||
if (codec_id == AV_CODEC_ID_FFV1) {
|
||||
- c->pix_fmt = PIX_FMT_RGB32;
|
||||
+ c->pix_fmt = AV_PIX_FMT_RGB32;
|
||||
}
|
||||
|
||||
if (codec_id == AV_CODEC_ID_QTRLE) {
|
||||
if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
|
||||
- c->pix_fmt = PIX_FMT_ARGB;
|
||||
+ c->pix_fmt = AV_PIX_FMT_ARGB;
|
||||
}
|
||||
}
|
||||
|
||||
if (codec_id == AV_CODEC_ID_PNG) {
|
||||
if (rd->im_format.planes == R_IMF_PLANES_RGBA) {
|
||||
- c->pix_fmt = PIX_FMT_RGBA;
|
||||
+ c->pix_fmt = AV_PIX_FMT_RGBA;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -661,7 +661,7 @@ static AVStream *alloc_video_stream(FFMp
|
||||
|
||||
context->current_frame = alloc_picture(c->pix_fmt, c->width, c->height);
|
||||
|
||||
- context->img_convert_ctx = sws_getContext(c->width, c->height, PIX_FMT_BGR32, c->width, c->height, c->pix_fmt, SWS_BICUBIC,
|
||||
+ context->img_convert_ctx = sws_getContext(c->width, c->height, AV_PIX_FMT_BGR32, c->width, c->height, c->pix_fmt, SWS_BICUBIC,
|
||||
NULL, NULL, NULL);
|
||||
return st;
|
||||
}
|
||||
diff -up blender-2.76b/source/blender/imbuf/intern/anim_movie.c.ffmpeg blender-2.76b/source/blender/imbuf/intern/anim_movie.c
|
||||
--- blender-2.76b/source/blender/imbuf/intern/anim_movie.c.ffmpeg 2015-11-02 11:25:38.000000000 -0200
|
||||
+++ blender-2.76b/source/blender/imbuf/intern/anim_movie.c 2015-11-07 12:38:28.854216670 -0200
|
||||
@@ -562,12 +562,12 @@ static int startffmpeg(struct anim *anim
|
||||
anim->next_pts = -1;
|
||||
anim->next_packet.stream_index = -1;
|
||||
|
||||
- anim->pFrame = avcodec_alloc_frame();
|
||||
+ anim->pFrame = av_frame_alloc();
|
||||
anim->pFrameComplete = false;
|
||||
- anim->pFrameDeinterlaced = avcodec_alloc_frame();
|
||||
- anim->pFrameRGB = avcodec_alloc_frame();
|
||||
+ anim->pFrameDeinterlaced = av_frame_alloc();
|
||||
+ anim->pFrameRGB = av_frame_alloc();
|
||||
|
||||
- if (avpicture_get_size(PIX_FMT_RGBA, anim->x, anim->y) !=
|
||||
+ if (avpicture_get_size(AV_PIX_FMT_RGBA, anim->x, anim->y) !=
|
||||
anim->x * anim->y * 4)
|
||||
{
|
||||
fprintf(stderr,
|
||||
@@ -606,7 +606,7 @@ static int startffmpeg(struct anim *anim
|
||||
anim->pCodecCtx->pix_fmt,
|
||||
anim->x,
|
||||
anim->y,
|
||||
- PIX_FMT_RGBA,
|
||||
+ AV_PIX_FMT_RGBA,
|
||||
SWS_FAST_BILINEAR | SWS_PRINT_INFO | SWS_FULL_CHR_H_INT,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -677,25 +677,12 @@ static void ffmpeg_postprocess(struct an
|
||||
|
||||
|
||||
if (anim->ib_flags & IB_animdeinterlace) {
|
||||
- if (avpicture_deinterlace(
|
||||
- (AVPicture *)
|
||||
- anim->pFrameDeinterlaced,
|
||||
- (const AVPicture *)
|
||||
- anim->pFrame,
|
||||
- anim->pCodecCtx->pix_fmt,
|
||||
- anim->pCodecCtx->width,
|
||||
- anim->pCodecCtx->height) < 0)
|
||||
- {
|
||||
- filter_y = true;
|
||||
- }
|
||||
- else {
|
||||
- input = anim->pFrameDeinterlaced;
|
||||
- }
|
||||
+ input = anim->pFrameDeinterlaced;
|
||||
}
|
||||
|
||||
avpicture_fill((AVPicture *) anim->pFrameRGB,
|
||||
(unsigned char *) ibuf->rect,
|
||||
- PIX_FMT_RGBA, anim->x, anim->y);
|
||||
+ AV_PIX_FMT_RGBA, anim->x, anim->y);
|
||||
|
||||
if (ENDIAN_ORDER == B_ENDIAN) {
|
||||
int *dstStride = anim->pFrameRGB->linesize;
|
||||
diff -up blender-2.76b/source/blender/imbuf/intern/indexer.c.ffmpeg blender-2.76b/source/blender/imbuf/intern/indexer.c
|
||||
--- blender-2.76b/source/blender/imbuf/intern/indexer.c.ffmpeg 2015-11-02 11:25:38.000000000 -0200
|
||||
+++ blender-2.76b/source/blender/imbuf/intern/indexer.c 2015-11-07 12:36:07.962942634 -0200
|
||||
@@ -519,7 +519,7 @@ static struct proxy_output_ctx *alloc_pr
|
||||
rv->c->pix_fmt = rv->codec->pix_fmts[0];
|
||||
}
|
||||
else {
|
||||
- rv->c->pix_fmt = PIX_FMT_YUVJ420P;
|
||||
+ rv->c->pix_fmt = AV_PIX_FMT_YUVJ420P;
|
||||
}
|
||||
|
||||
rv->c->sample_aspect_ratio =
|
||||
@@ -554,7 +554,7 @@ static struct proxy_output_ctx *alloc_pr
|
||||
if (st->codec->width != width || st->codec->height != height ||
|
||||
st->codec->pix_fmt != rv->c->pix_fmt)
|
||||
{
|
||||
- rv->frame = avcodec_alloc_frame();
|
||||
+ rv->frame = av_frame_alloc();
|
||||
avpicture_fill((AVPicture *) rv->frame,
|
||||
MEM_mallocN(avpicture_get_size(
|
||||
rv->c->pix_fmt,
|
||||
@@ -905,7 +905,7 @@ static int index_rebuild_ffmpeg(FFmpegIn
|
||||
|
||||
memset(&next_packet, 0, sizeof(AVPacket));
|
||||
|
||||
- in_frame = avcodec_alloc_frame();
|
||||
+ in_frame = av_frame_alloc();
|
||||
|
||||
stream_size = avio_size(context->iFormatCtx->pb);
|
||||
|
||||
diff -up blender-2.76b/source/gameengine/VideoTexture/VideoFFmpeg.cpp.ffmpeg blender-2.76b/source/gameengine/VideoTexture/VideoFFmpeg.cpp
|
||||
--- blender-2.76b/source/gameengine/VideoTexture/VideoFFmpeg.cpp.ffmpeg 2015-11-07 12:42:29.577399680 -0200
|
||||
+++ blender-2.76b/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2015-11-07 12:44:21.693731771 -0200
|
||||
@@ -140,23 +140,23 @@ bool VideoFFmpeg::release()
|
||||
AVFrame *VideoFFmpeg::allocFrameRGB()
|
||||
{
|
||||
AVFrame *frame;
|
||||
- frame = avcodec_alloc_frame();
|
||||
+ frame = av_frame_alloc();
|
||||
if (m_format == RGBA32)
|
||||
{
|
||||
avpicture_fill((AVPicture*)frame,
|
||||
(uint8_t*)MEM_callocN(avpicture_get_size(
|
||||
- PIX_FMT_RGBA,
|
||||
+ AV_PIX_FMT_RGBA,
|
||||
m_codecCtx->width, m_codecCtx->height),
|
||||
"ffmpeg rgba"),
|
||||
- PIX_FMT_RGBA, m_codecCtx->width, m_codecCtx->height);
|
||||
+ AV_PIX_FMT_RGBA, m_codecCtx->width, m_codecCtx->height);
|
||||
} else
|
||||
{
|
||||
avpicture_fill((AVPicture*)frame,
|
||||
(uint8_t*)MEM_callocN(avpicture_get_size(
|
||||
- PIX_FMT_RGB24,
|
||||
+ AV_PIX_FMT_RGB24,
|
||||
m_codecCtx->width, m_codecCtx->height),
|
||||
"ffmpeg rgb"),
|
||||
- PIX_FMT_RGB24, m_codecCtx->width, m_codecCtx->height);
|
||||
+ AV_PIX_FMT_RGB24, m_codecCtx->width, m_codecCtx->height);
|
||||
}
|
||||
return frame;
|
||||
}
|
||||
@@ -236,8 +236,8 @@ int VideoFFmpeg::openStream(const char *
|
||||
m_codecCtx = codecCtx;
|
||||
m_formatCtx = formatCtx;
|
||||
m_videoStream = videoStream;
|
||||
- m_frame = avcodec_alloc_frame();
|
||||
- m_frameDeinterlaced = avcodec_alloc_frame();
|
||||
+ m_frame = av_frame_alloc();
|
||||
+ m_frameDeinterlaced = av_frame_alloc();
|
||||
|
||||
// allocate buffer if deinterlacing is required
|
||||
avpicture_fill((AVPicture*)m_frameDeinterlaced,
|
||||
@@ -248,10 +248,10 @@ int VideoFFmpeg::openStream(const char *
|
||||
m_codecCtx->pix_fmt, m_codecCtx->width, m_codecCtx->height);
|
||||
|
||||
// check if the pixel format supports Alpha
|
||||
- if (m_codecCtx->pix_fmt == PIX_FMT_RGB32 ||
|
||||
- m_codecCtx->pix_fmt == PIX_FMT_BGR32 ||
|
||||
- m_codecCtx->pix_fmt == PIX_FMT_RGB32_1 ||
|
||||
- m_codecCtx->pix_fmt == PIX_FMT_BGR32_1)
|
||||
+ if (m_codecCtx->pix_fmt == AV_PIX_FMT_RGB32 ||
|
||||
+ m_codecCtx->pix_fmt == AV_PIX_FMT_BGR32 ||
|
||||
+ m_codecCtx->pix_fmt == AV_PIX_FMT_RGB32_1 ||
|
||||
+ m_codecCtx->pix_fmt == AV_PIX_FMT_BGR32_1)
|
||||
{
|
||||
// allocate buffer to store final decoded frame
|
||||
m_format = RGBA32;
|
||||
@@ -262,7 +262,7 @@ int VideoFFmpeg::openStream(const char *
|
||||
m_codecCtx->pix_fmt,
|
||||
m_codecCtx->width,
|
||||
m_codecCtx->height,
|
||||
- PIX_FMT_RGBA,
|
||||
+ AV_PIX_FMT_RGBA,
|
||||
SWS_FAST_BILINEAR,
|
||||
NULL, NULL, NULL);
|
||||
} else
|
||||
@@ -276,7 +276,7 @@ int VideoFFmpeg::openStream(const char *
|
||||
m_codecCtx->pix_fmt,
|
||||
m_codecCtx->width,
|
||||
m_codecCtx->height,
|
||||
- PIX_FMT_RGB24,
|
||||
+ AV_PIX_FMT_RGB24,
|
||||
SWS_FAST_BILINEAR,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
@@ -390,18 +390,6 @@ void *VideoFFmpeg::cacheThread(void *dat
|
||||
if ( input->data[0]!=0 || input->data[1]!=0
|
||||
|| input->data[2]!=0 || input->data[3]!=0)
|
||||
{
|
||||
- if (video->m_deinterlace)
|
||||
- {
|
||||
- if (avpicture_deinterlace(
|
||||
- (AVPicture*) video->m_frameDeinterlaced,
|
||||
- (const AVPicture*) video->m_frame,
|
||||
- video->m_codecCtx->pix_fmt,
|
||||
- video->m_codecCtx->width,
|
||||
- video->m_codecCtx->height) >= 0)
|
||||
- {
|
||||
- input = video->m_frameDeinterlaced;
|
||||
- }
|
||||
- }
|
||||
// convert to RGB24
|
||||
sws_scale(video->m_imgConvertCtx,
|
||||
input->data,
|
||||
@@ -1055,18 +1043,6 @@ AVFrame *VideoFFmpeg::grabFrame(long pos
|
||||
break;
|
||||
}
|
||||
|
||||
- if (m_deinterlace)
|
||||
- {
|
||||
- if (avpicture_deinterlace(
|
||||
- (AVPicture*) m_frameDeinterlaced,
|
||||
- (const AVPicture*) m_frame,
|
||||
- m_codecCtx->pix_fmt,
|
||||
- m_codecCtx->width,
|
||||
- m_codecCtx->height) >= 0)
|
||||
- {
|
||||
- input = m_frameDeinterlaced;
|
||||
- }
|
||||
- }
|
||||
// convert to RGB24
|
||||
sws_scale(m_imgConvertCtx,
|
||||
input->data,
|
@ -1,11 +0,0 @@
|
||||
diff -purN a/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp b/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp
|
||||
--- a/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2016-09-28 10:26:55.000000000 +0100
|
||||
+++ b/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2016-10-04 11:13:46.489404123 +0100
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <algorithm>
|
||||
+#include <cmath>
|
||||
|
||||
#include "rayobject_rtbuild.h"
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- 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
|
@ -1,16 +0,0 @@
|
||||
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...\")")
|
||||
|
@ -1,2 +0,0 @@
|
||||
DIST nomacs-3.4.tar.gz 30026261 SHA256 552eda88aedea48831ce354095e3aad47892b4b5029f424171bedb68271c2a2f SHA512 67a1b57971dc373d5a3be75b7deaff6702893252568eef135903754b2465416a58b40f18f55cf2994c8c3853ae96b82506c1caf26b0e645c20179a9cd81c0d36 WHIRLPOOL f082d568ba56eaa1effc5e8552d16b816d558b7d4c2d7ddfd14a39f8805490d772116ca6ee35c8a38bd6b5fc69917287b7c596986f6a15b854bfebcbbe14304f
|
||||
DIST nomacs-3.8.0.tar.gz 32240476 SHA256 f43ad1507f2890db2fbaa0cb110de3ac5efe754cf2e7a053eaabfed4d5e06845 SHA512 90ffd1ea7f6d8e2f07b2b093ebc7cfec682f11b874d95e249f3d35a2ceb8b75e7a0c55f19c978231c3c8342abe5cb251359771fd90aa39b50ee0a6d1514e88e1 WHIRLPOOL 29ac39d4cb6e30ec3d5ef0a0ab85be45bb537260bfee1bbab5192abd9fbc6d5873ce445e1c1bba53a81e290b1eb2176258621a6e4db19060f4778f6de1ceee2d
|
@ -1,11 +0,0 @@
|
||||
--- a/src/DkLoader/DkBasicLoader.h
|
||||
+++ b/src/DkLoader/DkBasicLoader.h
|
||||
@@ -258,7 +258,7 @@ class DllLoaderExport DkBasicLoader : public QObject {
|
||||
bool readHeader(const unsigned char** dataPtr, int& fileCount, int& vecSize) const;
|
||||
void getPatchSizeFromFileName(const QString& fileName, int& width, int& height) const;
|
||||
#else
|
||||
- bool loadOpenCVVecFile(const QString&, QSharedPointer<QByteArray> = QSharedPointer<QByteArray>(), QSize = QSize()) { return false; };
|
||||
+ bool loadOpenCVVecFile(const QString&, QImage&, QSharedPointer<QByteArray> = QSharedPointer<QByteArray>(), QSize = QSize()) { return false; };
|
||||
int mergeVecFiles(const QStringList&, QString&) const { return 0; };
|
||||
bool readHeader(const unsigned char**, int&, int&) const { return false; };
|
||||
void getPatchSizeFromFileName(const QString&, int&, int&) const {};
|
@ -1,77 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils xdg-utils
|
||||
|
||||
DESCRIPTION="Qt-based image viewer"
|
||||
HOMEPAGE="https://nomacs.org/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux"
|
||||
IUSE="+jpeg opencv raw tiff zip"
|
||||
|
||||
REQUIRED_USE="
|
||||
raw? ( opencv )
|
||||
tiff? ( opencv )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5[jpeg?]
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
>=media-gfx/exiv2-0.25:=
|
||||
opencv? ( media-libs/opencv:=[-qt4(-)] )
|
||||
raw? ( >=media-libs/libraw-0.14:= )
|
||||
tiff? (
|
||||
dev-qt/qtimageformats:5
|
||||
media-libs/tiff:0
|
||||
)
|
||||
zip? ( >=dev-libs/quazip-0.7.2[qt5] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/lcov
|
||||
dev-qt/linguist-tools:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${P}/ImageLounge"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# fix build with quazip-0.7.2 - bug 598354
|
||||
sed -i -e "s/find_package(QuaZIP/find_package(QuaZip5/" cmake/Unix.cmake || die
|
||||
sed -e "s/include <quazip/&5/" \
|
||||
-i src/DkCore/DkImageLoader.cpp \
|
||||
-i src/DkCore/DkImageContainer.cpp \
|
||||
-i src/DkCore/DkBasicLoader.cpp \
|
||||
-i src/DkGui/DkDialog.cpp || die
|
||||
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_OPENCV=$(usex opencv)
|
||||
-DENABLE_RAW=$(usex raw)
|
||||
-DENABLE_TIFF=$(usex tiff)
|
||||
-DENABLE_QUAZIP=$(usex zip)
|
||||
-DUSE_SYSTEM_QUAZIP=ON
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Loading…
Reference in new issue