Date: Thu, 04 Jun 2026 08:42:17 +0000 From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 5d6220269250 - main - misc/ollama: update 0.30.=?utf-8?Q?0 =E2=86=92 0.?=30.4 Message-ID: <6a213a69.3dca8.5061b46f@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=5d6220269250fa28f2f9af1398c50485650df931 commit 5d6220269250fa28f2f9af1398c50485650df931 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2026-06-04 06:43:14 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2026-06-04 08:41:59 +0000 misc/ollama: update 0.30.0 → 0.30.4 --- misc/ollama/Makefile | 10 +- misc/ollama/distinfo | 26 ++--- misc/ollama/files/llm_freebsd.go | 5 + misc/ollama/files/patch-discover_cpu__freebsd.go | 136 ++++++++++++----------- misc/ollama/files/update-port.sh | 4 +- 5 files changed, 98 insertions(+), 83 deletions(-) diff --git a/misc/ollama/Makefile b/misc/ollama/Makefile index 5f6d6beb902d..f5233c2a4630 100644 --- a/misc/ollama/Makefile +++ b/misc/ollama/Makefile @@ -1,7 +1,6 @@ PORTNAME= ollama DISTVERSIONPREFIX= v -DISTVERSION= 0.30.0 -PORTREVISION= 1 +DISTVERSION= 0.30.4 CATEGORIES= misc # machine-learning MAINTAINER= yuri@FreeBSD.org @@ -28,7 +27,7 @@ GO_MODULE= github.com/yurivict/${PORTNAME} # fork with FreeBSD patches GO_TARGET= . GO_ENV+= CGO_CXXFLAGS="${CXXFLAGS}" -LLAMA_CPP_VERSION= b9452 +LLAMA_CPP_VERSION= b9493 GGML_SO_VERSION= 0.13.1 # tied to LLAMA_CPP_VERSION; update when llama.cpp changes MLX_CORE_VERSION= 0.31.2 MLX_C_VERSION= fba4470b89073180056c9ea46c443051375f7399 @@ -121,6 +120,11 @@ post-patch: # Apply llama.cpp compat hooks patch so the llama-server build has Ollama hooks @${PATCH} -d ${WRKDIR}/llama.cpp-${LLAMA_CPP_VERSION} -p1 \ < ${WRKSRC}/llama/compat/llama-cpp-hooks.patch + # Apply llama.cpp laguna model patch (adds llama_model_laguna class) + @${PATCH} -d ${WRKDIR}/llama.cpp-${LLAMA_CPP_VERSION} -p1 \ + < ${WRKSRC}/llama/compat/models/llama-cpp-laguna.patch + # FreeBSD: copy llm/llm_freebsd.go for LlamaServerSysProcAttr + @${CP} ${FILESDIR}/llm_freebsd.go ${WRKSRC}/llm/ # update version in version.go @${REINPLACE_CMD} -e 's|var Version string = "0.0.0"|var Version string = "${PORTVERSION}"|g' \ ${WRKSRC}/version/version.go diff --git a/misc/ollama/distinfo b/misc/ollama/distinfo index 8168065c92e3..3a35ffbe81cc 100644 --- a/misc/ollama/distinfo +++ b/misc/ollama/distinfo @@ -1,13 +1,13 @@ -TIMESTAMP = 1780435135 -SHA256 (go/misc_ollama/ollama-v0.30.0/b9452.tar.gz) = 43830a2cb08975d732e3538fa2130105dd528cf929387cc82b2526acdf4c689b -SIZE (go/misc_ollama/ollama-v0.30.0/b9452.tar.gz) = 33997105 -SHA256 (go/misc_ollama/ollama-v0.30.0/v0.31.2.tar.gz) = bdb9b619f80962dd00c0bffb65e59c53f565c2b550f189a1467f8bc6089401ab -SIZE (go/misc_ollama/ollama-v0.30.0/v0.31.2.tar.gz) = 4251596 -SHA256 (go/misc_ollama/ollama-v0.30.0/fba4470b89073180056c9ea46c443051375f7399.tar.gz) = 398d3d4c6458679dfc9061a3ba56101358279790bc038f60d1f534eac420d552 -SIZE (go/misc_ollama/ollama-v0.30.0/fba4470b89073180056c9ea46c443051375f7399.tar.gz) = 174039 -SHA256 (go/misc_ollama/ollama-v0.30.0/json.tar.xz) = d6c65aca6b1ed68e7a182f4757257b107ae403032760ed6ef121c9d55e81757d -SIZE (go/misc_ollama/ollama-v0.30.0/json.tar.xz) = 110988 -SHA256 (go/misc_ollama/ollama-v0.30.0/v0.30.0.mod) = 1ae536080fb858f852587eb80ce6444999da8700d05736083d4a5d689ce25861 -SIZE (go/misc_ollama/ollama-v0.30.0/v0.30.0.mod) = 4735 -SHA256 (go/misc_ollama/ollama-v0.30.0/v0.30.0.zip) = dda68a74098bb98351bc02ba5a2d9945dc5947de2becf73acf7975a4c4542156 -SIZE (go/misc_ollama/ollama-v0.30.0/v0.30.0.zip) = 28395257 +TIMESTAMP = 1780542796 +SHA256 (go/misc_ollama/ollama-v0.30.4/b9493.tar.gz) = d8992bab7a2b6f73132c5edc332b3cd3d0b49ea9b3c85cede4c55f7439f422ff +SIZE (go/misc_ollama/ollama-v0.30.4/b9493.tar.gz) = 34051227 +SHA256 (go/misc_ollama/ollama-v0.30.4/v0.31.2.tar.gz) = bdb9b619f80962dd00c0bffb65e59c53f565c2b550f189a1467f8bc6089401ab +SIZE (go/misc_ollama/ollama-v0.30.4/v0.31.2.tar.gz) = 4251596 +SHA256 (go/misc_ollama/ollama-v0.30.4/fba4470b89073180056c9ea46c443051375f7399.tar.gz) = 398d3d4c6458679dfc9061a3ba56101358279790bc038f60d1f534eac420d552 +SIZE (go/misc_ollama/ollama-v0.30.4/fba4470b89073180056c9ea46c443051375f7399.tar.gz) = 174039 +SHA256 (go/misc_ollama/ollama-v0.30.4/json.tar.xz) = d6c65aca6b1ed68e7a182f4757257b107ae403032760ed6ef121c9d55e81757d +SIZE (go/misc_ollama/ollama-v0.30.4/json.tar.xz) = 110988 +SHA256 (go/misc_ollama/ollama-v0.30.4/v0.30.4.mod) = 8af0b8b8e4961b46dfef05b055207b1ab7e7831368c1704a5a5bfb4626d6895d +SIZE (go/misc_ollama/ollama-v0.30.4/v0.30.4.mod) = 4650 +SHA256 (go/misc_ollama/ollama-v0.30.4/v0.30.4.zip) = 7a18320a92212be01a378408733313d8949292cb80d0b2131f34c12fd4fbb52d +SIZE (go/misc_ollama/ollama-v0.30.4/v0.30.4.zip) = 28422656 diff --git a/misc/ollama/files/llm_freebsd.go b/misc/ollama/files/llm_freebsd.go new file mode 100644 index 000000000000..de3c5bdf479c --- /dev/null +++ b/misc/ollama/files/llm_freebsd.go @@ -0,0 +1,5 @@ +package llm + +import "syscall" + +var LlamaServerSysProcAttr = &syscall.SysProcAttr{} diff --git a/misc/ollama/files/patch-discover_cpu__freebsd.go b/misc/ollama/files/patch-discover_cpu__freebsd.go index d898b22e0538..5726f0068a5d 100644 --- a/misc/ollama/files/patch-discover_cpu__freebsd.go +++ b/misc/ollama/files/patch-discover_cpu__freebsd.go @@ -1,69 +1,75 @@ -- Remove GetCPUDetails() which references an undefined CPU struct type, and -- the unused "strings" import. GetCPUDetails() is not called anywhere in the -- codebase and the CPU type does not exist in 0.30.0. ---- discover/cpu_freebsd.go.orig 2026-06-02 21:48:58 UTC +--- discover/cpu_freebsd.go.orig 2026-06-04 02:55:00 UTC +++ discover/cpu_freebsd.go -@@ -9,7 +9,6 @@ import ( - - import ( - "log/slog" -- "strings" - "syscall" - "unsafe" - ) -@@ -68,55 +67,3 @@ func GetCPUMem() (memInfo, error) { - return mem, nil - } - --func GetCPUDetails() []CPU { -- var cpus []CPU -- -- // Get CPU model name - this is a string -- modelName, err := syscall.Sysctl("hw.model") -- if err != nil { -- slog.Warn("failed to get CPU model", "error", err) -- modelName = "Unknown" -- } -- -- // Get number of physical cores - this is a 32-bit integer -- cores32, err := syscall.SysctlUint32("kern.smp.cores") -- if err != nil { -- slog.Warn("failed to get CPU cores", "error", err) -- return nil -- } -- cores := int(cores32) -- -- // Get number of logical CPUs (threads) - this is a 32-bit integer -- threads32, err := syscall.SysctlUint32("hw.ncpu") -- if err != nil { -- slog.Warn("failed to get CPU threads", "error", err) -- return nil -- } -- threads := int(threads32) -- -- // Extract vendor ID from model name if possible -- vendorID := "" -- modelNameLower := strings.ToLower(modelName) -- if strings.Contains(modelNameLower, "intel") { -- vendorID = "GenuineIntel" -- } else if strings.Contains(modelNameLower, "amd") { -- vendorID = "AuthenticAMD" -- } -- -- // For FreeBSD, we assume a single socket for now -- // In the future, this could be enhanced to detect multi-socket systems -- cpu := CPU{ -- ID: "0", -- VendorID: vendorID, -- ModelName: strings.TrimSpace(modelName), -- CoreCount: cores, -- EfficiencyCoreCount: 0, // FreeBSD doesn't distinguish efficiency cores -- ThreadCount: threads, -- } -- -- cpus = append(cpus, cpu) -- -- slog.Debug("GetCPUDetails", "cpus", cpus) -- -- return cpus --} +@@ -0,0 +1,69 @@ ++package discover ++ ++/* ++#include <stdlib.h> ++#include <sys/types.h> ++#include <sys/sysctl.h> ++*/ ++import "C" ++ ++import ( ++ "log/slog" ++ "syscall" ++ "unsafe" ++) ++ ++func sysctlUint64(name string) (uint64, error) { ++ cname := C.CString(name) ++ defer C.free(unsafe.Pointer(cname)) ++ ++ var value C.uint64_t ++ size := C.size_t(unsafe.Sizeof(value)) ++ ++ ret := C.sysctlbyname(cname, unsafe.Pointer(&value), &size, nil, 0) ++ if ret != 0 { ++ return 0, syscall.Errno(ret) ++ } ++ ++ return uint64(value), nil ++} ++ ++func GetCPUMem() (memInfo, error) { ++ var mem memInfo ++ ++ // Get page size - this is a 32-bit value ++ pageSize32, err := syscall.SysctlUint32("vm.stats.vm.v_page_size") ++ if err != nil { ++ return mem, err ++ } ++ pageSize := uint64(pageSize32) ++ ++ // Get physical memory - use sysctlUint64 ++ physmem, err := sysctlUint64("hw.physmem") ++ if err != nil { ++ return mem, err ++ } ++ ++ // Get free page count - this is also a 32-bit value ++ freeCount32, err := syscall.SysctlUint32("vm.stats.vm.v_free_count") ++ if err != nil { ++ return mem, err ++ } ++ freeCount := uint64(freeCount32) ++ ++ // Get swap total - use sysctlUint64 ++ swapTotal, err := sysctlUint64("vm.swap_total") ++ if err != nil { ++ // Swap may not be configured, default to 0 ++ swapTotal = 0 ++ } ++ ++ mem.TotalMemory = physmem ++ mem.FreeMemory = freeCount * pageSize ++ mem.FreeSwap = swapTotal ++ ++ slog.Debug("GetCPUMem", "total_memory", mem.TotalMemory, "free_memory", mem.FreeMemory, "free_swap", mem.FreeSwap) ++ ++ return mem, nil ++} ++ diff --git a/misc/ollama/files/update-port.sh b/misc/ollama/files/update-port.sh index 49e8b41863a5..08167ba85954 100755 --- a/misc/ollama/files/update-port.sh +++ b/misc/ollama/files/update-port.sh @@ -49,8 +49,8 @@ cp -r \ ../$GH_ACCOUNT_ORIG-$GH_PROJECT.repo/.golangci.yaml \ . -# apply freebsd compatibility patch -(patch-no-backup-1 < ../files/freebsd-compatibility.patch) || { echo "error: failed to apply freebsd compatibility patch"; exit 1; } +## apply freebsd compatibility patch +#(patch-no-backup-1 < ../files/freebsd-compatibility.patch) || { echo "error: failed to apply freebsd compatibility patch"; exit 1; } # change import path to the fork grep -rl ollama/ollama | xargs sed -i '' -e 's|ollama/ollama|yurivict/ollama|g'home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a213a69.3dca8.5061b46f>
