diff --git a/misc/llama-cpp/Makefile b/misc/llama-cpp/Makefile index c9edf8ce40bf..0718e5978f14 100644 --- a/misc/llama-cpp/Makefile +++ b/misc/llama-cpp/Makefile @@ -1,81 +1,81 @@ PORTNAME= llama-cpp DISTVERSIONPREFIX= b -DISTVERSION= 6795 +DISTVERSION= 6922 CATEGORIES= misc # machine-learning MAINTAINER= yuri@FreeBSD.org COMMENT= Facebook's LLaMA model in C/C++ # ' WWW= https://github.com/ggerganov/llama.cpp LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_armv7= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278810 BROKEN_i386= compilation fails, see https://github.com/ggerganov/llama.cpp/issues/9545 USES= cmake:testing compiler:c++11-lang python:run shebangfix USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= ggerganov GH_PROJECT= llama.cpp GH_TUPLE= nomic-ai:kompute:4565194:kompute/kompute SHEBANG_GLOB= *.py CMAKE_ON= BUILD_SHARED_LIBS #LLAMA_USE_SYSTEM_GGML CMAKE_OFF= GGML_NATIVE \ FREEBSD_ALLOW_ADVANCED_CPU_FEATURES \ LLAMA_BUILD_TESTS CMAKE_TESTING_ON= LLAMA_BUILD_TESTS # user for llama-server, only used when EXAMPLES=ON USER= nobody SUB_LIST= USER=${USER} OPTIONS_DEFINE= CURL EXAMPLES VULKAN OPTIONS_DEFAULT= CURL VULKAN OPTIONS_SUB= yes CURL_DESCR= Use libcurl to download model from an URL CURL_CMAKE_BOOL= LLAMA_CURL CURL_USES= localbase CURL_LIB_DEPENDS= libcurl.so:ftp/curl EXAMPLES_CMAKE_BOOL= LLAMA_BUILD_EXAMPLES VULKAN_CMAKE_BOOL= GGML_VULKAN VULKAN_BUILD_DEPENDS= glslc:graphics/shaderc \ vulkan-headers>0:graphics/vulkan-headers VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader BINARY_ALIAS= git=false \ python=${PYTHON_CMD} # for tests post-patch: # set version in the code @${REINPLACE_CMD} \ -e "s|set(BUILD_NUMBER 0)|set(BUILD_NUMBER ${DISTVERSION})|" \ ${WRKSRC}/cmake/build-info.cmake do-test-ci: # build of tests fails, see https://github.com/ggerganov/llama.cpp/issues/10955 @cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} bash ci/run.sh ./tmp/results ./tmp/mnt .include .if ${PORT_OPTIONS:MEXAMPLES} USE_RC_SUBR= llama-server .endif # tests as of 4458: 97% tests passed, 1 tests failed out of 31, see https://github.com/ggerganov/llama.cpp/issues/11036 # tests as of 4649: # 88% tests passed, 4 tests failed out of 32 # The following tests FAILED: # 18 - test-chat (Subprocess aborted) main # see https://github.com/ggerganov/llama.cpp/issues/11705 # 24 - test-gguf (SEGFAULT) main # 25 - test-backend-ops (SEGFAULT) main # 32 - test-eval-callback (SEGFAULT) curl eval-callback .include diff --git a/misc/llama-cpp/distinfo b/misc/llama-cpp/distinfo index fa0a53824637..777ad2a10756 100644 --- a/misc/llama-cpp/distinfo +++ b/misc/llama-cpp/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1760833602 -SHA256 (ggerganov-llama.cpp-b6795_GH0.tar.gz) = b037e5ecc5876e8c01c6b0a3010103b43d4883c3b1bc93fa60f09a751f256133 -SIZE (ggerganov-llama.cpp-b6795_GH0.tar.gz) = 25970813 +TIMESTAMP = 1762064711 +SHA256 (ggerganov-llama.cpp-b6922_GH0.tar.gz) = f082dd1e28b99ceafe5e60684eadde1eb0c07e0f6d4aba5a2275a4ebaff46235 +SIZE (ggerganov-llama.cpp-b6922_GH0.tar.gz) = 26136742 SHA256 (nomic-ai-kompute-4565194_GH0.tar.gz) = 95b52d2f0514c5201c7838348a9c3c9e60902ea3c6c9aa862193a212150b2bfc SIZE (nomic-ai-kompute-4565194_GH0.tar.gz) = 13540496 diff --git a/misc/llama-cpp/files/llama-server.in b/misc/llama-cpp/files/llama-server.in index f958b774a4fc..6eec15953978 100644 --- a/misc/llama-cpp/files/llama-server.in +++ b/misc/llama-cpp/files/llama-server.in @@ -1,63 +1,63 @@ #!/bin/sh # # PROVIDE: llama_server # REQUIRE: LOGIN # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable llama_server # llama_server_enable="YES" # # llama_server_enable (bool): Set to YES to enable llama_server # Default: NO # llama_server_user (str): llama_server daemon user # Default: %%USER%% # llama_server_model (str): AI model that llama-server will use # Default: "" (required) # llama_server_args (str): Additional arguments for llama-server # Default: "" (optional) # llama_server_log (str): Log file that llama-server will write log to # Default: "/var/log/llama-server.log" (optional) # llama_server_pidfile (str): Pidfile file that llama-server's pid will be written to # Default: "/var/run/llama_server.pid" (optional) . /etc/rc.subr name="llama_server" rcvar=llama_server_enable load_rc_config $name : ${llama_server_enable:="NO"} : ${llama_server_user:="%%USER%%"} : ${llama_server_model:=""} : ${llama_server_args:=""} : ${llama_server_log:="/var/log/llama-server.log"} : ${llama_server_pidfile:="/var/run/${name}.pid"} run_command="%%PREFIX%%/bin/llama-server" procname="${run_command}" pidfile=${llama_server_pidfile} command=/usr/sbin/daemon command_args="-f -t ${name} -p ${pidfile} -o ${llama_server_log} ${run_command} -m ${llama_server_model} ${llama_server_args}" start_precmd="llama_server_precmd" llama_server_chdir=/tmp llama_server_precmd() { # check model if [ -z "${llama_server_model}" ]; then echo "llama_server_model isn't set, it is required" exit 1 fi if [ ! -f "${llama_server_model}" ]; then echo "llama_server_model isn't a file" exit 1 fi # ensure that the log file exists and has right permissions - touch ${llama_server_log} - chown ${llama_server_user} ${llama_server_log} + touch ${llama_server_log} ${pidfile} + chown ${llama_server_user} ${llama_server_log} ${pidfile} chmod 640 ${llama_server_log} } run_rc_command "$1"