# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake go-module systemd DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models." HOMEPAGE="https://ollama.com" LLAMA_CPP_tag=b9840 SRC_URI=" https://github.com/ollama/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz https://github.com/gentoo-golang-dist/${PN}/releases/download/v${PV}/${P}-deps.tar.xz https://github.com/ggml-org/llama.cpp/archive/refs/tags/${LLAMA_CPP_tag}.tar.gz -> llama.cpp-${LLAMA_CPP_tag}.tar.gz " LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" RESTRICT="mirror test" DEPEND=" acct-group/ollama acct-user/ollama sci-ml/ggml " RDEPEND=" ${DEPEND} net-misc/curl:= " BDEPEND=">=dev-lang/go-1.26.0" PATCHES=( "${FILESDIR}"/${P}-ggml.patch "${FILESDIR}"/${P}-llamaDL.patch "${FILESDIR}"/${P}-cmake.patch "${FILESDIR}"/${P}-nostrip.patch ) src_prepare() { cmake_src_prepare cd .. eapply "${FILESDIR}"/${P}-gcc17.patch } src_configure() { local mycmakeargs=( -DLLAMA_USE_SYSTEM_GGML=ON ) 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_install() { cmake_src_install rm -rf "${D}"/var || die newinitd "${FILESDIR}/ollama.init" "${PN}" newconfd "${FILESDIR}/ollama.confd" "${PN}" systemd_dounit "${FILESDIR}/ollama.service" } pkg_preinst() { keepdir /var/log/ollama fperms 750 /var/log/ollama fowners "${PN}:${PN}" /var/log/ollama } pkg_postinst() { if [[ -z ${REPLACING_VERSIONS} ]] ; then einfo "Quick guide:" einfo "\tollama serve" einfo "\tollama run llama3:70b" einfo einfo "See available models at https://ollama.com/library" fi einfo einfo "Ollama binds 127.0.0.1 port 11434 by default." einfo "Change the bind address with the OLLAMA_HOST environment variable." einfo "See https://docs.ollama.com/faq for more info" einfo }