commit:     d9fc86cb9de6dfb7ef33fcf5d3116ea30dce5fea
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sat Feb 21 20:11:15 2026 +0000
Commit:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
CommitDate: Thu Mar  5 22:23:47 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d9fc86cb

sci-ml/ollama: 9999 add patch to make bundling runtime deps optional

Ollama insists on copying libs from the build system into it's own install dir.
We do not want that as it's ensured by the package manager. So make it optional.

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>

 ...999-make-installing-runtime-deps-optional.patch | 134 +++++++++++++++++++++
 sci-ml/ollama/ollama-9999.ebuild                   |   6 +-
 2 files changed, 137 insertions(+), 3 deletions(-)

diff --git 
a/sci-ml/ollama/files/ollama-9999-make-installing-runtime-deps-optional.patch 
b/sci-ml/ollama/files/ollama-9999-make-installing-runtime-deps-optional.patch
new file mode 100644
index 0000000000..b290d11650
--- /dev/null
+++ 
b/sci-ml/ollama/files/ollama-9999-make-installing-runtime-deps-optional.patch
@@ -0,0 +1,134 @@
+From 7367444df7e44434569708b13ddf26b159e3ba50 Mon Sep 17 00:00:00 2001
+From: Paul Zander <[email protected]>
+Date: Tue, 17 Feb 2026 12:52:29 +0100
+Subject: [PATCH] make installing runtime deps optional
+
+Signed-off-by: Paul Zander <[email protected]>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7d53531b..ce7376d8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -78,6 +78,8 @@ set(GGML_VERSION_MINOR 0)
+ set(GGML_VERSION_PATCH 0)
+ set(GGML_VERSION 
"${GGML_VERSION_MAJOR}.${GGML_VERSION_MINOR}.${GGML_VERSION_PATCH}")
+ 
++option(OLLAMA_INSTALL_RUNTIME_DEPS "Install the dependencies of library as 
well" ON)
++
+ set(GGML_CPU ON)
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src)
+ set_property(TARGET ggml PROPERTY EXCLUDE_FROM_ALL TRUE)
+@@ -88,12 +90,17 @@ if(NOT CPU_VARIANTS)
+ endif()
+ 
+ install(TARGETS ggml-base ${CPU_VARIANTS}
+-    RUNTIME_DEPENDENCIES
+-        PRE_EXCLUDE_REGEXES ".*"
+-    RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
++    RUNTIME_DEPENDENCY_SET base
+     LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
+     FRAMEWORK DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
+ )
++if(OLLAMA_INSTALL_RUNTIME_DEPS)
++install(RUNTIME_DEPENDENCY_SET base
++    PRE_EXCLUDE_REGEXES ".*"
++    RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
++    LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CPU
++)
++endif()
+ 
+ check_language(CUDA)
+ if(CMAKE_CUDA_COMPILER)
+@@ -104,13 +111,18 @@ if(CMAKE_CUDA_COMPILER)
+     find_package(CUDAToolkit)
+     
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-cuda)
+     install(TARGETS ggml-cuda
+-        RUNTIME_DEPENDENCIES
+-            DIRECTORIES ${CUDAToolkit_BIN_DIR} ${CUDAToolkit_BIN_DIR}/x64 
${CUDAToolkit_LIBRARY_DIR}
+-            PRE_INCLUDE_REGEXES cublas cublasLt cudart
+-            PRE_EXCLUDE_REGEXES ".*"
++        RUNTIME_DEPENDENCY_SET cuda
++        LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
++    )
++    if(OLLAMA_INSTALL_RUNTIME_DEPS)
++    install(RUNTIME_DEPENDENCY_SET cuda
++        DIRECTORIES ${CUDAToolkit_BIN_DIR} ${CUDAToolkit_BIN_DIR}/x64 
${CUDAToolkit_LIBRARY_DIR}
++        PRE_INCLUDE_REGEXES cublas cublasLt cudart
++        PRE_EXCLUDE_REGEXES ".*"
+         RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
+         LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT CUDA
+     )
++    endif()
+ endif()
+ 
+ set(WINDOWS_AMDGPU_TARGETS_EXCLUDE_REGEX "^gfx(908|90a|1200|1201):xnack[+-]$"
+@@ -143,9 +155,9 @@ if(CMAKE_HIP_COMPILER)
+ 
+         install(TARGETS ggml-hip
+             RUNTIME_DEPENDENCY_SET rocm
+-            RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
+             LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT HIP
+         )
++        if(OLLAMA_INSTALL_RUNTIME_DEPS)
+         install(RUNTIME_DEPENDENCY_SET rocm
+                 DIRECTORIES ${HIP_BIN_INSTALL_DIR} ${HIP_LIB_INSTALL_DIR}
+                 PRE_INCLUDE_REGEXES hipblas rocblas amdhip64 rocsolver 
amd_comgr hsa-runtime64 rocsparse tinfo rocprofiler-register drm drm_amdgpu 
numa elf
+@@ -161,6 +173,7 @@ if(CMAKE_HIP_COMPILER)
+                 break()
+             endif()
+         endforeach()
++        endif()
+     endif()
+ endif()
+ 
+@@ -169,12 +182,17 @@ if(NOT APPLE)
+     if(Vulkan_FOUND)
+         
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-vulkan)
+         install(TARGETS ggml-vulkan
+-            RUNTIME_DEPENDENCIES
+-                PRE_INCLUDE_REGEXES vulkan
+-                PRE_EXCLUDE_REGEXES ".*"
++            RUNTIME_DEPENDENCY_SET vulkan
++            LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT Vulkan
++        )
++        if(OLLAMA_INSTALL_RUNTIME_DEPS)
++        install(RUNTIME_DEPENDENCY_SET vulkan
++            PRE_INCLUDE_REGEXES vulkan
++            PRE_EXCLUDE_REGEXES ".*"
+             RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT Vulkan
+             LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT Vulkan
+         )
++        endif()
+     endif()
+ endif()
+ 
+@@ -188,15 +206,21 @@ if(MLX_ENGINE)
+     find_package(CUDAToolkit)
+ 
+     install(TARGETS mlx mlxc
+-        RUNTIME_DEPENDENCIES
+-            DIRECTORIES ${CUDAToolkit_BIN_DIR} ${CUDAToolkit_BIN_DIR}/x64 
${CUDAToolkit_LIBRARY_DIR}
+-            PRE_INCLUDE_REGEXES cublas cublasLt cudart nvrtc nvrtc-builtins 
cudnn nccl openblas gfortran
+-            PRE_EXCLUDE_REGEXES ".*"
+-        RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
++        RUNTIME_DEPENDENCY_SET mlx
+         LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
+         FRAMEWORK DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
+     )
+ 
++    if(OLLAMA_INSTALL_RUNTIME_DEPS)
++    install(RUNTIME_DEPENDENCY_SET mlx
++        DIRECTORIES ${CUDAToolkit_BIN_DIR} ${CUDAToolkit_BIN_DIR}/x64 
${CUDAToolkit_LIBRARY_DIR}
++        PRE_INCLUDE_REGEXES cublas cublasLt cudart nvrtc nvrtc-builtins cudnn 
nccl openblas gfortran
++        PRE_EXCLUDE_REGEXES ".*"
++        RUNTIME DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
++        LIBRARY DESTINATION ${OLLAMA_INSTALL_DIR} COMPONENT MLX
++    )
++    endif()
++
+     # Install the Metal library for macOS arm64 (must be colocated with the 
binary)
+     # Metal backend is only built for arm64, not x86_64
+     if(APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
+-- 
+2.53.0
+

diff --git a/sci-ml/ollama/ollama-9999.ebuild b/sci-ml/ollama/ollama-9999.ebuild
index e79e977ae2..e313bce354 100644
--- a/sci-ml/ollama/ollama-9999.ebuild
+++ b/sci-ml/ollama/ollama-9999.ebuild
@@ -105,6 +105,7 @@ RDEPEND="
 
 PATCHES=(
        "${FILESDIR}/${PN}-9999-use-GNUInstallDirs.patch"
+       "${FILESDIR}/${PN}-9999-make-installing-runtime-deps-optional.patch"
 )
 
 pkg_pretend() {
@@ -158,9 +159,7 @@ src_prepare() {
 
        sed \
                -e "/set(GGML_CCACHE/s/ON/OFF/g" \
-               -e "/PRE_INCLUDE_REGEXES.*cu/d" \
-               -e "/PRE_INCLUDE_REGEXES.*hip/d" \
-               -i CMakeLists.txt || die "bundle headers sed failed"
+               -i CMakeLists.txt || die "Disable CCACHE sed failed"
 
        # TODO see src_unpack?
        sed \
@@ -254,6 +253,7 @@ src_prepare() {
 
 src_configure() {
        local mycmakeargs=(
+               -DOLLAMA_INSTALL_RUNTIME_DEPS="no"
                -DGGML_CCACHE="no"
 
                # backends end up in /usr/bin otherwise

Reply via email to