# 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 }