commit:     b21ed7f74a49938222b7dac2d9f7e1613012bcb4
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sat Apr 20 10:19:48 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 23 21:00:04 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b21ed7f7

media-gfx/blender: add 4.1.1

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/36376
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/blender/Manifest                         |  1 +
 .../{blender-9999.ebuild => blender-4.1.1.ebuild}  | 95 ++++++++++++++++------
 media-gfx/blender/blender-9999.ebuild              | 95 ++++++++++++++++------
 3 files changed, 145 insertions(+), 46 deletions(-)

diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 9fd976b345d2..d1ef07dd9e00 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -2,3 +2,4 @@ DIST blender-3.3.15.tar.xz 41928632 BLAKE2B 
d93d7d47183fcd7afa547b8d3f0bd7240ea2
 DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 
7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76
 SHA512 
63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519
 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

diff --git a/media-gfx/blender/blender-9999.ebuild 
b/media-gfx/blender/blender-4.1.1.ebuild
similarity index 85%
copy from media-gfx/blender/blender-9999.ebuild
copy to media-gfx/blender/blender-4.1.1.ebuild
index aab785d58255..94e2599fa018 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-4.1.1.ebuild
@@ -33,12 +33,13 @@ fi
 
 LICENSE="|| ( GPL-3 BL )"
 SLOT="${PV%.*}"
-IUSE="+bullet +fluid +openexr +tbb
-       alembic collada +color-management cuda +cycles cycles-bin-kernels
-       debug doc +embree +ffmpeg +fftw +gmp gnome hip 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 +webp X"
+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 +otf +pdf +potrace +pugixml pulseaudio
+       renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}
        alembic? ( openexr )
@@ -95,6 +96,7 @@ RDEPEND="${PYTHON_DEPS}
        nls? ( virtual/libiconv )
        openal? ( media-libs/openal )
        oidn? ( >=media-libs/oidn-2.1.0 )
+       oneapi? ( dev-libs/intel-compute-runtime[l0] )
        openexr? (
                >=dev-libs/imath-3.1.7:=
                >=media-libs/openexr-3.2.1:0=
@@ -102,7 +104,7 @@ RDEPEND="${PYTHON_DEPS}
        openpgl? ( media-libs/openpgl:= )
        opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
        openvdb? (
-               >=media-gfx/openvdb-11:=[nanovdb?]
+               >=media-gfx/openvdb-11.0.0:=[nanovdb?]
                dev-libs/c-blosc:=
        )
        optix? ( dev-libs/optix )
@@ -130,6 +132,18 @@ RDEPEND="${PYTHON_DEPS}
                media-libs/mesa[wayland]
                sys-apps/dbus
        )
+       vulkan? (
+               media-libs/shaderc
+               dev-util/spirv-tools
+               dev-util/glslang
+               media-libs/vulkan-loader
+       )
+       otf? (
+               media-libs/harfbuzz
+       )
+       renderdoc? (
+               media-gfx/renderdoc
+       )
        X? (
                x11-libs/libX11
                x11-libs/libXi
@@ -139,6 +153,10 @@ RDEPEND="${PYTHON_DEPS}
 
 DEPEND="${RDEPEND}
        dev-cpp/eigen:=
+       vulkan? (
+               dev-util/spirv-headers
+               dev-util/vulkan-headers
+       )
 "
 
 BDEPEND="
@@ -188,6 +206,8 @@ blender_get_version() {
 
 pkg_pretend() {
        blender_check_requirements
+
+       use oneapi && einfo "The Intel oneAPI support is rudimentary. Please 
report any bugs you find to https://bugs.gentoo.org/";
 }
 
 pkg_setup() {
@@ -235,10 +255,11 @@ src_prepare() {
                -e "s|blender.svg|blender-${BV}.svg|" \
                -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \
                -e "s|blender.desktop|blender-${BV}.desktop|" \
+               -e 
"s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \
                -i source/creator/CMakeLists.txt || die
 
        sed \
-               -e "s|Name=Blender|Name=Blender ${PV}|" \
+               -e "s|Name=Blender|Name=Blender ${BV}|" \
                -e "s|Exec=blender|Exec=blender-${BV}|" \
                -e "s|Icon=blender|Icon=blender-${BV}|" \
                -i release/freedesktop/blender.desktop || die
@@ -252,12 +273,18 @@ src_prepare() {
                release/freedesktop/icons/symbolic/apps/blender-symbolic.svg \
                
"release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
        mv release/freedesktop/blender.desktop 
"release/freedesktop/blender-${BV}.desktop" || die
+       mv release/freedesktop/org.blender.Blender.metainfo.xml 
"release/freedesktop/blender-${BV}.metainfo.xml"
+       mv release/freedesktop/org.blender.Blender.appdata.xml 
"release/freedesktop/blender-${BV}.appdata.xml"
 
        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|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/testing.cmake || die
        fi
+
+       if use vulkan; then
+               sed -e 
"s/extern_vulkan_memory_allocator/extern_vulkan_memory_allocator\nSPIRV-Tools-opt\nSPIRV-Tools\nSPIRV-Tools-link\nglslang\nSPIRV\nSPVRemapper/"
 -i source/blender/gpu/CMakeLists.txt || die
+       fi
 }
 
 src_configure() {
@@ -283,39 +310,49 @@ src_configure() {
                -DWITH_BULLET=$(usex bullet)
                -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
                -DWITH_CODEC_SNDFILE=$(usex sndfile)
-               -DWITH_CPU_CHECK=no
+
                -DWITH_CYCLES=$(usex cycles)
-               -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex 
cycles-bin-kernels))
-               -DWITH_CYCLES_DEVICE_ONEAPI=no
+
                -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
-               -DWITH_CYCLES_DEVICE_HIP=$(usex hip)
+               -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex 
cycles-bin-kernels))"
                -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
-               -DWITH_CYCLES_EMBREE=$(usex embree)
+
+               -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
                -DWITH_CYCLES_HIP_BINARIES=$(usex hip $(usex 
cycles-bin-kernels))
-               -DWITH_CYCLES_ONEAPI_BINARIES=no
+
+               -DWITH_CYCLES_DEVICE_ONEAPI="$(usex oneapi)"
+               -DWITH_CYCLES_ONEAPI_BINARIES="$(usex oneapi $(usex 
cycles-bin-kernels))"
+
+               -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra
+               -DWITH_CYCLES_EMBREE="$(usex embree)"
                -DWITH_CYCLES_OSL=$(usex osl)
                -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl)
                -DWITH_CYCLES_STANDALONE=no
                -DWITH_CYCLES_STANDALONE_GUI=no
+
                -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_DYNLOAD=no
+               -DWITH_GHOST_WAYLAND_DYNLOAD="no"
                -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
                -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_INSTALL_PORTABLE=no
+               -DWITH_HYDRA="no" # TODO: Package Hydra
                -DWITH_IMAGE_OPENEXR=$(usex openexr)
                -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
                -DWITH_IMAGE_WEBP=$(usex webp)
                -DWITH_INPUT_NDOF=$(usex ndof)
+               -DWITH_INSTALL_PORTABLE="no"
                -DWITH_INTERNATIONAL=$(usex nls)
                -DWITH_JACK=$(usex jack)
-               -DWITH_MATERIALX=no
+               -DWITH_MATERIALX="no" # TODO: Package MaterialX
                -DWITH_MEM_JEMALLOC=$(usex jemalloc)
                -DWITH_MEM_VALGRIND=$(usex valgrind)
                -DWITH_MOD_FLUID=$(usex fluid)
@@ -333,9 +370,9 @@ src_configure() {
                -DWITH_PUGIXML=$(usex pugixml)
                -DWITH_PULSEAUDIO=$(usex pulseaudio)
                -DWITH_PYTHON_INSTALL=no
-               -DWITH_DRACO=no
                -DWITH_PYTHON_INSTALL_NUMPY=no
                -DWITH_PYTHON_INSTALL_ZSTANDARD=no
+               -DWITH_RENDERDOC="$(usex renderdoc)"
                -DWITH_SDL=$(usex sdl)
                -DWITH_STATIC_LIBS=no
                -DWITH_STRICT_BUILD_OPTIONS=yes
@@ -343,19 +380,31 @@ src_configure() {
                -DWITH_SYSTEM_FREETYPE=yes
                -DWITH_SYSTEM_LZO=yes
                -DWITH_TBB=$(usex tbb)
-
-               -DWITH_USD=no
-               -DWITH_HYDRA=no
-
+               -DWITH_USD="no" # TODO: Package USD
+               -DWITH_VULKAN_BACKEND="$(usex vulkan)"
                -DWITH_XR_OPENXR=no
        )
 
+       # requires dev-vcs/git
+       if [[ ${PV} = *9999* ]] ; then
+               mycmakeargs+=( -DWITH_BUILDINFO="yes" )
+       else
+               mycmakeargs+=( -DWITH_BUILDINFO="no" )
+       fi
+
        if use cuda; then
                mycmakeargs+=(
                        -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)"
                )
        fi
 
+       if use hip; then
+               mycmakeargs+=(
+                       -DROCM_PATH="$(hipconfig -R)"
+                       -DHIP_HIPCC_FLAGS="-fcf-protection=none"
+               )
+       fi
+
        if use optix; then
                mycmakeargs+=(
                        -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
@@ -531,7 +580,7 @@ pkg_postrm() {
 
        ewarn ""
        ewarn "You may want to remove the following directory."
-       ewarn "~/.config/${PN}/${SLOT}/cache/"
+       ewarn "~/.config/${PN}/${BV}/cache/"
        ewarn "It may contain extra render kernels not tracked by portage"
        ewarn ""
 }

diff --git a/media-gfx/blender/blender-9999.ebuild 
b/media-gfx/blender/blender-9999.ebuild
index aab785d58255..94e2599fa018 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -33,12 +33,13 @@ fi
 
 LICENSE="|| ( GPL-3 BL )"
 SLOT="${PV%.*}"
-IUSE="+bullet +fluid +openexr +tbb
-       alembic collada +color-management cuda +cycles cycles-bin-kernels
-       debug doc +embree +ffmpeg +fftw +gmp gnome hip 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 +webp X"
+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 +otf +pdf +potrace +pugixml pulseaudio
+       renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}
        alembic? ( openexr )
@@ -95,6 +96,7 @@ RDEPEND="${PYTHON_DEPS}
        nls? ( virtual/libiconv )
        openal? ( media-libs/openal )
        oidn? ( >=media-libs/oidn-2.1.0 )
+       oneapi? ( dev-libs/intel-compute-runtime[l0] )
        openexr? (
                >=dev-libs/imath-3.1.7:=
                >=media-libs/openexr-3.2.1:0=
@@ -102,7 +104,7 @@ RDEPEND="${PYTHON_DEPS}
        openpgl? ( media-libs/openpgl:= )
        opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
        openvdb? (
-               >=media-gfx/openvdb-11:=[nanovdb?]
+               >=media-gfx/openvdb-11.0.0:=[nanovdb?]
                dev-libs/c-blosc:=
        )
        optix? ( dev-libs/optix )
@@ -130,6 +132,18 @@ RDEPEND="${PYTHON_DEPS}
                media-libs/mesa[wayland]
                sys-apps/dbus
        )
+       vulkan? (
+               media-libs/shaderc
+               dev-util/spirv-tools
+               dev-util/glslang
+               media-libs/vulkan-loader
+       )
+       otf? (
+               media-libs/harfbuzz
+       )
+       renderdoc? (
+               media-gfx/renderdoc
+       )
        X? (
                x11-libs/libX11
                x11-libs/libXi
@@ -139,6 +153,10 @@ RDEPEND="${PYTHON_DEPS}
 
 DEPEND="${RDEPEND}
        dev-cpp/eigen:=
+       vulkan? (
+               dev-util/spirv-headers
+               dev-util/vulkan-headers
+       )
 "
 
 BDEPEND="
@@ -188,6 +206,8 @@ blender_get_version() {
 
 pkg_pretend() {
        blender_check_requirements
+
+       use oneapi && einfo "The Intel oneAPI support is rudimentary. Please 
report any bugs you find to https://bugs.gentoo.org/";
 }
 
 pkg_setup() {
@@ -235,10 +255,11 @@ src_prepare() {
                -e "s|blender.svg|blender-${BV}.svg|" \
                -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \
                -e "s|blender.desktop|blender-${BV}.desktop|" \
+               -e 
"s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \
                -i source/creator/CMakeLists.txt || die
 
        sed \
-               -e "s|Name=Blender|Name=Blender ${PV}|" \
+               -e "s|Name=Blender|Name=Blender ${BV}|" \
                -e "s|Exec=blender|Exec=blender-${BV}|" \
                -e "s|Icon=blender|Icon=blender-${BV}|" \
                -i release/freedesktop/blender.desktop || die
@@ -252,12 +273,18 @@ src_prepare() {
                release/freedesktop/icons/symbolic/apps/blender-symbolic.svg \
                
"release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
        mv release/freedesktop/blender.desktop 
"release/freedesktop/blender-${BV}.desktop" || die
+       mv release/freedesktop/org.blender.Blender.metainfo.xml 
"release/freedesktop/blender-${BV}.metainfo.xml"
+       mv release/freedesktop/org.blender.Blender.appdata.xml 
"release/freedesktop/blender-${BV}.appdata.xml"
 
        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|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/testing.cmake || die
        fi
+
+       if use vulkan; then
+               sed -e 
"s/extern_vulkan_memory_allocator/extern_vulkan_memory_allocator\nSPIRV-Tools-opt\nSPIRV-Tools\nSPIRV-Tools-link\nglslang\nSPIRV\nSPVRemapper/"
 -i source/blender/gpu/CMakeLists.txt || die
+       fi
 }
 
 src_configure() {
@@ -283,39 +310,49 @@ src_configure() {
                -DWITH_BULLET=$(usex bullet)
                -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
                -DWITH_CODEC_SNDFILE=$(usex sndfile)
-               -DWITH_CPU_CHECK=no
+
                -DWITH_CYCLES=$(usex cycles)
-               -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex 
cycles-bin-kernels))
-               -DWITH_CYCLES_DEVICE_ONEAPI=no
+
                -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
-               -DWITH_CYCLES_DEVICE_HIP=$(usex hip)
+               -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex 
cycles-bin-kernels))"
                -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
-               -DWITH_CYCLES_EMBREE=$(usex embree)
+
+               -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
                -DWITH_CYCLES_HIP_BINARIES=$(usex hip $(usex 
cycles-bin-kernels))
-               -DWITH_CYCLES_ONEAPI_BINARIES=no
+
+               -DWITH_CYCLES_DEVICE_ONEAPI="$(usex oneapi)"
+               -DWITH_CYCLES_ONEAPI_BINARIES="$(usex oneapi $(usex 
cycles-bin-kernels))"
+
+               -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra
+               -DWITH_CYCLES_EMBREE="$(usex embree)"
                -DWITH_CYCLES_OSL=$(usex osl)
                -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl)
                -DWITH_CYCLES_STANDALONE=no
                -DWITH_CYCLES_STANDALONE_GUI=no
+
                -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_DYNLOAD=no
+               -DWITH_GHOST_WAYLAND_DYNLOAD="no"
                -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
                -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_INSTALL_PORTABLE=no
+               -DWITH_HYDRA="no" # TODO: Package Hydra
                -DWITH_IMAGE_OPENEXR=$(usex openexr)
                -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
                -DWITH_IMAGE_WEBP=$(usex webp)
                -DWITH_INPUT_NDOF=$(usex ndof)
+               -DWITH_INSTALL_PORTABLE="no"
                -DWITH_INTERNATIONAL=$(usex nls)
                -DWITH_JACK=$(usex jack)
-               -DWITH_MATERIALX=no
+               -DWITH_MATERIALX="no" # TODO: Package MaterialX
                -DWITH_MEM_JEMALLOC=$(usex jemalloc)
                -DWITH_MEM_VALGRIND=$(usex valgrind)
                -DWITH_MOD_FLUID=$(usex fluid)
@@ -333,9 +370,9 @@ src_configure() {
                -DWITH_PUGIXML=$(usex pugixml)
                -DWITH_PULSEAUDIO=$(usex pulseaudio)
                -DWITH_PYTHON_INSTALL=no
-               -DWITH_DRACO=no
                -DWITH_PYTHON_INSTALL_NUMPY=no
                -DWITH_PYTHON_INSTALL_ZSTANDARD=no
+               -DWITH_RENDERDOC="$(usex renderdoc)"
                -DWITH_SDL=$(usex sdl)
                -DWITH_STATIC_LIBS=no
                -DWITH_STRICT_BUILD_OPTIONS=yes
@@ -343,19 +380,31 @@ src_configure() {
                -DWITH_SYSTEM_FREETYPE=yes
                -DWITH_SYSTEM_LZO=yes
                -DWITH_TBB=$(usex tbb)
-
-               -DWITH_USD=no
-               -DWITH_HYDRA=no
-
+               -DWITH_USD="no" # TODO: Package USD
+               -DWITH_VULKAN_BACKEND="$(usex vulkan)"
                -DWITH_XR_OPENXR=no
        )
 
+       # requires dev-vcs/git
+       if [[ ${PV} = *9999* ]] ; then
+               mycmakeargs+=( -DWITH_BUILDINFO="yes" )
+       else
+               mycmakeargs+=( -DWITH_BUILDINFO="no" )
+       fi
+
        if use cuda; then
                mycmakeargs+=(
                        -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)"
                )
        fi
 
+       if use hip; then
+               mycmakeargs+=(
+                       -DROCM_PATH="$(hipconfig -R)"
+                       -DHIP_HIPCC_FLAGS="-fcf-protection=none"
+               )
+       fi
+
        if use optix; then
                mycmakeargs+=(
                        -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
@@ -531,7 +580,7 @@ pkg_postrm() {
 
        ewarn ""
        ewarn "You may want to remove the following directory."
-       ewarn "~/.config/${PN}/${SLOT}/cache/"
+       ewarn "~/.config/${PN}/${BV}/cache/"
        ewarn "It may contain extra render kernels not tracked by portage"
        ewarn ""
 }

Reply via email to