summaryrefslogtreecommitdiff
path: root/sci-ml
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-15 03:04:45 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-15 03:04:45 -0500
commit2c34c3402bb20be0fbb58513da479b431ecc7320 (patch)
tree53a49676a7aa41b31db56731ff381a8dcce4d2de /sci-ml
parent22ab5437b999b26eb3960d336dd392ccab062827 (diff)
downloadbaldeagleos-repo-2c34c3402bb20be0fbb58513da479b431ecc7320.tar.gz
baldeagleos-repo-2c34c3402bb20be0fbb58513da479b431ecc7320.tar.xz
baldeagleos-repo-2c34c3402bb20be0fbb58513da479b431ecc7320.zip
Adding metadata
Diffstat (limited to 'sci-ml')
-rw-r--r--sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch11
-rw-r--r--sci-ml/ollama/files/ollama-0.31.1-nostrip.patch11
-rw-r--r--sci-ml/ollama/ollama-0.31.2-r1.ebuild73
3 files changed, 63 insertions, 32 deletions
diff --git a/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch b/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch
deleted file mode 100644
index 8720bc36c3f9..000000000000
--- a/sci-ml/ollama/files/ollama-0.31.1-llamaDL.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmake/local.cmake.old 2026-07-04 11:21:56.571755428 +0200
-+++ b/cmake/local.cmake 2026-07-04 11:22:30.948410723 +0200
-@@ -124,7 +124,7 @@
- else()
- set(OLLAMA_LLAMA_CPP_SOURCE_DIR "${CMAKE_BINARY_DIR}/_deps/llama_cpp-src")
- ExternalProject_Add(ollama-llama-cpp-source
-- GIT_REPOSITORY "https://github.com/ggml-org/llama.cpp.git"
-+ DOWNLOAD_COMMAND true
- GIT_TAG ${OLLAMA_LLAMA_CPP_GIT_TAG}
- GIT_SHALLOW TRUE
- SOURCE_DIR ${OLLAMA_LLAMA_CPP_SOURCE_DIR}
diff --git a/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch b/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch
deleted file mode 100644
index 7d73e24ea50f..000000000000
--- a/sci-ml/ollama/files/ollama-0.31.1-nostrip.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmake/local.cmake 2026-07-06 12:13:41.141873612 +0200
-+++ b/cmake/local.cmake 2026-07-06 12:13:51.589768325 +0200
-@@ -483,7 +483,7 @@
- get_filename_component(OLLAMA_GO_OUTPUT_DIR "${OLLAMA_GO_OUTPUT}" DIRECTORY)
-
- set(OLLAMA_GO_LDFLAGS
-- "-s -w -X=github.com/ollama/ollama/version.Version=${OLLAMA_VERSION} -X=github.com/ollama/ollama/server.mode=release")
-+ "-X=github.com/ollama/ollama/version.Version=${OLLAMA_VERSION} -X=github.com/ollama/ollama/server.mode=release")
- if(GO_EXECUTABLE)
- add_custom_target(ollama-go ALL
- COMMAND ${CMAKE_COMMAND} -E make_directory "${OLLAMA_GO_OUTPUT_DIR}"
diff --git a/sci-ml/ollama/ollama-0.31.2-r1.ebuild b/sci-ml/ollama/ollama-0.31.2-r1.ebuild
index 2c277da984af..04274b56f1b5 100644
--- a/sci-ml/ollama/ollama-0.31.2-r1.ebuild
+++ b/sci-ml/ollama/ollama-0.31.2-r1.ebuild
@@ -39,32 +39,85 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-0.31.1-ggml.patch
- "${FILESDIR}"/${PN}-0.31.1-llamaDL.patch
"${FILESDIR}"/${PN}-0.31.1-cmake.patch
- "${FILESDIR}"/${PN}-0.31.1-nostrip.patch
)
src_prepare() {
cmake_src_prepare
- cd ../llama.cpp-${LLAMA_CPP_tag}
- eapply "${FILESDIR}"/${PN}-0.31.1-gcc17.patch
+
+ local llama_src="${BUILD_DIR}/_deps/llama_cpp-src"
+ local llama_patch_dir="${WORKDIR}/${P}/llama/compat"
+
+ mkdir -p "${BUILD_DIR}"/_deps || die
+
+ ln -s "${WORKDIR}"/llama.cpp-${LLAMA_CPP_tag} "${llama_src}" || die
+
+ # Switch to the llama.cpp source directory
+ pushd "${llama_src}" > /dev/null || die
+ eapply "${llama_patch_dir}"/*.patch \
+ "${llama_patch_dir}"/models/*.patch \
+ "${FILESDIR}"/${PN}-0.31.1-gcc17.patch
+
+ # Remove vendored
rm -r vendor/stb || die
+ popd > /dev/null || die
}
src_configure() {
+ # Configure Embedded local Server
+ local llama_src="${BUILD_DIR}/_deps/llama_cpp-src"
local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}"
+ -DOLLAMA_RUNNER_DIR=""
+ -DFETCHCONTENT_SOURCE_DIR_LLAMA_CPP="${llama_src}"
+ -DOLLAMA_LLAMA_CPP_SKIP_COMPAT_PATCH=ON
+ -DBUILD_SHARED_LIBS=ON
-DLLAMA_USE_SYSTEM_GGML=ON
)
-
+ local CMAKE_USE_DIR="${S}/llama/server"
+ local BUILD_DIR="${BUILD_DIR}/llama-server-local"
cmake_src_configure
- rm -rf "${BUILD_DIR}"/_deps/llama_cpp-src || die
- ln -s "${WORKDIR}"/llama.cpp-${LLAMA_CPP_tag} \
- "${BUILD_DIR}"/_deps/llama_cpp-src || die
+}
+
+src_compile() {
+ local SAVE_BUILD_DIR="${BUILD_DIR}"
+
+ # Compile Embedded Local Server
+ local BUILD_DIR="${BUILD_DIR}"/llama-server-local
+ local cmake_src_compile_opts=(
+ --target llama-server
+ --target llama-quantize
+ )
+ cmake_src_compile
+
+ # Install/Stage Local Server Component
+ "${CMAKE_BINARY}" \
+ --install "${BUILD_DIR}" \
+ --prefix "${SAVE_BUILD_DIR}" \
+ --component llama-server \
+ || die "Failed to stage server component"
+
+ # Expose CGO to Go and establish compiler optimization paths
+ export CGO_ENABLED=1
+
+ # Replicate the linker flags dynamically from your ebuild version
+ local mygoldflags="-X github.com/ollama/ollama/version.Version=${PV} \
+ -X github.com/ollama/ollama/server.mode=release"
+
+ # Call the Go build engine natively with standard Gentoo flags
+ ego build \
+ -trimpath \
+ -ldflags "${mygoldflags}" \
+ -o "${BUILD_DIR}/ollama" \
+ . || die "Go build failed"
}
src_install() {
- cmake_src_install
- rm -rf "${D}"/var || die
+ dobin "${BUILD_DIR}"/llama-server-local/ollama
+ insinto usr
+ doins -r "${BUILD_DIR}"/lib
+
+ einstalldocs
newinitd "${FILESDIR}/ollama.init" "${PN}"
newconfd "${FILESDIR}/ollama.confd" "${PN}"