From 29394d0921808a94a409f01eff49f681651de5d5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 17 Feb 2023 08:06:58 +0000 Subject: gentoo auto-resync : 17:02:2023 - 08:06:58 --- media-gfx/Manifest.gz | Bin 37652 -> 37655 bytes media-gfx/blender/Manifest | 13 +- media-gfx/blender/blender-2.93.10-r1.ebuild | 400 -------------------- media-gfx/blender/blender-2.93.13.ebuild | 3 +- media-gfx/blender/blender-2.93.14.ebuild | 402 ++++++++++++++++++++ media-gfx/blender/blender-3.3.0-r1.ebuild | 417 --------------------- media-gfx/blender/blender-3.3.3.ebuild | 417 +++++++++++++++++++++ media-gfx/blender/blender-9999.ebuild | 8 +- .../blender/files/blender-2.93.13-openvdb-10.patch | 107 ++++++ media-gfx/graphite2/Manifest | 4 +- .../graphite2/graphite2-1.3.14_p20210810-r2.ebuild | 2 +- .../graphite2/graphite2-1.3.14_p20210810-r3.ebuild | 2 +- 12 files changed, 943 insertions(+), 832 deletions(-) delete mode 100644 media-gfx/blender/blender-2.93.10-r1.ebuild create mode 100644 media-gfx/blender/blender-2.93.14.ebuild delete mode 100644 media-gfx/blender/blender-3.3.0-r1.ebuild create mode 100644 media-gfx/blender/blender-3.3.3.ebuild create mode 100644 media-gfx/blender/files/blender-2.93.13-openvdb-10.patch (limited to 'media-gfx') diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz index f3341f407931..a9b6dd4535ca 100644 Binary files a/media-gfx/Manifest.gz and b/media-gfx/Manifest.gz differ diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 4a10800e058c..0efcefed8975 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,3 +1,4 @@ +AUX blender-2.93.13-openvdb-10.patch 4952 BLAKE2B 6199f931fedb58fd9ae6427b30955acb2b053e536eb6afecf74af87bbd96fb7ee7688b111bd47d09d58c052f49ca27b7eab2bf3149a0a8b97e479869f73c9ac4 SHA512 0b0c5a7db8fe464b14827d262b7a42cd4c033ac389486531238051742d6521f711b78e2b237dcc202dec05d6806aee125178e9ddfd0ecbc572c6d5a49fe33fdd AUX blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch 877 BLAKE2B 954cae23023e60ef38847927a8ddfc05a19f86c1b5f95a78227aba2af32707ca3490f815e370aa995944973d3ea44d58895817e3ac1ffbb006468ef33f3223a7 SHA512 f4d4e946ce177c82cbe63ab2beab05748e91786800885432f64c00b3ba93be3fec54f084663617dd1b877776d60c418da12cee9a3f4f59a447a3291d08eeba5e AUX blender-3.0.1-openexr.patch 4868 BLAKE2B eccd615d26ba6963220dd9128294d996890f5909707cae5b8b39a0b1e35147618ff2d92348c8e8613cea45c974442665be5036884c33737ccf4041eec5f0135c SHA512 f44288212a3e8e2ed04ced2e574ac240a18f90c3f6e28fabc9dc855545c9b28b216f9cc3ad70721dca754a0d032100fe2aa430eff54049f672219747728d5657 AUX blender-3.0.1-openimageio-2.3.patch 927 BLAKE2B 02ed40bf291ac6ec935a7412c8c1681023fb1fac3bfe7a6ecdbaddfd895f48557274f466849f1aa35900c66dbba6724a29b7d5553fe914e5a3df0f93a9791acd SHA512 0edd3e3c3265694593b242db5c96d3c123630819ff07b906b7f86c15cdf60e4bf1e8b61d555241eadf842a2a33c1f4f1ad4cce0e7d07c8d7308d8a9d536bf512 @@ -6,16 +7,16 @@ AUX blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch 986 AUX blender-3.2.2-support-building-with-musl-libc.patch 5583 BLAKE2B 193548ea61608b6a355912cdd11eba60c58ac7975612890ff26b95b0d8974e3ed871e9e3d5437b7e36fc22b6a711e7af672b87a4e4f0b0765b95e4065dbcb934 SHA512 225065ac63344084918585272badfd58dc542e4b9370351fa4ff246fb8568d18027bd1d07fc139ac247236b75690578bb598731e00ea18767ed8e9d34d35b2fc AUX blender-3.3.0-fix-build-with-boost-1.81.patch 490 BLAKE2B ff9625bec6783a5a55d2d0a8b9afeae718e0c8d714aee42e89577158504b72f6cdc325a3aa4b21291319ed886f722d6216af8ba4680ff5cb046289c9f2dc9f61 SHA512 9a7bad9947c03e3265c07266fb901319665cb2869395c46e5a9a63953772a5af880b6f038e38a695bb9e0cbfaae1f1a08fa61b8a565d2081e6c8d9e6c7a80547 DIST blender-2.93.0-tests.tar.bz2 286918586 BLAKE2B a2c2c2e900e401a470208e8e5d0082d45e2f8db13b45213f31808d50ae5ea330360702b8e775bdb3307eb753aa7c3264803e9e470b3fb778f8bd87272cd72513 SHA512 0e5e4c67944c4f76df62cdbaf26ba284c415675074e66685c01ec9584a544c47f616bae8fb2ff2b7e03290620d54dc1033b4b0fc617acb1232a90439e96325fe -DIST blender-2.93.10.tar.xz 43036752 BLAKE2B c08560246fe9e494cf43df6afff2535d166f5faf920728b9b2d787a1029fabe027db3ef5ae5c55b0ec3ea2849c4948cc96f8f9243f19c66ff7b72c2ea81a6e5b SHA512 ff1cee2ab48a9409e3fb3ae73e60aa5514cc8060e31e9a1d9f5c1725dec6f583d482db4cdc765806da2c7529fdaaf7bebe714e148183d5ef16170160fb103ab7 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.0.tar.xz 41887484 BLAKE2B ed370be06c12e11c08c3c1aea5074a2e162bc901dd457ed7582a580ae9bf894ec50e12dddcad3c6e736f2d59bcf13ea1a54009384050ac7a6e1ec2d6de079f5d SHA512 5257cbb410a26652077c4ccbfbe949ca9daf7d5f8cde5d518ac175dda6b103c56de08e1643fea1988296e04fa3232f21a9eec566c3eef5436960cdc88de19243 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.4.1.tar.xz 53666296 BLAKE2B ec5b2771c1b55ecdf3c2c86a413ae5599545800fc072eff45cf212b32c74af60fc3d650ad931fff221c1073adb2b447df3287a965f884a4760a5d972c9877aee SHA512 d6de3ec9cd1a1e4d4e4a838af0cfc113c91c3c1b66703027e0ed61bd818dafc4e4304fd041738ddea32fc76b1ad9b7737cbdcf74d56a0406a87c457375d907ab -EBUILD blender-2.93.10-r1.ebuild 12558 BLAKE2B ee3f2a36b290dc54659e66d33835ea59dac47760828eac9dbcc5797e251ac8ebf56f2ad52da346ea28cfba5828d041d9647d02446ce28f09852c9d478717c42a SHA512 4d170faebccc79a5d09f1d536a51d0c7886d220e710c68b8e08fe83293b6fc60d2e1797e05e926e0b85ed22b30cf1cf313ddd1c01ccab38ce735451ff72a315b -EBUILD blender-2.93.13.ebuild 12617 BLAKE2B e43aa03d0b836404877fb107434a368a918e1a0cdd09b3f7f2c04010c75f045fbe82844c95b24181fd8795fb943971add6bb182b396474452ec281240e0d89c0 SHA512 afc6d6c19b9b8c7c0801fd94d2671859ec1a9e1e0a45991b74c70a3900526c2b09d9dc2d24ea29302ded2ad0bf6d77966110950ae62de0b99425e5d63acfb510 -EBUILD blender-3.3.0-r1.ebuild 13242 BLAKE2B 73163b19a9e91f8be1b7a276eebc2c04a7b984733fbb503de52d282975b60d43241f0cf9aa694c52935c703707909583033cbc4b7908fe81c7ef3f107947e32e SHA512 5efe0b9c08f81f475d37965bb53bf94d0c7cca9e89d1978e25a664c1c0cd8e121195da6b8cd0dba119fde14ab9bc7c41d2434c4cc97259a347a25b2212f390e9 +EBUILD blender-2.93.13.ebuild 12663 BLAKE2B 9902c989fc8cb093781087874e8adbdce759c6b96cc7f5d59da37de84cbff97abf0d9a86b35a5ab7337b62b805a13c79e9cc665f06dc706a2655f4beaa726f60 SHA512 293d03c39995561e64412d2cdc449c7a8bb2f27c2ffd8526ae181ddacde4da9632378965877a96c8ed2e6a4d76afa7645a4a8f1db795030de511bf1d1a7662ce +EBUILD blender-2.93.14.ebuild 12664 BLAKE2B 01797b6d1d5cebf758d160f91f730d507a4aeb6d95eae8a8f344274d55f8ffaaf86bde498e305c2660faeb5bad9771fb3fc5119eb8b37c207f0c79ee40c377e6 SHA512 09867011d9aa0b5eaa98060c54597b120f4216090cae85ed5a14fb7da846494a42727f6304d152cd36b3eafd50bd4510ce64f049db89d61a18d5b2cc5baa1a9b EBUILD blender-3.3.2.ebuild 13241 BLAKE2B 081d4a72b28f8f4b413eb08baef1bfe387786a5d0428ca536b7d01c27faa503009689bf2e550a1f99276270b610a3dbbcf469cd252a2547f701e76c43a181469 SHA512 0ef565f507f1eeb1e2ce9634bc0e2d391156c29714057f694d15875cf536428c15fbc74c6e23beca2cc8bba5a173fef7d4055f194b92941cc19727ea2ae0c193 +EBUILD blender-3.3.3.ebuild 13242 BLAKE2B 92b30399949cad70433b182f64b93910528494d1bc827fd04575497e7d3a2a36c219fa72c261080f7ac0f8215844adaa95bb77ef6a224cbe6358b3554d159794 SHA512 fb622e6c6c0fcf34b5b4c6585fea431d1bef3b388bee8ac51703f118d24a3b0ad9fc9a783bd9d5b63dc58875d367af04e92bb008c1bea2296fca74b22bc9fab6 EBUILD blender-3.4.1.ebuild 13454 BLAKE2B 9f9684c8574bc149625f985b79df3b59a34f3c45ec1cf07b4ae9abcbd632e2c2eb68c335d43e0ce2e2b0356bfafa85e8b4f50f0f0649040c9900816347fb0bac SHA512 d89088603be528e4007c5a797574e919133ac26f31e8cc8f8a3ca3c6ec1430636b0ee4c570080d33cbe71f305c2ff9ebf434c475decc7c55dd0f73b1782aa207 -EBUILD blender-9999.ebuild 13381 BLAKE2B 50da0c5784bbe2f0154d59361ec9d5440df4725a9a47fef1ddd1e37ebeebdc6d6f4b4dcfce5f758f3c23724d0975c5f8a390e0766ebbfcb4333fdff3176bd848 SHA512 0af9372a6c2500f9c6568565f1ff9e44af47262295349aad582ffbef60ee6d674f2d0a49394d91bb749b8151f68e2c63559c98ae4d40b647d0591d9673cda9b3 +EBUILD blender-9999.ebuild 13409 BLAKE2B 0f0aca4407bff72f5c59e2fab8660c0237b0c69c6e3a49a3b7db2ac1221ea335d0fcfbf2edc0ea1457507a2bbf2243c11eb73153b2d71303fc32776e1986d334 SHA512 97f8c4e81e14ef5b7a9e1e45355e7bf90f356edd5c891a0905efbf4a4bd3d94fa8e843fd66ec5f190e0f2e444568058e124738fbe4a80947ad3340b2788b1529 MISC metadata.xml 3083 BLAKE2B 6ba639c8ecc383f3ebf51eaf9a3c323d1154868647317c084fd374512e99bcb3a91496e54079d3ec6b41167043529eac95c263240602bf13e0cf2627e65bec27 SHA512 41d73d22d9f35d17cabc45a1784901ce1c5596c791abc6f828590ce886f7ab17491304e49614df8506cef0dc7bd732899cb945e53a0c57d302fc3480e91e04a0 diff --git a/media-gfx/blender/blender-2.93.10-r1.ebuild b/media-gfx/blender/blender-2.93.10-r1.ebuild deleted file mode 100644 index 1a1846ad3c83..000000000000 --- a/media-gfx/blender/blender-2.93.10-r1.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2022 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? ( 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.13.ebuild b/media-gfx/blender/blender-2.93.13.ebuild index 244f50a0e39f..f3da165815e3 100644 --- a/media-gfx/blender/blender-2.93.13.ebuild +++ b/media-gfx/blender/blender-2.93.13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -126,6 +126,7 @@ BDEPEND=" " 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 diff --git a/media-gfx/blender/blender-2.93.14.ebuild b/media-gfx/blender/blender-2.93.14.ebuild new file mode 100644 index 000000000000..e5ed153b5002 --- /dev/null +++ b/media-gfx/blender/blender-2.93.14.ebuild @@ -0,0 +1,402 @@ +# 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? ( 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-3.3.0-r1.ebuild b/media-gfx/blender/blender-3.3.0-r1.ebuild deleted file mode 100644 index 6b3e2ff54d0a..000000000000 --- a/media-gfx/blender/blender-3.3.0-r1.ebuild +++ /dev/null @@ -1,417 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( 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" - # Update these between major releases. - TEST_TARBALL_VERSION="$(ver_cut 1-2).0" - #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" - 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 +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ - +openvdb optix +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ - test +tiff valgrind" -RESTRICT="!test? ( test ) test" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - alembic? ( openexr ) - cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) - fluid? ( tbb ) - openvdb? ( tbb ) - optix? ( cuda ) - 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/python-zstandard[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - ') - media-libs/freetype:=[brotli] - 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 ) - oidn? ( >=media-libs/oidn-1.4.1 ) - 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-9.0.0:=[nanovdb?] - dev-libs/c-blosc:= - ) - optix? ( =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:= ) - 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}-3.2.2-support-building-with-musl-libc.patch - "${FILESDIR}"/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch - "${FILESDIR}"/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.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 skip the middle number (301 -> 3.1) - BV=${BV:0:1}.${BV:2} - 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 - if use test; then - TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests - subversion_fetch ${TESTS_SVN_URL} ../lib/tests - fi - else - default - if use test; then - #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests - mkdir -p lib || die - mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die - fi - 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|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 - - 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_OPTIX=$(usex optix) - -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) - -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=$(usex nanovdb) - -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_FREETYPE=ON - -DWITH_SYSTEM_GLEW=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_TBB=$(usex tbb) - -DWITH_USD=OFF - -DWITH_XR_OPENXR=OFF - ) - - if use optix; then - mycmakeargs+=( - -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - ) - fi - - 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 - - # Sanity check that the script and datafile path is valid. - # If they are not vaild, blender will fallback to the default path which is not what we want. - [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" - [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" - - 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_optimize "${ED}/usr/share/blender/${BV}/scripts" - - mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die - 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_10; 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_10 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-3.3.3.ebuild b/media-gfx/blender/blender-3.3.3.ebuild new file mode 100644 index 000000000000..5d2598c71d36 --- /dev/null +++ b/media-gfx/blender/blender-3.3.3.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( 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" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + 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 +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ + +openvdb optix +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ + test +tiff valgrind" +RESTRICT="!test? ( test ) test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff openimageio ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + 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/python-zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + 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 ) + oidn? ( >=media-libs/oidn-1.4.1 ) + 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-9.0.0:=[nanovdb?] + dev-libs/c-blosc:= + ) + optix? ( =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:= ) + 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}-3.2.2-support-building-with-musl-libc.patch + "${FILESDIR}"/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch + "${FILESDIR}"/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.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 skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + 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 + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die + fi + 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|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 + + 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_OPTIX=$(usex optix) + -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) + -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=$(usex nanovdb) + -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_FREETYPE=ON + -DWITH_SYSTEM_GLEW=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + 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 + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + 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_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + 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_10; 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_10 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-9999.ebuild b/media-gfx/blender/blender-9999.ebuild index a0ba0b748930..d64ed1598da1 100644 --- a/media-gfx/blender/blender-9999.ebuild +++ b/media-gfx/blender/blender-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,9 +13,9 @@ 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" + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" else - SRC_URI="https://download.blender.org/source/${P}.tar.xz" + SRC_URI="https://projects.blender.org/blender/blender/archive/v${PV}.tar.gz" # Update these between major releases. TEST_TARBALL_VERSION="$(ver_cut 1-2).0" SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" @@ -80,7 +80,7 @@ RDEPEND="${PYTHON_DEPS} nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) + openimageio? ( >=media-libs/openimageio-2.4.6.0:= ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= 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 new file mode 100644 index 000000000000..42db25179cdc --- /dev/null +++ b/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch @@ -0,0 +1,107 @@ +--- 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()(); + case VOLUME_GRID_VECTOR_DOUBLE: + return op.template operator()(); +- case VOLUME_GRID_STRING: +- return op.template operator()(); + case VOLUME_GRID_MASK: + return op.template operator()(); + 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()) { + return VOLUME_GRID_VECTOR_DOUBLE; + } +- if (grid.isType()) { +- return VOLUME_GRID_STRING; +- } + if (grid.isType()) { + 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 openvdb::GridBase::Ptr operator()() + { +- if constexpr (std::is_same_v) { +- return {}; +- } +- else { +- return create_grid_with_changed_resolution(static_cast(grid), +- resolution_factor); +- } ++ return create_grid_with_changed_resolution(static_cast(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( + grid, bbox, reinterpret_cast(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 void operator()() + { + if constexpr (std::is_same_v || +- std::is_same_v || + std::is_same_v) { + /* We don't support displacing these grid types yet. */ + return; diff --git a/media-gfx/graphite2/Manifest b/media-gfx/graphite2/Manifest index 25e295020a22..6ba2339b0c09 100644 --- a/media-gfx/graphite2/Manifest +++ b/media-gfx/graphite2/Manifest @@ -5,6 +5,6 @@ AUX graphite2-1.3.14-no-libtool-file.patch 2336 BLAKE2B a349e721264de1477aee5aa3 AUX graphite2-1.3.5-fix-gcc-linking.patch 580 BLAKE2B 7ab4d1848e0b0fdbd682fc81747a426c9bee7e2d0f72991dc963c955ba910035c6246d88f7eaded9c4a742a10470fd304ab2dd3fb1750795b8b9791ccfc0cfb8 SHA512 1e01c764f72204f30c916dcdc4f5bc7a4757d73275bb2007bf0c1f2e9898f138aa6c0581addc587e125cf6cbf9d5db725cb3d8a69875978a14ab316d2d561467 AUX graphite2-1.3.5-includes-libs-perl.patch 836 BLAKE2B 0429d214ff7fd9b903e1d3bcaf0af3e6b29a0269581390f64950e42e41280e482fc9cfda9bfe24ef166eb6c24d21377a15fca4264fec69d902d8ba18810bdb01 SHA512 26ab6dda13d758a5e4237c8b5d207d3c5111afbb11b2c3984cd742913c3c7932559b23b5ea9f774f1c6373eb0f761a9400dccc95876740b3cd06c44084a10965 DIST graphite2-1.3.14_p20210810.tar.gz 6656693 BLAKE2B 63a7d96b58f2779d8a4a353e1a986212b884fdf780fedcb83b22dcef2f7678d44c88c14ece2d09dc745df505a4a3825ce61d7c84bd05fd4e98c23d6e86e9326d SHA512 be54c1386578970cf65c1860336a113268181753c1e2a139e37ceeafcfa76e3162086879c54094d70cd0d36ad5852a95390aaa69572d875921e9481f1ae508ff -EBUILD graphite2-1.3.14_p20210810-r2.ebuild 3032 BLAKE2B a247b15f51be2e871396ea037c55d1085053781f518e62d23fd2f251cb25296eaf0ad187a864701812d2dce90a480fb44be55cad27982a131a14c570fbe2f8a0 SHA512 90a54f29e5a12fdfc87b6afb1c90e793c9d3dbc75f9171358f024c2e64c01af59cb23cf46fa28b1f7e390b2629c374fd5ec6379064b2456dda0069046d761d51 -EBUILD graphite2-1.3.14_p20210810-r3.ebuild 3145 BLAKE2B 97382f67bc420d5c500b910c58cc79001cb2fbd6389fb48dfbfe59c48d4c360211676bfd1cf5e24df6e35d7762fe73ccb445d1ee6687dac3ce8fb138a681ddeb SHA512 65a359911161ca92e5684e77c2866b3d9997ae6e0ca0ff951ca710f32e4bb75f85d221eeec9ac251b985d7ba128dae8f0c3571317f9f440bf727c1c495d426da +EBUILD graphite2-1.3.14_p20210810-r2.ebuild 3032 BLAKE2B aa16579c7c1536d26430d73b3f6ebcc1782631a838173d06537c94809ffff1bb720e9216484af57db2c4fe20c1567fb51cb80b88ed83fabbde72f0febe6b3be1 SHA512 7fc75f1541a6fde47c4ba5f4a8fc64dfcc633a4b80752e01efba377ec5502548f75a091f7a68ae3783f30baae7c8d279ebeb305b4023c2b56cb313a1bcc0ff13 +EBUILD graphite2-1.3.14_p20210810-r3.ebuild 3145 BLAKE2B 4937e862aa6976cd79de6fcb4b1cd3bfd7d9f4d013d0aef246fd4d5348d1e4594bd1846cce7009a53c438c6ddca7e18198d59b984106e7acae746b9349158b8b SHA512 fd39d74e31dc075ba20d992de41dccd91ea3f6f1825e6b4b3c5f3cd062bb1195802abda606f276642b35e6d8b33b629f4c61fc0e79630cd69d0122f2280df2fb MISC metadata.xml 393 BLAKE2B 27dcc3bcbc5a0ec32bb751ec3bb8788c2c85d5d7743f0243749a88ace9b5a3faaa10adc84731dbec3e37208efef41e3d4124de57005345927e848a7cbca6b098 SHA512 1086491557aff2d6f3552829550db85332c809d20ec1e3517bfa311fdfb2a5386cc4b624481b4fd7db7e48ab39bb5d76e048461352b74cdecf89d904ef52590b diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r2.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r2.ebuild index 53dfb0c221e5..bd232f30b6d7 100644 --- a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r2.ebuild +++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r2.ebuild @@ -5,7 +5,7 @@ EAPI=8 COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380 GENTOO_DEPEND_ON_PERL="no" -PYTHON_COMPAT=( python3_{9..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit perl-module python-any-r1 cmake-multilib DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems" diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild index bd53468cf978..78b29ae66f3f 100644 --- a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild +++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild @@ -5,7 +5,7 @@ EAPI=8 COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380 GENTOO_DEPEND_ON_PERL="no" -PYTHON_COMPAT=( python3_{9..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit perl-module python-any-r1 cmake-multilib DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems" -- cgit v1.2.3