commit:     0b0d73823934852a8e57dfc3642b4e1951cac631
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Wed Sep  4 10:43:27 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep  5 02:11:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b0d7382

media-gfx/blender: fix 935403, 936104, 936603

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

 media-gfx/blender/blender-4.1.1-r2.ebuild          | 23 ++++++++++---
 media-gfx/blender/blender-4.2.1.ebuild             | 23 ++++++++++---
 media-gfx/blender/blender-9999.ebuild              | 23 ++++++++++---
 .../blender/files/blender-4.1.1-FindLLVM.patch     | 38 ++++++++++++++++++++++
 media-gfx/blender/files/blender-4.1.1-numpy.patch  | 26 +++++++++++++++
 5 files changed, 121 insertions(+), 12 deletions(-)

diff --git a/media-gfx/blender/blender-4.1.1-r2.ebuild 
b/media-gfx/blender/blender-4.1.1-r2.ebuild
index 949e78360f96..b39222330cbf 100644
--- a/media-gfx/blender/blender-4.1.1-r2.ebuild
+++ b/media-gfx/blender/blender-4.1.1-r2.ebuild
@@ -4,8 +4,9 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{11..12} )
-# matches media-libs/osl
+# 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
 
@@ -102,7 +103,7 @@ 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.7:=
@@ -186,6 +187,8 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
        "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
+       "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+       "${FILESDIR}/${PN}-4.1.1-numpy.patch"
 )
 
 blender_check_requirements() {
@@ -343,9 +346,7 @@ src_configure() {
                -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_LIBDECOR="$(usex gnome)"
                -DWITH_GHOST_X11=$(usex X)
                -DWITH_GMP=$(usex gmp)
                -DWITH_GTESTS=$(usex test)
@@ -393,6 +394,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" )
@@ -420,6 +428,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
 

diff --git a/media-gfx/blender/blender-4.2.1.ebuild 
b/media-gfx/blender/blender-4.2.1.ebuild
index 59269e65e9da..88bb85849015 100644
--- a/media-gfx/blender/blender-4.2.1.ebuild
+++ b/media-gfx/blender/blender-4.2.1.ebuild
@@ -4,8 +4,9 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{11..12} )
-# matches media-libs/osl
+# 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
 
@@ -101,7 +102,7 @@ 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.7:=
@@ -185,6 +186,8 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
        "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
+       "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+       "${FILESDIR}/${PN}-4.1.1-numpy.patch"
 )
 
 blender_check_requirements() {
@@ -340,9 +343,7 @@ src_configure() {
                -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_LIBDECOR="$(usex gnome)"
                -DWITH_GHOST_X11=$(usex X)
                -DWITH_GMP=$(usex gmp)
                -DWITH_GTESTS=$(usex test)
@@ -390,6 +391,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" )
@@ -417,6 +425,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
 

diff --git a/media-gfx/blender/blender-9999.ebuild 
b/media-gfx/blender/blender-9999.ebuild
index 59269e65e9da..88bb85849015 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -4,8 +4,9 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{11..12} )
-# matches media-libs/osl
+# 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
 
@@ -101,7 +102,7 @@ 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.7:=
@@ -185,6 +186,8 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
        "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
+       "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+       "${FILESDIR}/${PN}-4.1.1-numpy.patch"
 )
 
 blender_check_requirements() {
@@ -340,9 +343,7 @@ src_configure() {
                -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_LIBDECOR="$(usex gnome)"
                -DWITH_GHOST_X11=$(usex X)
                -DWITH_GMP=$(usex gmp)
                -DWITH_GTESTS=$(usex test)
@@ -390,6 +391,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" )
@@ -417,6 +425,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
 

diff --git a/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch 
b/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch
new file mode 100644
index 000000000000..e8e1c349b956
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.1.1-FindLLVM.patch
@@ -0,0 +1,38 @@
+From: =?UTF-8?q?Jannik=20Gl=C3=BCckert?= <[email protected]>
+Date: Fri, 23 Aug 2024 13:17:34 +0200
+Subject: [PATCH] fix FindLLVM lookup
+
+find out our installed libnames and use that in the lookup
+
+Signed-off-by: Paul Zander <[email protected]>
+
+diff --git build_files/cmake/Modules/FindLLVM.cmake 
build_files/cmake/Modules/FindLLVM.cmake
+index 4c7cc5f..21c760e 100644
+--- a/build_files/cmake/Modules/FindLLVM.cmake
++++ b/build_files/cmake/Modules/FindLLVM.cmake
+@@ -54,16 +54,21 @@ if(NOT LLVM_LIBPATH)
+   set(LLVM_LIBPATH ${LLVM_LIBPATH} CACHE PATH "Path to the LLVM library path")
+   mark_as_advanced(LLVM_LIBPATH)
+ endif()
++if(NOT LLVM_LIBNAMES)
++  execute_process(COMMAND ${LLVM_CONFIG} --libnames
++        OUTPUT_VARIABLE LLVM_LIBNAMES
++          OUTPUT_STRIP_TRAILING_WHITESPACE)
++  set(LLVM_LIBNAMES ${LLVM_LIBNAMES} CACHE PATH "Name of the LLVM libraries")
++  mark_as_advanced(LLVM_LIBNAMES)
++endif()
+ 
+ if(LLVM_STATIC)
+   find_library(LLVM_LIBRARY
+-               NAMES LLVMAnalysis # first of a whole bunch of libs to get
++               NAMES ${LLVM_LIBNAMES}
+                PATHS ${LLVM_LIBPATH})
+ else()
+   find_library(LLVM_LIBRARY
+-               NAMES
+-                 LLVM-${LLVM_VERSION}
+-                 LLVMAnalysis  # check for the static library as a fall-back
++               NAMES ${LLVM_LIBNAMES}
+                PATHS ${LLVM_LIBPATH})
+ endif()
+ 

diff --git a/media-gfx/blender/files/blender-4.1.1-numpy.patch 
b/media-gfx/blender/files/blender-4.1.1-numpy.patch
new file mode 100644
index 000000000000..bd76da8b5959
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.1.1-numpy.patch
@@ -0,0 +1,26 @@
+From: Paul Zander <[email protected]>
+Date: Fri, 23 Aug 2024 13:19:21 +0200
+Subject: [PATCH] fix numpy lookup
+
+use cmake config for find_package()
+
+Signed-off-by: Paul Zander <[email protected]>
+
+--- a/build_files/cmake/platform/platform_unix.cmake
++++ b/build_files/cmake/platform/platform_unix.cmake
+@@ -463,13 +463,13 @@ if(WITH_BOOST)
+     endif()
+     list(APPEND __boost_packages system)
+     set(Boost_NO_WARN_NEW_VERSIONS ON)
+-    find_package(Boost 1.48 COMPONENTS ${__boost_packages})
++    find_package(Boost 1.48 CONFIG COMPONENTS ${__boost_packages})
+     if(NOT Boost_FOUND)
+       # try to find non-multithreaded if -mt not found, this flag
+       # doesn't matter for us, it has nothing to do with thread
+       # safety, but keep it to not disturb build setups
+       set(Boost_USE_MULTITHREADED OFF)
+-      find_package(Boost 1.48 COMPONENTS ${__boost_packages})
++      find_package(Boost 1.48 CONFIG COMPONENTS ${__boost_packages})
+     endif()
+     unset(__boost_packages)
+     if(Boost_USE_STATIC_LIBS AND WITH_BOOST_ICU)

Reply via email to