1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00
freebsd-ports/misc/ollama/Makefile
Ashish SHUKLA 79271d5381
all: Bump after lang/go122 update
PR:		281842
2024-11-08 20:58:46 +00:00

60 lines
1.9 KiB
Makefile

PORTNAME= ollama
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.6
PORTREVISION= 2
CATEGORIES= misc # machine-learning
MAINTAINER= yuri@FreeBSD.org
COMMENT= Run Llama 2, Mistral, and other large language models
WWW= https://ollama.com/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= bundled patched llama-cpp is placed into the arch-specific path
BUILD_DEPENDS= bash:shells/bash \
cmake:devel/cmake-core \
glslc:graphics/shaderc \
vulkan-headers>0:graphics/vulkan-headers
LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
USES= go:1.22,modules pkgconfig
CONFLICTS_BUILD= llama-cpp
GO_MODULE= github.com/${PORTNAME}/${PORTNAME}
GO_TARGET= .
USE_GITHUB= nodefault
GH_TUPLE= ggerganov:llama.cpp:1e6f6554aa11fa10160a5fda689e736c3c34169f:llama_cpp/llm/llama.cpp \
blabber:go-freebsd-sysctl:503969f:go_sysctl/vendor.x/github.com/blabber/go-freebsd-sysctl
MAKE_ENV= PATH=${PATH}:${WRKSRC}/llm/build/bsd/x86_64_static/bin # workaround to find vulkan-shaders-gen
PLIST_FILES= bin/${PORTNAME} \
bin/ollama-limit-gpu-layers
post-patch: # workaround for https://github.com/ollama/ollama/issues/6259 (use of extenral libllama.so)
@${REINPLACE_CMD} \
-e '\
s| llama | llama ${LOCALBASE}/lib/libvulkan.so omp pthread |; \
s| llama | ${WRKSRC}/llm/build/bsd/x86_64_static/src/libllama.a |; \
s| ggml | ${WRKSRC}/llm/build/bsd/x86_64_static/ggml/src/libggml.a |; \
' \
${WRKSRC}/llm/ext_server/CMakeLists.txt
# move vendor.x to vendor
@(cd ${WRKSRC}/vendor.x && ${TAR} cf - .) | (cd ${WRKSRC}/vendor && ${TAR} xf -)
pre-build:
@${CP} ${WRKSRC}/app/store/store_linux.go ${WRKSRC}/app/store/store_bsd.go
@cd ${GO_WRKSRC} && \
${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off ${GO_CMD} generate ${GO_BUILDFLAGS} \
./...
post-install: # pending https://github.com/ollama/ollama/issues/6407
${INSTALL_SCRIPT} ${FILESDIR}/ollama-limit-gpu-layers ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>