diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index f16103382494..0bffd4684ca2 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -157,6 +157,9 @@ goBuild { # this also disables necessary patches contained in `ollama/llm/patches/` # those patches are applied in `postPatch` ./disable-git.patch + + # we provide our own deps at runtime + ./skip-rocm-cp.patch ]; postPatch = '' diff --git a/pkgs/by-name/ol/ollama/skip-rocm-cp.patch b/pkgs/by-name/ol/ollama/skip-rocm-cp.patch new file mode 100644 index 000000000000..672b3f24b497 --- /dev/null +++ b/pkgs/by-name/ol/ollama/skip-rocm-cp.patch @@ -0,0 +1,14 @@ +diff --git a/llm/generate/gen_linux.sh b/llm/generate/gen_linux.sh +index 48d08fd0..e50f7b36 100755 +--- a/llm/generate/gen_linux.sh ++++ b/llm/generate/gen_linux.sh +@@ -284,9 +284,6 @@ if [ -z "${OLLAMA_SKIP_ROCM_GENERATE}" -a -d "${ROCM_PATH}" ]; then + mkdir -p "${ROCM_DIST_DIR}" + for dep in $(ldd "${BUILD_DIR}/bin/ollama_llama_server" | grep "=>" | cut -f2 -d= | cut -f2 -d' ' | grep -v "${GOARCH}/rocm${ROCM_VARIANT}" | grep -e rocm -e amdgpu -e libtinfo -e libnuma -e libelf ); do + cp -a "${dep}"* "${ROCM_DIST_DIR}" +- if [ $(readlink -f "${dep}") != "${dep}" ] ; then +- cp $(readlink -f "${dep}") "${ROCM_DIST_DIR}" +- fi + done + install + dist