dev-ml/ollama: new package

From https://gpo.zugaina.org/dev-ml/ollama

Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
This commit is contained in:
Vitaly Zdanevich
2024-06-19 02:49:59 +04:00
parent 0852e6196b
commit 7a33665aae
3 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
#!/sbin/openrc-run
description="Ollama Service"
command="/usr/bin/ollama"
command_args="serve"
command_user="root"
command_group="users"
command_background="yes"
pidfile="/run/ollama.pid"
log="/var/log/ollama.log"
# Environment variable pointing to models location
export OLLAMA_MODELS="/usr/share/ollama/models"
# Ollama allows cross-origin requests from 127.0.0.1 and 0.0.0.0 by default.
# Additional origins can be configured with OLLAMA_ORIGINS.
# export OLLAMA_ORIGINS="<ip>"
start() {
ebegin "Starting $description"
exec >> >(logger -t "$RC_SVCNAME Start daemon" -p daemon.info)
start-stop-daemon --start --background --user "$command_user" --group "$command_group" \
--pidfile "$pidfile" --make-pidfile --exec $command $command_args -1 $log -2 $log
eend $?
}
stop() {
ebegin "Stopping $description"
exec >> >(logger -t "$RC_SVCNAME Stop daemon" -p daemon.info)
start-stop-daemon --stop --pidfile "$pidfile"
eend $?
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>zdanevich.vitaly@ya.ru</email>
<name>Vitaly Zdanevich</name>
</maintainer>
<use>
<flag name="nvidia">Add support of nvidia</flag>
<flag name="amd">Add support of amd</flag>
</use>
<upstream>
<remote-id type="github">nulloy/nulloy</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,56 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3 go-module
DESCRIPTION="Get up and running with Llama 3, Mistral, Gemma, and other language models."
HOMEPAGE="https://ollama.com"
EGIT_REPO_URI="https://github.com/ollama/ollama.git"
LICENSE="MIT"
SLOT="0"
IUSE="nvidia amd"
BDEPEND="
>=dev-lang/go-1.21.0
>=dev-build/cmake-3.24
>=sys-devel/gcc-11.4.0
nvidia? ( dev-util/nvidia-cuda-toolkit )
amd? (
sci-libs/clblast
dev-libs/rocm-opencl-runtime
)
"
DEPEND="${BDEPEND}"
pkg_pretend() {
if use amd; then
ewarn "WARNING: AMD & Nvidia support in this ebuild are experimental"
einfo "If you run into issues, especially compiling dev-libs/rocm-opencl-runtime"
einfo "you may try the docker image here https://github.com/ROCm/ROCm-docker"
einfo "and follow instructions here"
einfo "https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html"
fi
}
src_unpack() {
git-r3_src_unpack
go-module_live_vendor
}
src_compile() {
ego generate ./...
ego build .
}
src_install() {
dobin ollama
doinitd "${FILESDIR}"/ollama
}
pkg_postinst() {
chmod 0755 /etc/init.d/ollama || die
}