summaryrefslogtreecommitdiff
path: root/media-gfx/blender
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-02 02:07:07 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-02 02:07:07 +0000
commitd4f65848c7ecabb56e2f93889cbd20078cd347f7 (patch)
tree180032f5afeb689db6a270d612f3e3364ed8fd2b /media-gfx/blender
parentc635a4b7ddb6105bfc6fef130b188a087726677b (diff)
gentoo auto-resync : 02:12:2024 - 02:07:07
Diffstat (limited to 'media-gfx/blender')
-rw-r--r--media-gfx/blender/Manifest24
-rw-r--r--media-gfx/blender/blender-3.3.21.ebuild432
-rw-r--r--media-gfx/blender/blender-3.3.8.ebuild432
-rw-r--r--media-gfx/blender/blender-3.6.18.ebuild (renamed from media-gfx/blender/blender-3.3.15.ebuild)81
-rw-r--r--media-gfx/blender/blender-4.2.4.ebuild (renamed from media-gfx/blender/blender-4.0.2-r1.ebuild)124
-rw-r--r--media-gfx/blender/blender-9999.ebuild34
-rw-r--r--media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch108
-rw-r--r--media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch23
-rw-r--r--media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch177
-rw-r--r--media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch17
-rw-r--r--media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch12
-rw-r--r--media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch39
-rw-r--r--media-gfx/blender/files/blender-4.0.1-openvdb-11.patch75
-rw-r--r--media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch342
-rw-r--r--media-gfx/blender/metadata.xml7
15 files changed, 151 insertions, 1776 deletions
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 2c907209e565..189e493d60de 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,31 +1,19 @@
-AUX blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch 4517 BLAKE2B 703b5c8b04a187941caaefaa51e71266a96bb64d3e623bdfe9192bfc57fda1ceb5e1e83e57d1d585f9e8358169a49e91dcbaecd4aa9fe809213a8fc1b3372be2 SHA512 91b12b5bf161b48ef192981d12cdda03ce23e0d5a7f3b30c5232598f3122872f53e98ba1ba154f12558ce6abc4a015760f1898dbeb16810ba52850e985a58ab6
-AUX blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch 986 BLAKE2B 6055d38fded76be0c3f1f42f1e17e434ba69be90a0fb032856b1a339683a28c6786e945fc88d7b39006efc090e198586e5ebebb8fa542e93bcb07b9b91f6ce1f SHA512 8c5259d54e687ae03316fa69efcee02dbbf2a374de6fa9151484795af7d602c2d603900f1b38b7d4a09d8cb66e73666e500cb37004cbca5a13241d9cb5442ab0
-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
-AUX blender-3.3.6-cycles-gcc13.patch 299 BLAKE2B c20c113bf845cb55188cd53c4c3e52e2876430d5b708161afbfd6afd0a50fb7cc4cf099df2202fa8c149bb18dc82e9e880cd083f35b61faaff80852a39358e3f SHA512 8986fd86e1f060c7310e5ecbae8f968faae5257af92f248874d7bccade4b75890a51a97706be653a6441292f0a459aa88b9935f545733eb34ac3b324c0d3b2df
-AUX blender-4.0.1-fix-cflags-cleaner.patch 2222 BLAKE2B 2006ddd28ad270417e7832dbb4499752c90e8f6e5372c601a6694ee53aa0f47ed8eaef356e9b605f5add6144ff8fd200a7d9642441a1f213ec92e50e23806842 SHA512 5e130d917db80706b85e49b79803bd19b229bcf6e317789812ff5c0dc706b2c7bf31af43e6a226ee6dea9ee478f76eaefc903657c693f1d2dbcd85f552f2578c
-AUX blender-4.0.1-openvdb-11.patch 3236 BLAKE2B e749db26f88b1e5329741a09c306ddd109f3feb4249bc5c50299477145f21f6a465a9dd2daf347c95c2cac7bf446300f47ab5feecc7887cff061fbeacc611feb SHA512 f6bd6db94ff631328e6b9aabe678a5a55a32e9f0a02aada90c843b31548d151533cbfcd1a61652bdad7060dc1f31db9269133c4f115bda13b77fa34c930631ed
AUX blender-4.0.2-CUDA_NVCC_FLAGS.patch 627 BLAKE2B 45c9f327ee6d2fbd45446ba0787f6de9dd77364a9a0b8b1b7683acfc5f359c5745df5747e4359ba0609cbc7dfbcb569e5f6ebace433f1ab9b87305435c9fd680 SHA512 13784a75a7fc303fa548c1d8c79e4435c40c32beb1f00c05dbe2731d1d3cd19ae202ff0b4ef9eff10e9bbd6c6f52024220a843d237dd91c27077bd91552dd6a2
AUX blender-4.0.2-FindClang.patch 451 BLAKE2B 4b57395d440b590f9b2e097b74fbcf46dbe12fd13536cb335b914246995ede928f1208872c5044e1d0ecb1a702d0c46b656eb4b3abc3b0ed149abaf0d74bd433 SHA512 21aa3e158585184dfc1ccd931b53142cf436507a9126f4cee465214e7183553d02451babc5a636d3eb4ae0fd3ed0f0effb7b8962889f6dbec3e9476a61d0bbb2
-AUX blender-4.0.2-r1-osl-1.13.patch 14364 BLAKE2B fdee46fa3c5b1dc9a48499573e6bda242e2aa5d57f17e8b1e1a262673c5c2912c75cc8c531a30bcc0fd5019c4ff50ae089d0987e15ff1d57137e00f903356738 SHA512 2020b4f34c50ab1bb911a3b37b95a3da2a7f754e0b0ead7f651664131aa19debc00f8a8d32871b467bfdce9d83c43ca4597309351512635fdaf35f98c82266ff
AUX blender-4.1.1-FindLLVM.patch 1388 BLAKE2B 721ba19ba6bdfde1672889d530bbd252665c12568363920561b7cfb7491e98a130cf0accc197f46a760c1bc57357183ce89903f2555125097d23361f1fe39ea7 SHA512 b13e8efaaf711bfba2a015b65153988c7ca9042e58785a483987634110c2bbdaec311744c633b7402dfaaca321984a5dc3fc549689c21fe0bfd6c27d890289da
AUX blender-4.1.1-numpy.patch 1060 BLAKE2B 76b4c83e852f25be042c2a8267ad2b55fcbf8c3d4c3c2d1e8640e349174029de13a791d53e66215126dc76cdefca40b1e9f253e317f02f6d40a04652e9519bd5 SHA512 d3047c0eba1ce6d4cb68df65bd1563b7eb7c14253ff82edfcdae0a19d8270027a45273442258e0afef19bf1e805b99b91ae76a95fb4a0ada0454ee75f36c43b1
-DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea204dcce885f42d79d29352ebacac43a2f92e380f576c2688d2d90d910caff069484e22669847b0eea71079a8bdc7e SHA512 d55223b7b9ae9f9c6fdbf5ed2988e997693fcb8262196acb08bbe58bae86f9f34474ed1cf5a213ee0247225601726265ded3cb4ad4d89910fc247f9cf5fec1ff
-DIST blender-3.3.21.tar.xz 41940868 BLAKE2B 74874226a0f690d2b81c0f96c441f519bd37ff0fec5c2dcae0f4f673d55863e2b2edbd60d2ed05890c440c5287e4cab943646cf4029d7c8287a636ac405e9bce SHA512 715a9808b25fe4c90ee3097edf21bdb3facfec51df0f6b6c6404a95bafe417d1e4998994f532ae9bac1e95de84cc8fd8fce8f8e672f9117646ad840074344d0e
-DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519
DIST blender-3.6.15.tar.xz 67906200 BLAKE2B 8709b20347e78f3f71d22fee9799b1c0e20a39521b35cff83d6cd3462d4b172e31c1656812d7ce51eef25341a0cff2e9efdcdab0bc9a361ec843a666fc8c3185 SHA512 dfd1d80850fe6ab0616fd99ab039345da621418890b1a006e5320a4b739d1cf6f4ca313e8f8aed6e27c976400c75e8d6085847623d933de71932aefe82f3fd32
+DIST blender-3.6.18.tar.xz 67900952 BLAKE2B d4a619197abc3e4969846913f3c88cd64fd679bbefe007354af6ba2e83d47a8fcd27b3bcbaf6d850d28960eedeb3c50ff9336d0e61fd488d4916b6628bfd67dd SHA512 48a8b3e8b2fe75305061d7cb9b7b8491cef4f23fbd809d1fc34663a4f97f487d6e7e6e92848110fe6aa5a2fed18a2c1a2a0c1c928aa813e2456f7786681eae60
DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7ba82c8823f92fe1e6a14419edae1f3914f639e88dd8b5fb3ec7c124783e1ece56199a80b9b51a0f320764e1eba7 SHA512 a5e15dc9de7024cebb955fc531ae592a4c58336196a07fd63ed5bb4eb14d66751a3697ea8b120283ca5078c92d8c87966e882862011ebb4368f132e2de004a45
-DIST blender-4.0.2.tar.xz 73281252 BLAKE2B 6ec72baa360049681c8ba18ae668041e87745bad51113cf50bca93d18f52ef5db84c58f9a2dc5b341ef1f0439e76288a1b1eda892a19033fb494e79cd3b2f983 SHA512 c37b85d06f5cf8b48cb8c657a9fb6b0ab1325271706fa34039f2993420f7606cd1e2c052173cdea94e9bec2924e7aa4df373e3a0fc1f9c4be336e62211b6bc4b
DIST blender-4.1.1.tar.xz 82146268 BLAKE2B 1ab4a6c1046851ef619394c62fc73794430dc091e2cab26d3d1d542e9d4519889e9b9731606385e9dc8657448ca3827875526f4a57dd1b5c326a73d8a6f9be8d SHA512 13ad0cdd09879b5c28554faca5a54172f43dc3dcb749d2d1723d3e89e741e6255179af3bd88309b735e058b9b350191e44f3158e882e55f1cedea70b8b21540e
DIST blender-4.2.1.tar.xz 72789532 BLAKE2B 74494e851e9e2e9fdcf4a77fa4e1c177d6b9f01ab1cde9daec40468e5399d84b04225ff3a6919191e685624e9094ea4cb2257a62344d3b0e87072f339253aa82 SHA512 20162bd1185e34c481a0520f4999f8c76018471b485fa72afa446f590638c564a370d036cc4a941bf204fce821d8305d4244b3ba9ec7f09f1839b8a276dfde39
-EBUILD blender-3.3.15.ebuild 13723 BLAKE2B b22a4fa62e27aa0f25f2e769de636d87a80ad959c4271005dccb01bc19596a19d81b8cba19034d20e433ebd9eeb7f51d235ad10f6e145c912a343db31ad7364e SHA512 de3eb7c4453a48297b50dbd2ce10a25151673fafb29ff6c1241cd8c1be9865727c128f6265e66a39ac48f095b9e5ec5b5f70510ad2ec5f861a2f5129bb81db5a
-EBUILD blender-3.3.21.ebuild 13725 BLAKE2B d27a62328df46c6bb91ffe0ed569204501d1cc29bc31bf23aebcdaa7da32b812f485b0abce458045d8a7c34dbe9952ac84a803f1e48c2fd88d0f013b24ffc7b8 SHA512 c6900174eff0a309a5089a19f3ec9666a645eb3aeb89f1b43f92304ec0d7cf7c49841ba74550f41b87607087a4c33af04e215ede78b9ec836a25893d8e2b2bdd
-EBUILD blender-3.3.8.ebuild 13722 BLAKE2B 12465f59bb137aaa869216b623df34fb8758a742bc517cd467865ecfbff6856429c7fda725b6a3e14d1581964b22adb27956e0b74838c1da5e9a573560269fdf SHA512 8d985d8efd20233d111b7efe2aaa0b8fe486d3de36d676575347d66b24a7fd14904c04d9edfcfc1e03c34956419dc3ec06c4e20175749254f120ae52e79a1396
+DIST blender-4.2.4.tar.xz 72804204 BLAKE2B 613ae4671cc9263d18fe988b07e8744eb04f67fe53f1c14ad3fbc7d80c58a577e7753871ca775cd40ab5f26ef2bc9030cda57012dda0c4785769f04263aea15b SHA512 1f61c1866aaa680c91fc6e3402b1e10533c8cce32572ffb825c53dc7c15ca51f1157a32d10134ca9e612fbf719406421ccc920b2d8ddd2993675784797381c6a
EBUILD blender-3.6.15.ebuild 14132 BLAKE2B 0f533ce9cc66019fb6410ca26cd3c434e360d7ac454676711597776c425ae7749d9ec5402c94206a20e3473dd1e7a13adfbc34c74a91457d641dde8de22dcce2 SHA512 7bf2d8f5d85909773f614335f668bb21d19d1de39fae83f06a81c28e678dc8584d00f08e00ae1409066c04d99cea24d402e495fe46afc6c37f66712ae33c4bee
+EBUILD blender-3.6.18.ebuild 14133 BLAKE2B 97030e2d089b2bd7cc7e8a3e0c4b8b302c168f3b12be5e18366493776095fd4b95b2107691f467f67fb95e006b3d5ad5442dddff8e39fa53044dbaf263f79216 SHA512 3d90056f798ce49c5028ff860296e1c18201d44fea9056c59150b6b6815d3ac98e03e9b1ba2aa985e883996e7755dec6ef27a9799e889c21bd6d539940fe858c
EBUILD blender-3.6.8.ebuild 14127 BLAKE2B 1de13a7ef689f16a899698c7262bf0a59a9d6ca1a9ed27c446e11b1cfc4b39b94231f08d96b17323f2049b1ec05a28319718402c083061a2b805838ca90931ad SHA512 0647e31bef93c125c407611a690437de86c710beb5b7771801e27e2e561c3d7bfbc350e67fe0275bcbe4a5f049e87c3e600b95bcef9013f156677624b1ce445c
-EBUILD blender-4.0.2-r1.ebuild 17323 BLAKE2B da8dd2e98235314e7acf564867c688ce8ca258ef154b6fecfee4b247360bfd1eda7d2d0a42b37356cf79b061bf3f2d3c862f19db77f29b74701a29c3e36e4eed SHA512 f6ec16f31c2ecb1578b1d0222fb02041753cf225347cefdd0b75ab28386ecf9840d54be5366e9e7231b05aca1a84f3d52a10c801a2431a289182e1a1a0ac0aa8
EBUILD blender-4.1.1-r2.ebuild 17612 BLAKE2B 6c730678d9ee6f98127a3df5df269ee06a3bbb69e6bd2d4d06195ae8efa424484a83b3a77cd58c0e1a8e2d516f67e0d38737cd199f4ee66c59f1bfc045dfd308 SHA512 4afc54c172de9eb3fe0d71a23f59b32f232ce66847272bbe8b03e770bb228a0e22c0556bbc7338294d9488ad221e4c117e557e85f1f32c44ebecc1cf6bbb72bc
EBUILD blender-4.1.1.ebuild 17169 BLAKE2B 96ac5b0d84b5c45008ca67d07f55617833801220064e77e37d1f6f0b47a141f29ddc063667ebf09f482899640b02830c31b1cd8b148f3f5fbe61421f931ffd53 SHA512 ed20d53f7bcb93b0f0541145dabf903a10fe3811288c3cebf80396885a4d7aa4552687e86608d5510f8fe87adea9432956e6c21dec47f1e08adc0cc6e399b1c4
EBUILD blender-4.2.1.ebuild 17467 BLAKE2B 5e764bea5de6b0f689b161a1081768253cb7dcfc7906eb6b1bd30bac13671224344a861dfbff8380ed450237363a91dcf16e8e152bacbe92162d70a897914940 SHA512 aaaa65b695f0292894e0bcc6f521c3933a1be4550a2511b5b0c8cdb7a672c79da80ae0aa2d6e84c2ecd39e7dccbdaea67018db387f2b53bf9b45ed64f75320c1
-EBUILD blender-9999.ebuild 17468 BLAKE2B 6c4dc64995717956cc7dbbcca9e1420920d4ed0cfa4c484ab4eb38a27ba7d03b25b4987c067f88c214506baacbab24c8cee6c2a9a89969ec0a8df7a265781389 SHA512 e1c1ce5f0178b47c894610773e08991ea5affab1abb72b6b0a9085ae90c1cd577b272cb6b9dae794c0cd5544b954dad4eb8e69c659309acc8fd5593c9593f510
-MISC metadata.xml 3679 BLAKE2B cca8c2f8568be6c83244cf5a90b2db0df11faffa4f55820692990e02ce0bfd84cf3e6c2fdb146af9e6c8e09d1c72fe297c73f126e04ad918e709dc9064908aca SHA512 ac8bdbc0e00442f56d9d077d7d8c97deba90121e7dd34aac9d51b7ae6348bbaa875d2fcd01fe20ff7e9b1c3bf332a5cde63fd0b406a1e29c3f4de323225a17a9
+EBUILD blender-4.2.4.ebuild 17435 BLAKE2B 5ea860e1b4b5d816549fdf79023026c8e69985a56c245c5326919f410e8ae80b85eb366ef671c5f231cde620cc707004183f8d224c47efc24071239c570728c1 SHA512 d945dc321834317f587176d16e24c2490406181a11bd5824bb52d5b839c3699cf1bfd051ed5453613b48d17ea61148e667e5ab04f4cbc8eea1826b40d8270ac3
+EBUILD blender-9999.ebuild 17435 BLAKE2B 5ea860e1b4b5d816549fdf79023026c8e69985a56c245c5326919f410e8ae80b85eb366ef671c5f231cde620cc707004183f8d224c47efc24071239c570728c1 SHA512 d945dc321834317f587176d16e24c2490406181a11bd5824bb52d5b839c3699cf1bfd051ed5453613b48d17ea61148e667e5ab04f4cbc8eea1826b40d8270ac3
+MISC metadata.xml 3459 BLAKE2B 6fb5c60150a6ff87ef3011bd439886dbba0d41137cd7eb36afe5ce13daf4038178880f19a3afda52decc576132d6b44b17d99bafb611207b8417790706b299f9 SHA512 8057e29057a0a2d3851c44c95116b5ac8c04fbbf3efd1540df63ffe7837201007a99883fca9c6e31f89fb20a099959a81f97d88b14f99cf4910ae9e771b5fdbc
diff --git a/media-gfx/blender/blender-3.3.21.ebuild b/media-gfx/blender/blender-3.3.21.ebuild
deleted file mode 100644
index a0f55249f096..000000000000
--- a/media-gfx/blender/blender-3.3.21.ebuild
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-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
-
-LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
-SLOT="${PV%.*}"
-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
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-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/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.3.0:= )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( <media-libs/embree-4.0.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[cxx] )
- !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-11.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( <media-libs/osl-1.13:= )
- pdf? ( media-libs/libharu )
- potrace? ( media-gfx/potrace )
- pugixml? ( dev-libs/pugixml )
- pulseaudio? ( media-libs/libpulse )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( dev-cpp/tbb:= )
- tiff? ( media-libs/tiff:= )
- valgrind? ( dev-debug/valgrind )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/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"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.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 ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # -Werror=odr, -Werror=lto-type-mismatch
- # https://bugs.gentoo.org/859607
- # https://projects.blender.org/blender/blender/issues/120444
- filter-lto
-
- # Workaround for bug #922600
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- 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
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- 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.
- DESTDIR="${T}" cmake_build 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="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/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 "${T}"/usr || 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
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- 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.8.ebuild b/media-gfx/blender/blender-3.3.8.ebuild
deleted file mode 100644
index 69f830424c87..000000000000
--- a/media-gfx/blender/blender-3.3.8.ebuild
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-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
-
-LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
-SLOT="${PV%.*}"
-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
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-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/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.3.0:= )
- 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-11.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( <media-libs/osl-1.13:= )
- pdf? ( media-libs/libharu )
- potrace? ( media-gfx/potrace )
- pugixml? ( dev-libs/pugixml )
- pulseaudio? ( media-libs/libpulse )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( dev-cpp/tbb:= )
- tiff? ( media-libs/tiff:= )
- valgrind? ( dev-debug/valgrind )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/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"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.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 ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # -Werror=odr, -Werror=lto-type-mismatch
- # https://bugs.gentoo.org/859607
- # https://projects.blender.org/blender/blender/issues/120444
- filter-lto
-
- # Workaround for bug #922600
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- 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
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- 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.
- DESTDIR="${T}" cmake_build 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="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/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 "${T}"/usr || 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
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- 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.15.ebuild b/media-gfx/blender/blender-3.6.18.ebuild
index aa58233b6a81..698ccf250f72 100644
--- a/media-gfx/blender/blender-3.3.15.ebuild
+++ b/media-gfx/blender/blender-3.6.18.ebuild
@@ -13,29 +13,30 @@ 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"
+ ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.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 )"
+ # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
KEYWORDS="~amd64 ~arm ~arm64"
fi
LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-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"
+IUSE="+bullet +dds +fluid +openexr +tbb
+ alembic collada +color-management cuda +cycles cycles-bin-kernels
+ debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
+ man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
+ +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
+ +sndfile test +tiff valgrind wayland X"
+RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
alembic? ( openexr )
cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
+ cycles? ( openexr tiff )
fluid? ( tbb )
openvdb? ( tbb )
optix? ( cuda )
@@ -44,8 +45,6 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# Library versions for official builds can be found in the blender source directory in:
# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
RDEPEND="${PYTHON_DEPS}
dev-libs/boost:=[nls?]
dev-libs/lzo:2=
@@ -56,27 +55,23 @@ RDEPEND="${PYTHON_DEPS}
dev-python/requests[${PYTHON_USEDEP}]
')
media-libs/freetype:=[brotli]
- media-libs/glew:*
+ media-libs/libepoxy:=
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
+ >=media-libs/openimageio-2.4.6.0:=
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.3.0:= )
+ color-management? ( media-libs/opencolorio:= )
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
- )
+ gmp? ( dev-libs/gmp[cxx] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -87,11 +82,11 @@ 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:= )
openexr? (
>=dev-libs/imath-3.1.4-r2:=
>=media-libs/openexr-3:0=
)
+ openpgl? ( media-libs/openpgl:0/0.5 )
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
<media-gfx/openvdb-11.0.0:=[nanovdb?]
@@ -108,6 +103,18 @@ RDEPEND="${PYTHON_DEPS}
tbb? ( dev-cpp/tbb:= )
tiff? ( media-libs/tiff:= )
valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.12
+ >=dev-libs/wayland-protocols-1.15
+ >=x11-libs/libxkbcommon-0.2.0
+ media-libs/mesa[wayland]
+ sys-apps/dbus
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ )
"
DEPEND="${RDEPEND}
@@ -126,16 +133,11 @@ BDEPEND="
dev-texlive/texlive-latexextra
)
nls? ( sys-devel/gettext )
+ wayland? (
+ dev-util/wayland-scanner
+ )
"
-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"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch"
-)
-
blender_check_requirements() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -168,10 +170,16 @@ pkg_setup() {
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
git-r3_src_unpack
+
+ git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
+ git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
+
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
+ ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets
+ subversion_fetch ${ASSETS_SVN_URL} ../lib/assets
else
default
if use test; then
@@ -208,7 +216,7 @@ src_prepare() {
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 ${T}/usr)|g" -i tests/CMakeLists.txt || die
+ sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
fi
}
@@ -223,6 +231,7 @@ src_configure() {
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
append-lfs-flags
+ blender_get_version
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -237,18 +246,26 @@ src_configure() {
-DWITH_CODEC_SNDFILE=$(usex sndfile)
-DWITH_CXX_GUARDEDALLOC=$(usex debug)
-DWITH_CYCLES=$(usex cycles)
+ -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels)
-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_PATH_GUIDING=$(usex openpgl)
-DWITH_CYCLES_STANDALONE=OFF
-DWITH_CYCLES_STANDALONE_GUI=OFF
-DWITH_DOC_MANPAGE=$(usex man)
-DWITH_FFTW3=$(usex fftw)
+ -DWITH_GHOST_WAYLAND=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
+ -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_DYNLOAD=OFF
+ -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
+ -DWITH_GHOST_X11=$(usex X)
-DWITH_GMP=$(usex gmp)
-DWITH_GTESTS=$(usex test)
-DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$(usex headless)
+ -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
-DWITH_INSTALL_PORTABLE=OFF
-DWITH_IMAGE_DDS=$(usex dds)
-DWITH_IMAGE_OPENEXR=$(usex openexr)
@@ -266,7 +283,6 @@ src_configure() {
-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)
@@ -279,7 +295,6 @@ src_configure() {
-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
diff --git a/media-gfx/blender/blender-4.0.2-r1.ebuild b/media-gfx/blender/blender-4.2.4.ebuild
index ae693845b6b7..b062e630b1a5 100644
--- a/media-gfx/blender/blender-4.0.2-r1.ebuild
+++ b/media-gfx/blender/blender-4.2.4.ebuild
@@ -3,9 +3,10 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
-# matches media-libs/osl
-LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{11..12} )
+# NOTE must match media-libs/osl
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
@@ -17,7 +18,6 @@ if [[ ${PV} = *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
EGIT_SUBMODULES=( '*' '-lib/*' )
- ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
RESTRICT="!test? ( test )"
else
SRC_URI="
@@ -35,9 +35,9 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
IUSE="
alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
- debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
- jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
- +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio
+ debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl
+ +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio
renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
"
@@ -71,7 +71,7 @@ RDEPEND="${PYTHON_DEPS}
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
- >=media-libs/openimageio-2.4.6.0:=
+ >=media-libs/openimageio-2.5.6.0:=
sys-libs/zlib:=
virtual/glu
virtual/libintl
@@ -85,7 +85,14 @@ RDEPEND="${PYTHON_DEPS}
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp[cxx] )
gnome? ( gui-libs/libdecor )
- hip? ( >=dev-util/hip-5.7:= )
+ hip? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -95,13 +102,13 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-2.1.0 )
+ oidn? ( >=media-libs/oidn-2.1.0[${LLVM_USEDEP}] )
oneapi? ( dev-libs/intel-compute-runtime[l0] )
openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
+ >=dev-libs/imath-3.1.7:=
+ >=media-libs/openexr-3.2.1:0=
)
- openpgl? ( media-libs/openpgl:0/0.5 )
+ openpgl? ( media-libs/openpgl:= )
opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
openvdb? (
>=media-gfx/openvdb-11.0.0:=[nanovdb?]
@@ -109,11 +116,8 @@ RDEPEND="${PYTHON_DEPS}
)
optix? ( dev-libs/optix )
osl? (
- >=media-libs/osl-1.13:=
- $(llvm_gen_dep '
- >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}]
- media-libs/mesa[llvm_slot_${LLVM_SLOT}]
- ')
+ >=media-libs/osl-1.13:=[${LLVM_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
)
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
@@ -138,6 +142,9 @@ RDEPEND="${PYTHON_DEPS}
dev-util/glslang
media-libs/vulkan-loader
)
+ otf? (
+ media-libs/harfbuzz
+ )
renderdoc? (
media-gfx/renderdoc
)
@@ -177,11 +184,10 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-4.0.1-fix-cflags-cleaner.patch" # to be dropped for releases after Dec 8, 2023
- "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch"
"${FILESDIR}/${PN}-4.0.2-FindClang.patch"
"${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
- "${FILESDIR}/${PN}-4.0.2-r1-osl-1.13.patch"
+ "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+ "${FILESDIR}/${PN}-4.1.1-numpy.patch"
)
blender_check_requirements() {
@@ -206,6 +212,12 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
}
pkg_setup() {
@@ -223,9 +235,6 @@ src_unpack() {
EGIT_SUBMODULES+=( '-tests/*' )
fi
git-r3_src_unpack
-
- git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
- git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
else
default
@@ -308,6 +317,7 @@ src_configure() {
-DWITH_BULLET=$(usex bullet)
-DWITH_CODEC_FFMPEG=$(usex ffmpeg)
-DWITH_CODEC_SNDFILE=$(usex sndfile)
+ -DWITH_CPU_CHECK=no
-DWITH_CYCLES=$(usex cycles)
@@ -330,16 +340,13 @@ src_configure() {
-DWITH_DOC_MANPAGE=$(usex man)
-DWITH_DRACO="no" # TODO: Package Draco
- -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)"
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
- -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
- -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
- -DWITH_GHOST_WAYLAND_DYNLOAD="$(usex gnome)" # https://bugs.gentoo.org/930412 fixed in 4.1 # no
- -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
+ -DWITH_GHOST_WAYLAND_DYNLOAD="no"
-DWITH_GHOST_X11=$(usex X)
-DWITH_GMP=$(usex gmp)
-DWITH_GTESTS=$(usex test)
+ -DWITH_HARFBUZZ="$(usex otf)"
-DWITH_HARU=$(usex pdf)
-DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
-DWITH_HYDRA="no" # TODO: Package Hydra
@@ -383,6 +390,13 @@ src_configure() {
-DWITH_XR_OPENXR=no
)
+ if has_version ">=dev-python/numpy-2"; then
+ mycmakeargs+=(
+ -DPYTHON_NUMPY_INCLUDE_DIRS="$(python_get_sitedir)/numpy/_core/include"
+ -DPYTHON_NUMPY_PATH="$(python_get_sitedir)/numpy/_core/include"
+ )
+ fi
+
# requires dev-vcs/git
if [[ ${PV} = *9999* ]] ; then
mycmakeargs+=( -DWITH_BUILDINFO="yes" )
@@ -398,6 +412,7 @@ src_configure() {
if use hip; then
mycmakeargs+=(
+ -DROCM_PATH="$(hipconfig -R)"
-DHIP_HIPCC_FLAGS="-fcf-protection=none"
)
fi
@@ -409,6 +424,13 @@ src_configure() {
)
fi
+ if use wayland; then
+ mycmakeargs+=(
+ -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
+ -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
+ )
+ fi
+
# This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
use arm64 && append-flags -flax-vector-conversions
@@ -457,15 +479,16 @@ src_test() {
DESTDIR="${T}" cmake_build 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="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}"
- # 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!"
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
if use cuda; then
cuda_add_sandbox -w
@@ -477,6 +500,8 @@ src_test() {
xdg_environment_reset
fi
+ addwrite /dev/dri
+
cmake_src_test
# Clean up the image directory for src_install
@@ -489,21 +514,24 @@ src_install() {
# Pax mark blender for hardened support.
pax-mark m "${BUILD_DIR}"/bin/blender
- if use man; then
- # XXX: Stupid temporary hack for bug #925254
- cmake_src_install -j1
+ 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
- else
- cmake_src_install
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
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}"
+
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
# Workaround for binary drivers.
addpredict /dev/ati
@@ -559,11 +587,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; 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 "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
diff --git a/media-gfx/blender/blender-9999.ebuild b/media-gfx/blender/blender-9999.ebuild
index 88bb85849015..b062e630b1a5 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
IUSE="
alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
- debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack
jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl
+opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio
renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
@@ -340,7 +340,6 @@ src_configure() {
-DWITH_DOC_MANPAGE=$(usex man)
-DWITH_DRACO="no" # TODO: Package Draco
- -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)"
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
-DWITH_GHOST_WAYLAND_DYNLOAD="no"
@@ -480,15 +479,16 @@ src_test() {
DESTDIR="${T}" cmake_build 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="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}"
- # 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!"
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
if use cuda; then
cuda_add_sandbox -w
@@ -522,10 +522,16 @@ src_install() {
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
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}"
+
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
# Workaround for binary drivers.
addpredict /dev/ati
diff --git a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch b/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch
deleted file mode 100644
index 2a7b33cf8ac4..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From https://developer.blender.org/rB74caf773619bbf6a0f95c598b66261a6bef392ee
-From: Brecht Van Lommel <brecht@blender.org>
-Date: Mon, 29 Aug 2022 19:12:15 +0200
-Subject: [PATCH 001/539] Cycles: add option to specify OptiX runtime root
- directory
-
-This allows individual users or Linux distributions to specify a directory
-Cycles will automatically look for the OptiX include folder, to compile kernels
-at runtime.
-
-It is still possible to override this with the OPTIX_ROOT_DIR environment
-variable at runtime.
-
-Based on patch by Sebastian Parborg.
-
-Ref D15792
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -435,10 +435,16 @@ if(NOT APPLE)
- option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
- option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
- option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON)
-+
-+ set(OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory, for building Cycles OptiX kernels.")
-+ set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.")
-+
- mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
- mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER)
- mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
- mark_as_advanced(WITH_CUDA_DYNLOAD)
-+ mark_as_advanced(OPTIX_ROOT_DIR)
-+ mark_as_advanced(CYCLES_RUNTIME_OPTIX_ROOT_DIR)
- endif()
-
- # AMD HIP
---- a/intern/cycles/device/CMakeLists.txt
-+++ b/intern/cycles/device/CMakeLists.txt
-@@ -19,6 +19,8 @@ if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA)
- )
- add_definitions(-DCYCLES_CUDA_NVCC_EXECUTABLE="${CUDA_NVCC_EXECUTABLE}")
- endif()
-+
-+ add_definitions(-DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${CYCLES_RUNTIME_OPTIX_ROOT_DIR}")
- endif()
-
- if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD)
---- a/intern/cycles/device/optix/device_impl.cpp
-+++ b/intern/cycles/device/optix/device_impl.cpp
-@@ -342,15 +342,29 @@ BVHLayoutMask OptiXDevice::get_bvh_layout_mask() const
- return BVH_LAYOUT_OPTIX;
- }
-
-+static string get_optix_include_dir()
-+{
-+ const char *env_dir = getenv("OPTIX_ROOT_DIR");
-+ const char *default_dir = CYCLES_RUNTIME_OPTIX_ROOT_DIR;
-+
-+ if (env_dir && env_dir[0]) {
-+ const string env_include_dir = path_join(env_dir, "include");
-+ return env_include_dir;
-+ }
-+ else if (default_dir[0]) {
-+ const string default_include_dir = path_join(default_dir, "include");
-+ return default_include_dir;
-+ }
-+
-+ return string();
-+}
-+
- string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features)
- {
- string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features);
-
- /* Add OptiX SDK include directory to include paths. */
-- const char *optix_sdk_path = getenv("OPTIX_ROOT_DIR");
-- if (optix_sdk_path) {
-- common_cflags += string_printf(" -I\"%s/include\"", optix_sdk_path);
-- }
-+ common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str());
-
- /* Specialization for shader raytracing. */
- if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) {
-@@ -460,10 +474,19 @@ bool OptiXDevice::load_kernels(const uint kernel_features)
- "lib/kernel_optix_shader_raytrace.ptx" :
- "lib/kernel_optix.ptx");
- if (use_adaptive_compilation() || path_file_size(ptx_filename) == -1) {
-- if (!getenv("OPTIX_ROOT_DIR")) {
-+ std::string optix_include_dir = get_optix_include_dir();
-+ if (optix_include_dir.empty()) {
- set_error(
-- "Missing OPTIX_ROOT_DIR environment variable (which must be set with the path to "
-- "the Optix SDK to be able to compile Optix kernels on demand).");
-+ "Unable to compile OptiX kernels at runtime. Set OPTIX_ROOT_DIR environment variable "
-+ "to a directory containing the OptiX SDK.");
-+ return false;
-+ }
-+ else if (!path_is_directory(optix_include_dir)) {
-+ set_error(string_printf(
-+ "OptiX headers not found at %s, unable to compile OptiX kernels at runtime. Install "
-+ "OptiX SDK in the specified location, or set OPTIX_ROOT_DIR environment variable to a "
-+ "directory containing the OptiX SDK.",
-+ optix_include_dir.c_str()));
- return false;
- }
- ptx_filename = compile_kernel(
---
-2.37.3
-
diff --git a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch b/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch
deleted file mode 100644
index 921b648ca388..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From https://developer.blender.org/rB74477149dddfddeca71be6770d520f870c0b5bc9
-From: Josh Whelchel <soundofjw>
-Date: Tue, 6 Sep 2022 15:39:39 +0200
-Subject: [PATCH 663/965] Fix T100845: wrong Cycles OptiX runtime compilation
- include path
-
-Causing OptiX kernel build errors on Arch Linux.
-
-Differential Revision: https://developer.blender.org/D15891
---- a/intern/cycles/device/optix/device_impl.cpp
-+++ b/intern/cycles/device/optix/device_impl.cpp
-@@ -364,7 +364,7 @@ string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features)
- string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features);
-
- /* Add OptiX SDK include directory to include paths. */
-- common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str());
-+ common_cflags += string_printf(" -I\"%s\"", get_optix_include_dir().c_str());
-
- /* Specialization for shader raytracing. */
- if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) {
---
-2.37.3
-
diff --git a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch b/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch
deleted file mode 100644
index fb3f2584f0fe..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-CMake: support building with musl libc
-
-Instead of using macros like GLIBC we can use the CMake build
-systems internal functions to check if some header or functions are
-present on the running system's libc.
-
-Add ./build_files/cmake/have_features.cmake to add checks for
-platform features which can be used to set defines for source
-files that require them.
-
-Please refer: https://github.com/blender/blender/commit/f197b1a1f1bbc0334310fb1c911327246767a1a3
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -112,6 +112,11 @@ blender_project_hack_post()
-
- enable_testing()
-
-+#-----------------------------------------------------------------------------
-+# Test compiler/library features.
-+
-+include(build_files/cmake/have_features.cmake)
-+
- #-----------------------------------------------------------------------------
- # Redirect output files
-
---- /dev/null
-+++ b/build_files/cmake/have_features.cmake
-@@ -0,0 +1,33 @@
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+# Copyright 2022 Blender Foundation. All rights reserved.
-+
-+# This file is used to test the system for headers & symbols.
-+# Variables should use the `HAVE_` prefix.
-+# Defines should use the same name as the CMAKE variable.
-+
-+include(CheckSymbolExists)
-+
-+# Used for: `intern/guardedalloc/intern/mallocn_intern.h`.
-+# Function `malloc_stats` is only available on GLIBC,
-+# so check that before defining `HAVE_MALLOC_STATS`.
-+check_symbol_exists(malloc_stats "malloc.h" HAVE_MALLOC_STATS_H)
-+
-+# Used for: `source/creator/creator_signals.c`.
-+# The function `feenableexcept` is not present non-GLIBC systems,
-+# hence we need to check if it's available in the `fenv.h` file.
-+set(HAVE_FEENABLEEXCEPT OFF)
-+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-+ check_symbol_exists(feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT)
-+endif()
-+
-+# Used for: `source/blender/blenlib/intern/system.c`.
-+# `execinfo` is not available on non-GLIBC systems (at least not on MUSL-LIBC),
-+# so check the presence of the header before including it and using the it for back-trace.
-+set(HAVE_EXECINFO_H OFF)
-+if(NOT MSVC)
-+ include(CheckIncludeFiles)
-+ check_include_files("execinfo.h" HAVE_EXECINFO_H)
-+ if(HAVE_EXECINFO_H)
-+ add_definitions(-DHAVE_EXECINFO_H)
-+ endif()
-+endif()
---- a/intern/guardedalloc/CMakeLists.txt
-+++ b/intern/guardedalloc/CMakeLists.txt
-@@ -1,6 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- # Copyright 2006 Blender Foundation. All rights reserved.
-
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- set(INC
- .
- ../atomic
---- a/intern/guardedalloc/intern/mallocn_intern.h
-+++ b/intern/guardedalloc/intern/mallocn_intern.h
-@@ -17,8 +17,7 @@
- #undef HAVE_MALLOC_STATS
- #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */
-
--#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \
-- defined(__GLIBC__)
-+#if defined(HAVE_MALLOC_STATS_H)
- # include <malloc.h>
- # define HAVE_MALLOC_STATS
- #elif defined(__FreeBSD__)
---- a/source/blender/blenlib/CMakeLists.txt
-+++ b/source/blender/blenlib/CMakeLists.txt
-@@ -1,6 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- # Copyright 2006 Blender Foundation. All rights reserved.
-
-+if(HAVE_EXECINFO_H)
-+ add_definitions(-DHAVE_EXECINFO_H)
-+endif()
-+
- set(INC
- .
- # ../blenkernel # don't add this back!
---- a/source/blender/blenlib/intern/system.c
-+++ b/source/blender/blenlib/intern/system.c
-@@ -21,7 +21,9 @@
-
- # include "BLI_winstuff.h"
- #else
--# include <execinfo.h>
-+# if defined(HAVE_EXECINFO_H)
-+# include <execinfo.h>
-+# endif
- # include <unistd.h>
- #endif
-
-@@ -61,9 +63,9 @@ int BLI_cpu_support_sse2(void)
- #if !defined(_MSC_VER)
- void BLI_system_backtrace(FILE *fp)
- {
-- /* ------------- */
-- /* Linux / Apple */
--# if defined(__linux__) || defined(__APPLE__)
-+ /* ----------------------- */
-+ /* If system as execinfo.h */
-+# if defined(HAVE_EXECINFO_H)
-
- # define SIZE 100
- void *buffer[SIZE];
---- a/source/blender/makesdna/intern/CMakeLists.txt
-+++ b/source/blender/makesdna/intern/CMakeLists.txt
-@@ -5,6 +5,11 @@
-
- add_definitions(-DWITH_DNA_GHASH)
-
-+# Needed for `mallocn.c`.
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- blender_include_dirs(
- ../../../../intern/atomic
- ../../../../intern/guardedalloc
---- a/source/blender/makesrna/intern/CMakeLists.txt
-+++ b/source/blender/makesrna/intern/CMakeLists.txt
-@@ -6,6 +6,11 @@ if(CMAKE_COMPILER_IS_GNUCC)
- string(APPEND CMAKE_C_FLAGS " -Werror=implicit-function-declaration")
- endif()
-
-+# Needed for `mallocn.c`.
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- # files rna_access.c rna_define.c makesrna.c intentionally excluded.
- set(DEFSRC
- rna_ID.c
---- a/source/creator/CMakeLists.txt
-+++ b/source/creator/CMakeLists.txt
-@@ -22,6 +22,10 @@ set(LIB
- bf_windowmanager
- )
-
-+if(HAVE_FEENABLEEXCEPT)
-+ add_definitions(-DHAVE_FEENABLEEXCEPT)
-+endif()
-+
- if(WITH_TBB)
- # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so
- # that it is initialized before MKL and static library initialization order
---- a/source/creator/creator_signals.c
-+++ b/source/creator/creator_signals.c
-@@ -258,7 +258,7 @@ void main_signal_setup_fpe(void)
- * set breakpoints on sig_handle_fpe */
- signal(SIGFPE, sig_handle_fpe);
-
--# if defined(__linux__) && defined(__GNUC__)
-+# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT)
- feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
- # endif /* defined(__linux__) && defined(__GNUC__) */
- # if defined(OSX_SSE_FPE)
diff --git a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch b/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch
deleted file mode 100644
index 3a544811e484..000000000000
--- a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/887059
-
-Adding include as suggested by the compiler:
-
-"intern/locale/boost_locale_wrapper.cpp:12:1: note: ‘std::cout’ is defined
-in header ‘<iostream>’; did you forget to ‘#include <iostream>’?"
-
---- a/intern/locale/boost_locale_wrapper.cpp
-+++ b/intern/locale/boost_locale_wrapper.cpp
-@@ -9,6 +9,7 @@
- #include <stdio.h>
-
- #include "boost_locale_wrapper.h"
-+#include <iostream>
-
- static std::string messages_path;
- static std::string default_domain;
diff --git a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch b/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch
deleted file mode 100644
index 955be2424e19..000000000000
--- a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://bugs.gentoo.org/914740
---- a/intern/cycles/util/thread.cpp
-+++ b/intern/cycles/util/thread.cpp
-@@ -6,6 +6,8 @@
- #include "util/system.h"
- #include "util/windows.h"
-
-+#include <system_error>
-+
- CCL_NAMESPACE_BEGIN
-
- thread::thread(function<void()> run_cb) : run_cb_(run_cb), joined_(false)
diff --git a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch b/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch
deleted file mode 100644
index d28db84d8c36..000000000000
--- a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Fix CMake Error: string sub-command REGEX, mode REPLACE needs at least 6 arguments total to command.
-https://bugs.gentoo.org/922324
-https://github.com/blender/blender/commit/ecd307041e4181f721bf5d2248c02ffe980edcba
---- a/build_files/cmake/macros.cmake
-+++ b/build_files/cmake/macros.cmake
-@@ -750,11 +750,11 @@ macro(remove_c_flag
- _flag)
-
- foreach(f ${ARGV})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
- endforeach()
- unset(f)
- endmacro()
-@@ -763,11 +763,11 @@ macro(remove_cxx_flag
- _flag)
-
- foreach(f ${ARGV})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
- endforeach()
- unset(f)
- endmacro() \ No newline at end of file
diff --git a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
deleted file mode 100644
index 1f1561e8e7db..000000000000
--- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Change lookup for OpenVDB-11
---- a/intern/cycles/scene/image_vdb.cpp 2023-11-23 14:42:38.772685628 +0100
-+++ b/intern/cycles/scene/image_vdb.cpp 2023-11-23 15:19:55.475804922 +0100
-@@ -11,7 +11,14 @@
- # include <openvdb/tools/Dense.h>
- #endif
- #ifdef WITH_NANOVDB
--# include <nanovdb/util/OpenToNanoVDB.h>
-+# include <nanovdb/NanoVDB.h>
-+# define NANOVDB_VERSION(major, minor, patch) (major << 21 | minor << 10 | patch)
-+# if NANOVDB_VERSION(NANOVDB_MAJOR_VERSION_NUMBER, NANOVDB_MINOR_VERSION_NUMBER, NANOVDB_PATCH_VERSION_NUMBER) >= NANOVDB_VERSION(32, 6, 0)
-+# include <nanovdb/util/CreateNanoGrid.h>
-+# else
-+# include <nanovdb/util/OpenToNanoVDB.h>
-+# endif
-+# undef NANOVDB_VERSION
- #endif
-
- CCL_NAMESPACE_BEGIN
-@@ -55,20 +62,35 @@
- FloatGridType floatgrid(*openvdb::gridConstPtrCast<GridType>(grid));
- if constexpr (std::is_same_v<FloatGridType, openvdb::FloatGrid>) {
- if (precision == 0) {
-- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-- typename FloatGridType::TreeType,
-- nanovdb::FpN>(floatgrid);
-+ if constexpr (nanovdb::Version() >= nanovdb::Version(32,6,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-+ typename FloatGridType::TreeType,
-+ nanovdb::FpN>(floatgrid);
-+ }
- return true;
- }
-- else if (precision == 16) {
-- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-- typename FloatGridType::TreeType,
-- nanovdb::Fp16>(floatgrid);
-+ if (precision == 16) {
-+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-+ typename FloatGridType::TreeType,
-+ nanovdb::Fp16>(floatgrid);
-+ }
- return true;
- }
- }
-
-- nanogrid = nanovdb::openToNanoVDB(floatgrid);
-+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB(floatgrid);
-+ }
- }
- catch (const std::exception &e) {
- VLOG_WARNING << "Error converting OpenVDB to NanoVDB grid: " << e.what();
---- a/CMakeLists.txt 2023-11-23 15:59:58.715805024 +0100
-+++ b/CMakeLists.txt 2023-11-23 16:06:42.352711508 +0100
-@@ -1461,7 +1461,7 @@
- endif()
-
- if(WITH_OPENVDB)
-- list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB)
-+ list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB -DNANOVDB_USE_OPENVDB)
-
- if(WITH_OPENVDB_3_ABI_COMPATIBLE)
- list(APPEND OPENVDB_DEFINITIONS -DOPENVDB_3_ABI_COMPATIBLE)
diff --git a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
deleted file mode 100644
index 064abf21c6a6..000000000000
--- a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-From 798a0b301e640e73ae12e6f8a36a66746893bff1 Mon Sep 17 00:00:00 2001
-From: Brecht Van Lommel <brecht@blender.org>
-Date: Sun, 10 Dec 2023 17:08:47 +0100
-Subject: [PATCH] Cycles: update OSL to work with version 1.13.5
-
-This keeps compatibility with older stable versions, but not
-older unreleased versions in the 1.13.x series.
-
-Ref #113157
-
-Pull Request: https://projects.blender.org/blender/blender/pulls/116004
----
- intern/cycles/device/cpu/device_impl.cpp | 2 +-
- .../device/cpu/kernel_thread_globals.cpp | 6 ++-
- .../cycles/device/cpu/kernel_thread_globals.h | 3 +-
- intern/cycles/kernel/device/cpu/globals.h | 1 +
- intern/cycles/kernel/osl/closures.cpp | 52 ++++++++++++++++++-
- intern/cycles/kernel/osl/globals.cpp | 3 +-
- intern/cycles/kernel/osl/globals.h | 4 +-
- intern/cycles/kernel/osl/osl.h | 5 ++
- intern/cycles/kernel/osl/services.cpp | 27 ++++++++--
- intern/cycles/kernel/osl/services.h | 21 +++++++-
- intern/cycles/kernel/osl/types.h | 4 +-
- 11 files changed, 115 insertions(+), 13 deletions(-)
-
-diff --git a/intern/cycles/device/cpu/device_impl.cpp b/intern/cycles/device/cpu/device_impl.cpp
-index cbbdb844323..ba838233855 100644
---- a/intern/cycles/device/cpu/device_impl.cpp
-+++ b/intern/cycles/device/cpu/device_impl.cpp
-@@ -313,7 +313,7 @@ void CPUDevice::get_cpu_kernel_thread_globals(
- kernel_thread_globals.clear();
- void *osl_memory = get_cpu_osl_memory();
- for (int i = 0; i < info.cpu_threads; i++) {
-- kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler);
-+ kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler, i);
- }
- }
-
-diff --git a/intern/cycles/device/cpu/kernel_thread_globals.cpp b/intern/cycles/device/cpu/kernel_thread_globals.cpp
-index 546061a5086..998a63aa334 100644
---- a/intern/cycles/device/cpu/kernel_thread_globals.cpp
-+++ b/intern/cycles/device/cpu/kernel_thread_globals.cpp
-@@ -12,14 +12,16 @@ CCL_NAMESPACE_BEGIN
-
- CPUKernelThreadGlobals::CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
- void *osl_globals_memory,
-- Profiler &cpu_profiler)
-+ Profiler &cpu_profiler,
-+ const int thread_index)
- : KernelGlobalsCPU(kernel_globals), cpu_profiler_(cpu_profiler)
- {
- clear_runtime_pointers();
-
- #ifdef WITH_OSL
-- OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory));
-+ OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory), thread_index);
- #else
-+ (void)thread_index;
- (void)osl_globals_memory;
- #endif
-
-diff --git a/intern/cycles/device/cpu/kernel_thread_globals.h b/intern/cycles/device/cpu/kernel_thread_globals.h
-index dc4b693702a..3dbc35fefa3 100644
---- a/intern/cycles/device/cpu/kernel_thread_globals.h
-+++ b/intern/cycles/device/cpu/kernel_thread_globals.h
-@@ -23,7 +23,8 @@ class CPUKernelThreadGlobals : public KernelGlobalsCPU {
- * without OSL support. Will avoid need to those unnamed pointers and casts. */
- CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
- void *osl_globals_memory,
-- Profiler &cpu_profiler);
-+ Profiler &cpu_profiler,
-+ const int thread_index);
-
- ~CPUKernelThreadGlobals();
-
-diff --git a/intern/cycles/kernel/device/cpu/globals.h b/intern/cycles/kernel/device/cpu/globals.h
-index 90a274b2bcf..d0495883e27 100644
---- a/intern/cycles/kernel/device/cpu/globals.h
-+++ b/intern/cycles/kernel/device/cpu/globals.h
-@@ -49,6 +49,7 @@ typedef struct KernelGlobalsCPU {
- OSLGlobals *osl = nullptr;
- OSLShadingSystem *osl_ss = nullptr;
- OSLThreadData *osl_tdata = nullptr;
-+ int osl_thread_index = 0;
- #endif
-
- #ifdef __PATH_GUIDING__
-diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp
-index 808e13f48d6..4a5906873af 100644
---- a/intern/cycles/kernel/osl/closures.cpp
-+++ b/intern/cycles/kernel/osl/closures.cpp
-@@ -110,7 +110,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
- if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) {
- /* background */
- if (kg->osl->background_state) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->background_state),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->background_state), *globals);
-+#endif
- }
- }
- else {
-@@ -150,8 +160,18 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
- globals->dPdy = TO_VEC3(tmp_dP.dy);
- }
-
-- /* execute bump shader */
-+/* execute bump shader */
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->bump_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->bump_state[shader]), *globals);
-+#endif
-
- /* reset state */
- sd->P = P;
-@@ -164,7 +184,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
-
- /* surface shader */
- if (kg->osl->surface_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->surface_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->surface_state[shader]), *globals);
-+#endif
- }
- }
-
-@@ -208,7 +238,17 @@ void osl_eval_nodes<SHADER_TYPE_VOLUME>(const KernelGlobalsCPU *kg,
- int shader = sd->shader & SHADER_MASK;
-
- if (kg->osl->volume_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->volume_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->volume_state[shader]), *globals);
-+#endif
- }
-
- /* flatten closure tree */
-@@ -245,7 +285,17 @@ void osl_eval_nodes<SHADER_TYPE_DISPLACEMENT>(const KernelGlobalsCPU *kg,
- int shader = sd->shader & SHADER_MASK;
-
- if (kg->osl->displacement_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->displacement_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals);
-+#endif
- }
-
- /* get back position */
-diff --git a/intern/cycles/kernel/osl/globals.cpp b/intern/cycles/kernel/osl/globals.cpp
-index c4f055af7f7..573ddb6f362 100644
---- a/intern/cycles/kernel/osl/globals.cpp
-+++ b/intern/cycles/kernel/osl/globals.cpp
-@@ -14,7 +14,7 @@
-
- CCL_NAMESPACE_BEGIN
-
--void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
-+void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals, const int thread_index)
- {
- /* no osl used? */
- if (!osl_globals->use) {
-@@ -37,6 +37,7 @@ void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
-
- kg->osl_ss = (OSLShadingSystem *)ss;
- kg->osl_tdata = tdata;
-+ kg->osl_thread_index = thread_index;
- }
-
- void OSLGlobals::thread_free(KernelGlobalsCPU *kg)
-diff --git a/intern/cycles/kernel/osl/globals.h b/intern/cycles/kernel/osl/globals.h
-index 9656ef08306..cf24c62613b 100644
---- a/intern/cycles/kernel/osl/globals.h
-+++ b/intern/cycles/kernel/osl/globals.h
-@@ -45,7 +45,9 @@ struct OSLGlobals {
- }
-
- /* per thread data */
-- static void thread_init(struct KernelGlobalsCPU *kg, OSLGlobals *osl_globals);
-+ static void thread_init(struct KernelGlobalsCPU *kg,
-+ OSLGlobals *osl_globals,
-+ const int thread_init);
- static void thread_free(struct KernelGlobalsCPU *kg);
-
- bool use;
-diff --git a/intern/cycles/kernel/osl/osl.h b/intern/cycles/kernel/osl/osl.h
-index 347b635632a..3238eb5096b 100644
---- a/intern/cycles/kernel/osl/osl.h
-+++ b/intern/cycles/kernel/osl/osl.h
-@@ -52,6 +52,11 @@ ccl_device_inline void shaderdata_to_shaderglobals(KernelGlobals kg,
-
- /* shader data to be used in services callbacks */
- globals->renderstate = sd;
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ globals->shadingStateUniform = nullptr;
-+ globals->thread_index = 0;
-+ globals->shade_index = 0;
-+#endif
-
- /* hacky, we leave it to services to fetch actual object matrix */
- globals->shader2common = sd;
-diff --git a/intern/cycles/kernel/osl/services.cpp b/intern/cycles/kernel/osl/services.cpp
-index 02dc1cd1aec..93595b0a458 100644
---- a/intern/cycles/kernel/osl/services.cpp
-+++ b/intern/cycles/kernel/osl/services.cpp
-@@ -1165,7 +1165,18 @@ bool OSLRenderServices::get_userdata(
- return false; /* disabled by lockgeom */
- }
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *opt)
-+{
-+ return get_texture_handle(to_ustring(filename), context, opt);
-+}
-+
-+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSL::ustring filename,
-+ OSL::ShadingContext *,
-+ const TextureOpt *)
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
- OSL::ShadingContext *)
- #else
-@@ -1616,7 +1627,17 @@ bool OSLRenderServices::environment(OSLUStringHash filename,
- return status;
- }
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
-+ TextureHandle *texture_handle,
-+ TexturePerthread *texture_thread_info,
-+ OSL::ShaderGlobals *,
-+ int subimage,
-+ OSLUStringHash dataname,
-+ TypeDesc datatype,
-+ void *data,
-+ OSLUStringHash *)
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
- TextureHandle *texture_handle,
- TexturePerthread *texture_thread_info,
-@@ -1627,7 +1648,7 @@ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
- void *data,
- OSLUStringHash *)
- #else
--bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *sg,
-+bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *,
- OSLUStringHash filename,
- TextureHandle *texture_handle,
- int subimage,
-diff --git a/intern/cycles/kernel/osl/services.h b/intern/cycles/kernel/osl/services.h
-index b674fa7c7a7..62d8a4c5416 100644
---- a/intern/cycles/kernel/osl/services.h
-+++ b/intern/cycles/kernel/osl/services.h
-@@ -189,7 +189,14 @@ class OSLRenderServices : public OSL::RendererServices {
- void *val,
- bool derivatives) override;
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ TextureSystem::TextureHandle *get_texture_handle(OSL::ustring filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *options) override;
-+ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *options) override;
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
- OSL::ShadingContext *context) override;
- #else
-@@ -245,7 +252,17 @@ class OSLRenderServices : public OSL::RendererServices {
- float *dresultdt,
- OSLUStringHash *errormessage) override;
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ bool get_texture_info(OSLUStringHash filename,
-+ TextureHandle *texture_handle,
-+ TexturePerthread *texture_thread_info,
-+ OSL::ShaderGlobals *sg,
-+ int subimage,
-+ OSLUStringHash dataname,
-+ TypeDesc datatype,
-+ void *data,
-+ OSLUStringHash *errormessage) override;
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- bool get_texture_info(OSLUStringHash filename,
- TextureHandle *texture_handle,
- TexturePerthread *texture_thread_info,
-diff --git a/intern/cycles/kernel/osl/types.h b/intern/cycles/kernel/osl/types.h
-index 71c808ff91b..8cb5779961a 100644
---- a/intern/cycles/kernel/osl/types.h
-+++ b/intern/cycles/kernel/osl/types.h
-@@ -86,8 +86,10 @@ struct ShaderGlobals {
- ccl_private void *tracedata;
- ccl_private void *objdata;
- void *context;
--#if OSL_LIBRARY_VERSION_CODE >= 11302
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
- void *shadingStateUniform;
-+ int thread_index;
-+ int shade_index;
- #endif
- void *renderer;
- ccl_private void *object2common;
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index e9c0f2846ae7..927ab93cc1a5 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -37,8 +37,7 @@
Build cycles renderer with AMD HIP support.
</flag>
<flag name="cycles">
- Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and
- <pkg>dev-libs/boost</pkg>).
+ Enable the Cycles raytracing render engine.
</flag>
<flag name="cycles-bin-kernels">
Precompile the cycles render kernels for the CUDA/HIP/OneAPI backends, if they are enabled, at compile time.
@@ -57,9 +56,6 @@
<flag name="fluid">
Adds fluid simulation support via the built-in Mantaflow library.
</flag>
- <flag name="headless">
- Build without graphical support (renderfarm, server mode only).
- </flag>
<flag name="nanovdb">
Enable nanoVDB support in Cycles. Uses less memory than regular openVDB when rendering.
</flag>
@@ -68,7 +64,6 @@
</flag>
<flag name="oidn">Enable OpenImageDenoiser Support</flag>
<flag name="oneapi">Build OIDN with Intel oneAPI SyCL support</flag>
- <flag name="openimageio">Enable OpenImageIO Support</flag>
<flag name="openpgl">Enable path guiding support in Cycles</flag>
<flag name="opensubdiv">
Add rendering support form OpenSubdiv from Dreamworks Animation