58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
#
|
|
EAPI=8
|
|
|
|
inherit go-module
|
|
|
|
DESCRIPTION='Get up and running with large language models.'
|
|
HOMEPAGE='https://ollama.com https://github.com/ollama/ollama'
|
|
SRC_URI="https://github.com/ollama/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
LICENSE='MIT'
|
|
SLOT='0'
|
|
KEYWORDS='~amd64 ~arm64'
|
|
IUSE='+systemd rocm'
|
|
DEPEND='dev-vcs/git acct-user/ollama acct-group/ollama'
|
|
RDEPEND='acct-user/ollama acct-group/ollama'
|
|
DOCS=( {SECURITY,CONTRIBUTING,README}.md docs )
|
|
|
|
src_compile() {
|
|
ego build -o bin/ollama \
|
|
-ldflags "-X main.version=${PV}"
|
|
}
|
|
|
|
src_install() {
|
|
dobin bin/ollama
|
|
einstalldocs
|
|
}
|
|
|
|
pkg_postinst() {
|
|
einfo 'Quick guide:'
|
|
einfo 'ollama serve'
|
|
einfo 'ollama run llama3:70b'
|
|
einfo 'See available models at https://ollama.com/library'
|
|
if use systemd; then
|
|
einfo 'Creating systemd service file...'
|
|
{
|
|
echo '[Unit]'
|
|
echo 'Description=Ollama Service'
|
|
echo 'After=network-online.target'
|
|
echo ''
|
|
echo '[Service]'
|
|
echo 'ExecStart=/opt/Ollama/bin/ollama serve'
|
|
echo 'User=ollama'
|
|
echo 'Group=ollama'
|
|
echo 'Restart=always'
|
|
echo 'RestartSec=3'
|
|
echo ''
|
|
echo '[Install]'
|
|
echo 'WantedBy=default.target'
|
|
} > /usr/lib/systemd/system/ollama.service
|
|
einfo 'Service file created at /etc/systemd/system/ollama.service'
|
|
einfo 'Making service user-startable...'
|
|
mkdir -p /etc/systemd/user
|
|
ln -s /usr/lib/systemd/system/ollama.service /etc/systemd/user/ollama.service
|
|
ln -s /usr/lib/systemd/system/ollama.service /etc/systemd/system/ollama.service
|
|
fi
|
|
}
|