diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2023-05-01 11:38:26 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-05-01 16:14:21 +0100 |
commit | 66a8edbbedeeaf3de50e39676ae4bffb3b38376d (patch) | |
tree | bf04b903c0651c13c1cd0bf958a50a80dbea7be5 /media-gfx | |
parent | media-gfx/blender: Bump 3.3.6 (diff) | |
download | gentoo-66a8edbbedeeaf3de50e39676ae4bffb3b38376d.tar.gz gentoo-66a8edbbedeeaf3de50e39676ae4bffb3b38376d.tar.bz2 gentoo-66a8edbbedeeaf3de50e39676ae4bffb3b38376d.zip |
media-gfx/blender: Drop 2.93
Does not support python 3.11, and upstream will drop support as well in
a few months.
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/blender/Manifest | 4 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.93.13.ebuild | 402 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.93.14.ebuild | 402 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.93.13-openvdb-10.patch | 107 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch | 31 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-3.0.1-openexr.patch | 190 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch | 29 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 3 |
8 files changed, 0 insertions, 1168 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index f1fee3592d06..0a2e6e498460 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,7 +1,3 @@ -DIST blender-2.93.0-tests.tar.bz2 286918586 BLAKE2B a2c2c2e900e401a470208e8e5d0082d45e2f8db13b45213f31808d50ae5ea330360702b8e775bdb3307eb753aa7c3264803e9e470b3fb778f8bd87272cd72513 SHA512 0e5e4c67944c4f76df62cdbaf26ba284c415675074e66685c01ec9584a544c47f616bae8fb2ff2b7e03290620d54dc1033b4b0fc617acb1232a90439e96325fe -DIST blender-2.93.13.tar.xz 43029716 BLAKE2B ca222af581c4cddbc3e0607054ee3fd117b672550466d61bbcb608e85627ae78c816d7fb5f49134e17560fc1357de1505c3c17fc96fde1218239289c2d325055 SHA512 c94ff7f7b6521cc1521a1f0a22a5cb135114485dac78556764e25fc25bece168d96f6074959bf1521910191818785c6eac8c17164094415bd6bd7e23e307e56b -DIST blender-2.93.14.tar.xz 43035804 BLAKE2B 72ca99143da393bb23e15a26e197c5ac45cd0bfb487b5dda617cb42f107dda0518c787294ad799c34712ee5948da81a573880cd642fc26bd1ae437b516ec41b6 SHA512 2b395a6acad808c3d2eb80355320d237fff7c0a188d1455fecd65189d7672927087ab7dcf7d07c3d541279c142846763be8dc495a2aa625c08f17ef543ba8bc5 -DIST blender-3.0.1-ffmpeg-5.0.patch.bz2 8198 BLAKE2B 2acb1e441bd17cf2d972f981358981d42742ad37656366a52b0adb52efb3f1a6cda0479e1c79d9327b51c8fd3d2c6cb291552adc7716e6a1938ac27b237186b9 SHA512 c09ca2d5a5b99652abcae827965304506e354fc6fc4d6d59c9433c8246e865a0622ddac3118009ad433292690212292a86f7e43e764583525555ca6d653da809 DIST blender-3.3.2.tar.xz 41918064 BLAKE2B 76e689eff9f1e9c1c4e8a9e000a3dec64d7340815966522acb4d827197fae51854060cdfa38104950711fed23b9c66b39011727cf673c1a3e05340a32d2e7783 SHA512 2059cb38dfb56696f80d91420f5f0d1c808b59f4cc7ea71e7ff8e00cfe1cddf8762bcb129f941de8d57c7c72403d88ba4082fca065b59eb17a6d76c2e5006778 DIST blender-3.3.3.tar.xz 41918008 BLAKE2B 6fbd959e18cab6af597a95a4aa392bdc45d53e1efaefc4c4012ce4d1233c3f1118f04833ae6e7c8a2296f127714c665e0de454f2c09887986f5e721dbae3390b SHA512 1560bee9dd770ecd56b1dd3f4b8f3b3b8ba70c4796c0118d13da54f0d8950f26b17678cf66f95f5fcf59d81931518343d401624877fed63f510e3c0ffaea6e83 DIST blender-3.3.5.tar.xz 41889880 BLAKE2B 145589da5170c760901bf1ca9e9dec8d0b05602aa975cb0e74aadbeb96f326ecd5e0f92cd329c4f70e17c9e3590cf9b1c6611e157c984acd1e9bd06134fee17e SHA512 021deb19cf5e1ccf30e41ff8635ba441d48eddcf4778a11f7c089e6b54f44197fb3679eb967d2ffce47884759b563f20dfbb9a3ee027f79ca78bc3080bd0e85f diff --git a/media-gfx/blender/blender-2.93.13.ebuild b/media-gfx/blender/blender-2.93.13.ebuild deleted file mode 100644 index f3da165815e3..000000000000 --- a/media-gfx/blender/blender-2.93.13.ebuild +++ /dev/null @@ -1,402 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_9 python3_10 ) - -inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="https://www.blender.org" - -if [[ ${PV} = *9999* ]] ; then - # Subversion is needed for downloading unit test files - inherit git-r3 subversion - EGIT_REPO_URI="https://git.blender.org/blender.git" -else - SRC_URI="https://download.blender.org/source/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0.1-ffmpeg-5.0.patch.bz2" - - TEST_TARBALL_VERSION=2.93.0 - SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )" - KEYWORDS="amd64 ~arm ~arm64" -fi - -SLOT="${PV%.*}" -LICENSE="|| ( GPL-3 BL )" -IUSE="+bullet +dds +fluid +openexr +tbb \ - alembic collada +color-management cuda +cycles \ - debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \ - man ndof nls openal opencl +oidn +openimageio +openmp +opensubdiv \ - +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - alembic? ( openexr ) - cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) - fluid? ( tbb ) - opencl? ( cycles ) - openvdb? ( tbb ) - osl? ( cycles ) - test? ( color-management )" - -# Library versions for official builds can be found in the blender source directory in: -# build_files/build_environment/install_deps.sh -RDEPEND="${PYTHON_DEPS} - dev-libs/boost:=[nls?] - dev-libs/lzo:2= - $(python_gen_cond_dep ' - dev-python/cython[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - ') - media-libs/freetype:= - media-libs/glew:* - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libsamplerate - sys-libs/zlib:= - virtual/glu - virtual/libintl - virtual/opengl - alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) - collada? ( >=media-libs/opencollada-1.6.68 ) - color-management? ( >=media-libs/opencolorio-2.1.1-r7:= ) - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - embree? ( >=media-libs/embree-3.10.0[raymask] ) - ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) - fftw? ( sci-libs/fftw:3.0= ) - gmp? ( dev-libs/gmp ) - !headless? ( - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXxf86vm - ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc:= ) - jpeg2k? ( media-libs/openjpeg:2= ) - ndof? ( - app-misc/spacenavd - dev-libs/libspnav - ) - nls? ( virtual/libiconv ) - openal? ( media-libs/openal ) - opencl? ( virtual/opencl ) - oidn? ( >=media-libs/oidn-1.3.0 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) - openexr? ( - >=dev-libs/imath-3.1.4-r2:= - >=media-libs/openexr-3:0= - ) - opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) - openvdb? ( - >=media-gfx/openvdb-8.2.0-r2:= - dev-libs/c-blosc:= - ) - osl? ( >=media-libs/osl-1.11.16.0-r3:= ) - pdf? ( media-libs/libharu ) - potrace? ( media-gfx/potrace ) - pugixml? ( dev-libs/pugixml ) - pulseaudio? ( media-sound/pulseaudio ) - sdl? ( media-libs/libsdl2[sound,joystick] ) - sndfile? ( media-libs/libsndfile ) - tbb? ( <dev-cpp/tbb-2021.4.0:= ) - tiff? ( media-libs/tiff:= ) - valgrind? ( dev-util/valgrind ) -" - -DEPEND="${RDEPEND} - dev-cpp/eigen:= -" - -BDEPEND=" - virtual/pkgconfig - doc? ( - app-doc/doxygen[dot] - dev-python/sphinx[latex] - dev-texlive/texlive-bibtexextra - dev-texlive/texlive-fontsextra - dev-texlive/texlive-fontutils - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - ) - nls? ( sys-devel/gettext ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.93.13-openvdb-10.patch - "${FILESDIR}"/${PN}-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch - "${FILESDIR}"/${PN}-3.0.1-openexr.patch - "${FILESDIR}"/${PN}-3.0.1-openimageio-2.3.patch - "${WORKDIR}"/${PN}-3.0.1-ffmpeg-5.0.patch - "${FILESDIR}"/${PN}-3.3.0-fix-build-with-boost-1.81.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 -} - -blender_get_version() { - # Get blender version from blender itself. - BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) - if ((${BV:0:1} < 3)) ; then - # Add period (290 -> 2.90). - BV=${BV:0:1}.${BV:1} - else - # Add period and strip last number (300 -> 3.0) - BV=${BV:0:1}.${BV:1:1} - fi -} - -pkg_pretend() { - blender_check_requirements -} - -pkg_setup() { - blender_check_requirements - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = *9999* ]] ; then - git-r3_src_unpack - else - default - fi - - if use test; then - mkdir -p lib || die - mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die - fi -} - -src_prepare() { - cmake_src_prepare - - blender_get_version - - # 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 - - # Prepare icons and .desktop files for slotting. - sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -i source/creator/CMakeLists.txt || die - - sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die - - mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die - mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die - mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die - mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die - - if use test; then - # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die - fi -} - -src_configure() { - append-lfs-flags - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=OFF - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DPYTHON_VERSION="${EPYTHON/python/}" - -DWITH_ALEMBIC=$(usex alembic) - -DWITH_ASSERT_ABORT=$(usex debug) - -DWITH_BOOST=ON - -DWITH_BULLET=$(usex bullet) - -DWITH_CODEC_FFMPEG=$(usex ffmpeg) - -DWITH_CODEC_SNDFILE=$(usex sndfile) - -DWITH_CXX_GUARDEDALLOC=$(usex debug) - -DWITH_CYCLES=$(usex cycles) - -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) - -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl) - -DWITH_CYCLES_EMBREE=$(usex embree) - -DWITH_CYCLES_OSL=$(usex osl) - -DWITH_CYCLES_STANDALONE=OFF - -DWITH_CYCLES_STANDALONE_GUI=OFF - -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_FFTW3=$(usex fftw) - -DWITH_GMP=$(usex gmp) - -DWITH_GTESTS=$(usex test) - -DWITH_HARU=$(usex pdf) - -DWITH_HEADLESS=$(usex headless) - -DWITH_INSTALL_PORTABLE=OFF - -DWITH_IMAGE_DDS=$(usex dds) - -DOPENEXR_ROOT_DIR="${ESYSROOT}/usr/$(get_libdir)/OpenEXR-3" - -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_MEM_JEMALLOC=$(usex jemalloc) - -DWITH_MEM_VALGRIND=$(usex valgrind) - -DWITH_MOD_FLUID=$(usex fluid) - -DWITH_MOD_OCEANSIM=$(usex fftw) - -DWITH_NANOVDB=OFF - -DWITH_OPENAL=$(usex openal) - -DWITH_OPENCOLLADA=$(usex collada) - -DWITH_OPENCOLORIO=$(usex color-management) - -DWITH_OPENIMAGEDENOISE=$(usex oidn) - -DWITH_OPENIMAGEIO=$(usex openimageio) - -DWITH_OPENMP=$(usex openmp) - -DWITH_OPENSUBDIV=$(usex opensubdiv) - -DWITH_OPENVDB=$(usex openvdb) - -DWITH_OPENVDB_BLOSC=$(usex openvdb) - -DWITH_POTRACE=$(usex potrace) - -DWITH_PUGIXML=$(usex pugixml) - -DWITH_PULSEAUDIO=$(usex pulseaudio) - -DWITH_PYTHON_INSTALL=OFF - -DWITH_SDL=$(usex sdl) - -DWITH_STATIC_LIBS=OFF - -DWITH_SYSTEM_EIGEN3=ON - -DWITH_SYSTEM_GLEW=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_TBB=$(usex tbb) - -DWITH_USD=OFF - -DWITH_XR_OPENXR=OFF - ) - append-flags $(usex debug '-DDEBUG' '-DNDEBUG') - - if tc-is-gcc ; then - # These options only exist when GCC is detected. - # We disable these to respect the user's choice of linker. - mycmakeargs+=( - -DWITH_LINKER_GOLD=OFF - -DWITH_LINKER_LLD=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - # A lot of tests needs to have access to the installed data files. - # So install them into the image directory now. - cmake_src_install - - blender_get_version - # Define custom blender data/script file paths not be able to find them otherwise during testing. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - cmake_src_test - - # Clean up the image directory for src_install - rm -fr "${ED}"/* || die -} - -src_install() { - blender_get_version - - # Pax mark blender for hardened support. - pax-mark m "${BUILD_DIR}"/bin/blender - - cmake_src_install - - if use man; then - # Slot the man page - mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die - fi - - if use doc; then - # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - # 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." - - 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 - - # 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-${BV}-thumbnailer.py" - python_optimize "${ED}/usr/share/blender/${BV}/scripts" - - mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die -} - -pkg_postinst() { - elog - elog "Blender uses python integration. As such, may have some" - elog "inherent 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 "changing the 'Temporary Files' directory in Blender preferences." - 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 - - if ! use python_single_target_python3_9; then - elog "You are building Blender with a newer python version than" - elog "supported by this version upstream." - elog "If you experience breakages with e.g. plugins, please switch to" - elog "python_single_target_python3_9 instead." - elog "Bug: https://bugs.gentoo.org/737388" - elog - fi - - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update - - ewarn "" - ewarn "You may want to remove the following directory." - ewarn "~/.config/${PN}/${SLOT}/cache/" - ewarn "It may contain extra render kernels not tracked by portage" - ewarn "" -} diff --git a/media-gfx/blender/blender-2.93.14.ebuild b/media-gfx/blender/blender-2.93.14.ebuild deleted file mode 100644 index e5ed153b5002..000000000000 --- a/media-gfx/blender/blender-2.93.14.ebuild +++ /dev/null @@ -1,402 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_9 python3_10 ) - -inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="https://www.blender.org" - -if [[ ${PV} = *9999* ]] ; then - # Subversion is needed for downloading unit test files - inherit git-r3 subversion - EGIT_REPO_URI="https://git.blender.org/blender.git" -else - SRC_URI="https://download.blender.org/source/${P}.tar.xz" - SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0.1-ffmpeg-5.0.patch.bz2" - - TEST_TARBALL_VERSION=2.93.0 - SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )" - KEYWORDS="~amd64 ~arm ~arm64" -fi - -SLOT="${PV%.*}" -LICENSE="|| ( GPL-3 BL )" -IUSE="+bullet +dds +fluid +openexr +tbb \ - alembic collada +color-management cuda +cycles \ - debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \ - man ndof nls openal opencl +oidn +openimageio +openmp +opensubdiv \ - +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - alembic? ( openexr ) - cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) - fluid? ( tbb ) - opencl? ( cycles ) - openvdb? ( tbb ) - osl? ( cycles ) - test? ( color-management )" - -# Library versions for official builds can be found in the blender source directory in: -# build_files/build_environment/install_deps.sh -RDEPEND="${PYTHON_DEPS} - dev-libs/boost:=[nls?] - dev-libs/lzo:2= - $(python_gen_cond_dep ' - dev-python/cython[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - ') - media-libs/freetype:= - media-libs/glew:* - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libsamplerate - sys-libs/zlib:= - virtual/glu - virtual/libintl - virtual/opengl - alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) - collada? ( >=media-libs/opencollada-1.6.68 ) - color-management? ( >=media-libs/opencolorio-2.1.1-r7:= ) - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - embree? ( >=media-libs/embree-3.10.0[raymask] ) - ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) - fftw? ( sci-libs/fftw:3.0= ) - gmp? ( dev-libs/gmp ) - !headless? ( - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXxf86vm - ) - jack? ( virtual/jack ) - jemalloc? ( dev-libs/jemalloc:= ) - jpeg2k? ( media-libs/openjpeg:2= ) - ndof? ( - app-misc/spacenavd - dev-libs/libspnav - ) - nls? ( virtual/libiconv ) - openal? ( media-libs/openal ) - opencl? ( virtual/opencl ) - oidn? ( >=media-libs/oidn-1.3.0 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) - openexr? ( - >=dev-libs/imath-3.1.4-r2:= - >=media-libs/openexr-3:0= - ) - opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) - openvdb? ( - >=media-gfx/openvdb-8.2.0-r2:= - dev-libs/c-blosc:= - ) - osl? ( >=media-libs/osl-1.11.16.0-r3:= ) - pdf? ( media-libs/libharu ) - potrace? ( media-gfx/potrace ) - pugixml? ( dev-libs/pugixml ) - pulseaudio? ( media-sound/pulseaudio ) - sdl? ( media-libs/libsdl2[sound,joystick] ) - sndfile? ( media-libs/libsndfile ) - tbb? ( <dev-cpp/tbb-2021.4.0:= ) - tiff? ( media-libs/tiff:= ) - valgrind? ( dev-util/valgrind ) -" - -DEPEND="${RDEPEND} - dev-cpp/eigen:= -" - -BDEPEND=" - virtual/pkgconfig - doc? ( - app-doc/doxygen[dot] - dev-python/sphinx[latex] - dev-texlive/texlive-bibtexextra - dev-texlive/texlive-fontsextra - dev-texlive/texlive-fontutils - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - ) - nls? ( sys-devel/gettext ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.93.13-openvdb-10.patch - "${FILESDIR}"/${PN}-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch - "${FILESDIR}"/${PN}-3.0.1-openexr.patch - "${FILESDIR}"/${PN}-3.0.1-openimageio-2.3.patch - "${WORKDIR}"/${PN}-3.0.1-ffmpeg-5.0.patch - "${FILESDIR}"/${PN}-3.3.0-fix-build-with-boost-1.81.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 -} - -blender_get_version() { - # Get blender version from blender itself. - BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) - if ((${BV:0:1} < 3)) ; then - # Add period (290 -> 2.90). - BV=${BV:0:1}.${BV:1} - else - # Add period and strip last number (300 -> 3.0) - BV=${BV:0:1}.${BV:1:1} - fi -} - -pkg_pretend() { - blender_check_requirements -} - -pkg_setup() { - blender_check_requirements - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = *9999* ]] ; then - git-r3_src_unpack - else - default - fi - - if use test; then - mkdir -p lib || die - mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die - fi -} - -src_prepare() { - cmake_src_prepare - - blender_get_version - - # 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 - - # Prepare icons and .desktop files for slotting. - sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -i source/creator/CMakeLists.txt || die - - sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die - - mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die - mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die - mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die - mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die - - if use test; then - # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die - fi -} - -src_configure() { - append-lfs-flags - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=OFF - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DPYTHON_VERSION="${EPYTHON/python/}" - -DWITH_ALEMBIC=$(usex alembic) - -DWITH_ASSERT_ABORT=$(usex debug) - -DWITH_BOOST=ON - -DWITH_BULLET=$(usex bullet) - -DWITH_CODEC_FFMPEG=$(usex ffmpeg) - -DWITH_CODEC_SNDFILE=$(usex sndfile) - -DWITH_CXX_GUARDEDALLOC=$(usex debug) - -DWITH_CYCLES=$(usex cycles) - -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) - -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl) - -DWITH_CYCLES_EMBREE=$(usex embree) - -DWITH_CYCLES_OSL=$(usex osl) - -DWITH_CYCLES_STANDALONE=OFF - -DWITH_CYCLES_STANDALONE_GUI=OFF - -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_FFTW3=$(usex fftw) - -DWITH_GMP=$(usex gmp) - -DWITH_GTESTS=$(usex test) - -DWITH_HARU=$(usex pdf) - -DWITH_HEADLESS=$(usex headless) - -DWITH_INSTALL_PORTABLE=OFF - -DWITH_IMAGE_DDS=$(usex dds) - -DOPENEXR_ROOT_DIR="${ESYSROOT}/usr/$(get_libdir)/OpenEXR-3" - -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_MEM_JEMALLOC=$(usex jemalloc) - -DWITH_MEM_VALGRIND=$(usex valgrind) - -DWITH_MOD_FLUID=$(usex fluid) - -DWITH_MOD_OCEANSIM=$(usex fftw) - -DWITH_NANOVDB=OFF - -DWITH_OPENAL=$(usex openal) - -DWITH_OPENCOLLADA=$(usex collada) - -DWITH_OPENCOLORIO=$(usex color-management) - -DWITH_OPENIMAGEDENOISE=$(usex oidn) - -DWITH_OPENIMAGEIO=$(usex openimageio) - -DWITH_OPENMP=$(usex openmp) - -DWITH_OPENSUBDIV=$(usex opensubdiv) - -DWITH_OPENVDB=$(usex openvdb) - -DWITH_OPENVDB_BLOSC=$(usex openvdb) - -DWITH_POTRACE=$(usex potrace) - -DWITH_PUGIXML=$(usex pugixml) - -DWITH_PULSEAUDIO=$(usex pulseaudio) - -DWITH_PYTHON_INSTALL=OFF - -DWITH_SDL=$(usex sdl) - -DWITH_STATIC_LIBS=OFF - -DWITH_SYSTEM_EIGEN3=ON - -DWITH_SYSTEM_GLEW=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_TBB=$(usex tbb) - -DWITH_USD=OFF - -DWITH_XR_OPENXR=OFF - ) - append-flags $(usex debug '-DDEBUG' '-DNDEBUG') - - if tc-is-gcc ; then - # These options only exist when GCC is detected. - # We disable these to respect the user's choice of linker. - mycmakeargs+=( - -DWITH_LINKER_GOLD=OFF - -DWITH_LINKER_LLD=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - # A lot of tests needs to have access to the installed data files. - # So install them into the image directory now. - cmake_src_install - - blender_get_version - # Define custom blender data/script file paths not be able to find them otherwise during testing. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - cmake_src_test - - # Clean up the image directory for src_install - rm -fr "${ED}"/* || die -} - -src_install() { - blender_get_version - - # Pax mark blender for hardened support. - pax-mark m "${BUILD_DIR}"/bin/blender - - cmake_src_install - - if use man; then - # Slot the man page - mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die - fi - - if use doc; then - # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - # 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." - - 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 - - # 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-${BV}-thumbnailer.py" - python_optimize "${ED}/usr/share/blender/${BV}/scripts" - - mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die -} - -pkg_postinst() { - elog - elog "Blender uses python integration. As such, may have some" - elog "inherent 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 "changing the 'Temporary Files' directory in Blender preferences." - 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 - - if ! use python_single_target_python3_9; then - elog "You are building Blender with a newer python version than" - elog "supported by this version upstream." - elog "If you experience breakages with e.g. plugins, please switch to" - elog "python_single_target_python3_9 instead." - elog "Bug: https://bugs.gentoo.org/737388" - elog - fi - - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update - - ewarn "" - ewarn "You may want to remove the following directory." - ewarn "~/.config/${PN}/${SLOT}/cache/" - ewarn "It may contain extra render kernels not tracked by portage" - ewarn "" -} diff --git a/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch b/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch deleted file mode 100644 index 42db25179cdc..000000000000 --- a/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch +++ /dev/null @@ -1,107 +0,0 @@ ---- a/intern/cycles/render/volume.cpp -+++ b/intern/cycles/render/volume.cpp -@@ -259,7 +259,8 @@ void VolumeMeshBuilder::add_grid(openvdb::GridBase::ConstPtr grid, - void VolumeMeshBuilder::add_padding(int pad_size) - { - #ifdef WITH_OPENVDB -- openvdb::tools::dilateVoxels(topology_grid->tree(), pad_size); -+ openvdb::tools::dilateActiveValues( -+ topology_grid->tree(), pad_size, openvdb::tools::NN_FACE, openvdb::tools::IGNORE_TILES); - #else - (void)pad_size; - #endif -diff --git a/source/blender/blenkernel/BKE_volume.h b/source/blender/blenkernel/BKE_volume.h -index 8b42de7303d..068cdf87d16 100644 ---- a/source/blender/blenkernel/BKE_volume.h -+++ b/source/blender/blenkernel/BKE_volume.h -@@ -104,7 +104,6 @@ typedef enum VolumeGridType { - VOLUME_GRID_INT, - VOLUME_GRID_INT64, - VOLUME_GRID_MASK, -- VOLUME_GRID_STRING, - VOLUME_GRID_VECTOR_FLOAT, - VOLUME_GRID_VECTOR_DOUBLE, - VOLUME_GRID_VECTOR_INT, -@@ -218,8 +217,6 @@ auto BKE_volume_grid_type_operation(const VolumeGridType grid_type, OpType &&op) - return op.template operator()<openvdb::Vec3IGrid>(); - case VOLUME_GRID_VECTOR_DOUBLE: - return op.template operator()<openvdb::Vec3dGrid>(); -- case VOLUME_GRID_STRING: -- return op.template operator()<openvdb::StringGrid>(); - case VOLUME_GRID_MASK: - return op.template operator()<openvdb::MaskGrid>(); - case VOLUME_GRID_POINTS: -diff --git a/source/blender/blenkernel/intern/volume.cc b/source/blender/blenkernel/intern/volume.cc -index 39a7725bfa3..a0e2d1a83cd 100644 ---- a/source/blender/blenkernel/intern/volume.cc -+++ b/source/blender/blenkernel/intern/volume.cc -@@ -1345,9 +1345,6 @@ VolumeGridType BKE_volume_grid_type_openvdb(const openvdb::GridBase &grid) - if (grid.isType<openvdb::Vec3dGrid>()) { - return VOLUME_GRID_VECTOR_DOUBLE; - } -- if (grid.isType<openvdb::StringGrid>()) { -- return VOLUME_GRID_STRING; -- } - if (grid.isType<openvdb::MaskGrid>()) { - return VOLUME_GRID_MASK; - } -@@ -1383,7 +1380,6 @@ int BKE_volume_grid_channels(const VolumeGrid *grid) - case VOLUME_GRID_VECTOR_DOUBLE: - case VOLUME_GRID_VECTOR_INT: - return 3; -- case VOLUME_GRID_STRING: - case VOLUME_GRID_POINTS: - case VOLUME_GRID_UNKNOWN: - return 0; -@@ -1624,13 +1620,8 @@ struct CreateGridWithChangedResolutionOp { - - template<typename GridType> typename openvdb::GridBase::Ptr operator()() - { -- if constexpr (std::is_same_v<GridType, openvdb::StringGrid>) { -- return {}; -- } -- else { -- return create_grid_with_changed_resolution(static_cast<const GridType &>(grid), -- resolution_factor); -- } -+ return create_grid_with_changed_resolution(static_cast<const GridType &>(grid), -+ resolution_factor); - } - }; - -diff --git a/source/blender/blenkernel/intern/volume_render.cc b/source/blender/blenkernel/intern/volume_render.cc -index c0a205b5673..7ccf04df941 100644 ---- a/source/blender/blenkernel/intern/volume_render.cc -+++ b/source/blender/blenkernel/intern/volume_render.cc -@@ -77,7 +77,6 @@ static void extract_dense_float_voxels(const VolumeGridType grid_type, - case VOLUME_GRID_VECTOR_INT: - return extract_dense_voxels<openvdb::Vec3IGrid, openvdb::Vec3f>( - grid, bbox, reinterpret_cast<openvdb::Vec3f *>(r_voxels)); -- case VOLUME_GRID_STRING: - case VOLUME_GRID_POINTS: - case VOLUME_GRID_UNKNOWN: - /* Zero channels to copy. */ -diff --git a/source/blender/makesrna/intern/rna_volume.c b/source/blender/makesrna/intern/rna_volume.c -index 3100c1195f4..2854f02a4d4 100644 ---- a/source/blender/makesrna/intern/rna_volume.c -+++ b/source/blender/makesrna/intern/rna_volume.c -@@ -241,7 +241,6 @@ - {VOLUME_GRID_INT, "INT", 0, "Integer", "32-bit integer"}, - {VOLUME_GRID_INT64, "INT64", 0, "Integer 64-bit", "64-bit integer"}, - {VOLUME_GRID_MASK, "MASK", 0, "Mask", "No data, boolean mask of active voxels"}, -- {VOLUME_GRID_STRING, "STRING", 0, "String", "Text string"}, - {VOLUME_GRID_VECTOR_FLOAT, "VECTOR_FLOAT", 0, "Float Vector", "3D float vector"}, - {VOLUME_GRID_VECTOR_DOUBLE, "VECTOR_DOUBLE", 0, "Double Vector", "3D double vector"}, - {VOLUME_GRID_VECTOR_INT, "VECTOR_INT", 0, "Integer Vector", "3D integer vector"}, -diff --git a/source/blender/modifiers/intern/MOD_volume_displace.cc b/source/blender/modifiers/intern/MOD_volume_displace.cc -index af3a502162d..e2d7f445731 100644 ---- a/source/blender/modifiers/intern/MOD_volume_displace.cc -+++ b/source/blender/modifiers/intern/MOD_volume_displace.cc -@@ -201,7 +201,6 @@ - template<typename GridType> void operator()() - { - if constexpr (std::is_same_v<GridType, openvdb::points::PointDataGrid> || -- std::is_same_v<GridType, openvdb::StringGrid> || - std::is_same_v<GridType, openvdb::MaskGrid>) { - /* We don't support displacing these grid types yet. */ - return; diff --git a/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch b/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch deleted file mode 100644 index 51d8ded23366..000000000000 --- a/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://developer.blender.org/D13464 - -From 781c56f054b4c7717739752336427a811f7633eb Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Sat, 4 Dec 2021 00:38:59 +0000 -Subject: [PATCH] intern/ghost: fix typo in finding XF86VMODE - ---- - intern/ghost/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt -index 4164231..663598e 100644 ---- a/intern/ghost/CMakeLists.txt -+++ b/intern/ghost/CMakeLists.txt -@@ -245,10 +245,10 @@ elseif(WITH_GHOST_X11 OR WITH_GHOST_WAYLAND) - if(WITH_X11_XF86VMODE) - add_definitions(-DWITH_X11_XF86VMODE) - list(APPEND INC_SYS -- ${X11_xf86vmode_INCLUDE_PATH} -+ ${X11_Xxf86vmode_INCLUDE_PATH} - ) - list(APPEND LIB -- ${X11_Xf86vmode_LIB} -+ ${X11_Xxf86vmode_LIB} - ) - endif() - --- -2.34.1 - diff --git a/media-gfx/blender/files/blender-3.0.1-openexr.patch b/media-gfx/blender/files/blender-3.0.1-openexr.patch deleted file mode 100644 index 435498cd8a3d..000000000000 --- a/media-gfx/blender/files/blender-3.0.1-openexr.patch +++ /dev/null @@ -1,190 +0,0 @@ -https://src.fedoraproject.org/rpms/blender/blob/rawhide/f/blender-openexr.patch - ---- a/source/blender/imbuf/intern/openexr/openexr_api.cpp -+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp -@@ -32,30 +32,31 @@ - #include <stdexcept> - #include <string> - --#include <Iex.h> -+#include <OpenEXR/Iex.h> - #include <ImathBox.h> --#include <ImfArray.h> --#include <ImfChannelList.h> --#include <ImfCompression.h> --#include <ImfCompressionAttribute.h> --#include <ImfIO.h> --#include <ImfInputFile.h> --#include <ImfOutputFile.h> --#include <ImfPixelType.h> --#include <ImfStandardAttributes.h> --#include <ImfStringAttribute.h> --#include <ImfVersion.h> --#include <half.h> -+#include <OpenEXR/ImfArray.h> -+#include <OpenEXR/ImfFrameBuffer.h> -+#include <OpenEXR/ImfChannelList.h> -+#include <OpenEXR/ImfCompression.h> -+#include <OpenEXR/ImfCompressionAttribute.h> -+#include <OpenEXR/ImfIO.h> -+#include <OpenEXR/ImfInputFile.h> -+#include <OpenEXR/ImfOutputFile.h> -+#include <OpenEXR/ImfPixelType.h> -+#include <OpenEXR/ImfStandardAttributes.h> -+#include <OpenEXR/ImfStringAttribute.h> -+#include <OpenEXR/ImfVersion.h> -+#include <Imath/half.h> - - /* multiview/multipart */ --#include <ImfInputPart.h> --#include <ImfMultiPartInputFile.h> --#include <ImfMultiPartOutputFile.h> --#include <ImfMultiView.h> --#include <ImfOutputPart.h> --#include <ImfPartHelper.h> --#include <ImfPartType.h> --#include <ImfTiledOutputPart.h> -+#include <OpenEXR/ImfInputPart.h> -+#include <OpenEXR/ImfMultiPartInputFile.h> -+#include <OpenEXR/ImfMultiPartOutputFile.h> -+#include <OpenEXR/ImfMultiView.h> -+#include <OpenEXR/ImfOutputPart.h> -+#include <OpenEXR/ImfPartHelper.h> -+#include <OpenEXR/ImfPartType.h> -+#include <OpenEXR/ImfTiledOutputPart.h> - - #include "DNA_scene_types.h" /* For OpenEXR compression constants */ - -@@ -131,12 +132,12 @@ class IMemStream : public Imf::IStream { - return false; - } - -- Int64 tellg() override -+ uint64_t tellg() override - { - return _exrpos; - } - -- void seekg(Int64 pos) override -+ void seekg(uint64_t pos) override - { - _exrpos = pos; - } -@@ -146,8 +147,8 @@ class IMemStream : public Imf::IStream { - } - - private: -- Int64 _exrpos; -- Int64 _exrsize; -+ uint64_t _exrpos; -+ uint64_t _exrsize; - unsigned char *_exrbuf; - }; - -@@ -182,12 +183,12 @@ class IFileStream : public Imf::IStream - return check_error(); - } - -- Int64 tellg() override -+ uint64_t tellg() override - { - return std::streamoff(ifs.tellg()); - } - -- void seekg(Int64 pos) override -+ void seekg(uint64_t pos) override - { - ifs.seekg(pos); - check_error(); -@@ -231,19 +232,19 @@ class OMemStream : public OStream { - ibuf->encodedsize += n; - } - -- Int64 tellp() override -+ uint64_t tellp() override - { - return offset; - } - -- void seekp(Int64 pos) override -+ void seekp(uint64_t pos) override - { - offset = pos; - ensure_size(offset); - } - - private: -- void ensure_size(Int64 size) -+ void ensure_size(uint64_t size) - { - /* if buffer is too small increase it. */ - while (size > ibuf->encodedbuffersize) { -@@ -254,7 +255,7 @@ class OMemStream : public OStream { - } - - ImBuf *ibuf; -- Int64 offset; -+ uint64_t offset; - }; - - /* File Output Stream */ -@@ -284,12 +285,12 @@ class OFileStream : public OStream { - check_error(); - } - -- Int64 tellp() override -+ uint64_t tellp() override - { - return std::streamoff(ofs.tellp()); - } - -- void seekp(Int64 pos) override -+ void seekp(uint64_t pos) override - { - ofs.seekp(pos); - check_error(); ---- a/build_files/cmake/Modules/FindOpenEXR.cmake -+++ b/build_files/cmake/Modules/FindOpenEXR.cmake -@@ -25,6 +25,7 @@ - # see accompanying file BSD-3-Clause-license.txt for details. - #============================================================================= - -+ - # If OPENEXR_ROOT_DIR was defined in the environment, use it. - IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "") - SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR}) -@@ -33,6 +34,16 @@ ENDIF() - # Old versions (before 2.0?) do not have any version string, just assuming this should be fine though. - SET(_openexr_libs_ver_init "2.0") - -+find_package(Imath CONFIG QUIET) -+if(TARGET Imath::Imath) -+SET(_openexr_FIND_COMPONENTS -+ Imath -+ Iex -+ OpenEXR -+ IlmThread -+) -+ -+else() - SET(_openexr_FIND_COMPONENTS - Half - Iex -@@ -40,6 +51,7 @@ SET(_openexr_FIND_COMPONENTS - IlmThread - Imath - ) -+endif() - - SET(_openexr_SEARCH_DIRS - ${OPENEXR_ROOT_DIR} -@@ -121,6 +133,9 @@ IF(OPENEXR_FOUND) - SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) - # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :( - SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR) -+ if(TARGET Imath::Imath) -+ list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/Imath) -+ endif() - ENDIF() - - MARK_AS_ADVANCED( diff --git a/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch b/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch deleted file mode 100644 index 3ba3000037d0..000000000000 --- a/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://src.fedoraproject.org/rpms/blender/raw/rawhide/f/blender-oiio-2.3.patch -https://bugs.gentoo.org/831357 ---- a/build_files/cmake/Modules/FindOpenImageIO.cmake -+++ b/build_files/cmake/Modules/FindOpenImageIO.cmake -@@ -48,6 +48,15 @@ FIND_LIBRARY(OPENIMAGEIO_LIBRARY - lib64 lib - ) - -+FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY -+ NAMES -+ OpenImageIO_Util -+ HINTS -+ ${_openimageio_SEARCH_DIRS} -+ PATH_SUFFIXES -+ lib64 lib -+ ) -+ - FIND_FILE(OPENIMAGEIO_IDIFF - NAMES - idiff -@@ -64,7 +73,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenIm - OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) - - IF(OPENIMAGEIO_FOUND) -- SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) -+ SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY}) - SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) - IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) - SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index 5107673c50f9..f57d99a79c61 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -61,9 +61,6 @@ Enable NDOF input devices (SpaceNavigator and friends). </flag> <flag name="oidn">Enable OpenImageDenoiser Support</flag> - <flag name="opencl"> - Allow OpenCL Graphics Acceleration. This may - require extra graphics card drivers.</flag> <flag name="openimageio">Enable OpenImageIO Support</flag> <flag name="openpgl">Enable path guiding support in Cycles</flag> <flag name="opensubdiv"> |