mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 23:52:59 -04:00
app-misc/ollama: move from dev-ml to app-misc
Could be moved into a new category together with other end user programs related to machine learning in the future. Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
This commit is contained in:
30
app-misc/ollama/files/ollama
Normal file
30
app-misc/ollama/files/ollama
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
description="Ollama Service"
|
||||
command="/usr/bin/ollama"
|
||||
command_args="serve"
|
||||
command_user="ollama"
|
||||
command_group="ollama"
|
||||
command_background="yes"
|
||||
pidfile="/run/ollama.pid"
|
||||
log="/var/log/ollama.log"
|
||||
|
||||
# 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 $?
|
||||
}
|
||||
|
||||
16
app-misc/ollama/metadata.xml
Normal file
16
app-misc/ollama/metadata.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?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>
|
||||
<description>A copy from https://github.com/MrPenguin07/ebuilds/tree/master/dev-ml/ollama</description>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="nvidia">Add support of nvidia</flag>
|
||||
<flag name="amd">Add support of amd</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">ollama/ollama</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
74
app-misc/ollama/ollama-9999.ebuild
Normal file
74
app-misc/ollama/ollama-9999.ebuild
Normal file
@@ -0,0 +1,74 @@
|
||||
# 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"
|
||||
|
||||
RDEPEND="
|
||||
acct-group/ollama
|
||||
acct-user/ollama
|
||||
"
|
||||
IDEPEND="${RDEPEND}"
|
||||
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
|
||||
)
|
||||
"
|
||||
|
||||
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() {
|
||||
VERSION=$(
|
||||
git describe --tags --first-parent --abbrev=7 --long --dirty --always \
|
||||
| sed -e "s/^v//g"
|
||||
assert
|
||||
)
|
||||
export GOFLAGS="'-ldflags=-w -s \"-X=github.com/ollama/ollama/version.Version=${VERSION}\"'"
|
||||
|
||||
ego generate ./...
|
||||
ego build .
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ollama
|
||||
doinitd "${FILESDIR}"/ollama
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
touch /var/log/ollama.log || die
|
||||
fowners ollama:ollama /var/log/ollama.log
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Quick guide:"
|
||||
einfo "ollama serve"
|
||||
einfo "ollama run llama3:70b"
|
||||
einfo "See available models at https://ollama.com/library"
|
||||
}
|
||||
Reference in New Issue
Block a user