git: f6581ef1f7e3 - main - misc/koboldcpp: update 1.80.1 → 1.80.3; Flavorise

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 25 Dec 2024 01:02:38 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f6581ef1f7e37af93d4d12cd1b4f630451b36e72

commit f6581ef1f7e37af93d4d12cd1b4f630451b36e72
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-12-25 00:53:35 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-12-25 00:57:17 +0000

    misc/koboldcpp: update 1.80.1 → 1.80.3; Flavorise
    
    * "default" flavor builds for a default CPU,
      or for CPU defined by ${CPUTYPE} when set
    * "portable" flavor reflects the portable option in the project,
      and it builds multiple binaries for various
      pre-defied CPU types.
    
    Reported by:    portscout
---
 misc/koboldcpp/Makefile             | 23 +++++++++++++++++----
 misc/koboldcpp/distinfo             |  6 +++---
 misc/koboldcpp/files/patch-Makefile | 40 +++++++++++++++++++++++++++++++++++++
 misc/koboldcpp/pkg-plist            |  5 -----
 4 files changed, 62 insertions(+), 12 deletions(-)

diff --git a/misc/koboldcpp/Makefile b/misc/koboldcpp/Makefile
index bdf588f4ff74..cdd40ee85550 100644
--- a/misc/koboldcpp/Makefile
+++ b/misc/koboldcpp/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	koboldcpp
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.80.1
+DISTVERSION=	1.80.3
 CATEGORIES=	misc # machine-learning
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -13,6 +13,10 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.md
 BROKEN_armv7=	compilation fails, see https://github.com/LostRuins/koboldcpp/issues/1129
 BROKEN_i386=	compilation fails, see https://github.com/LostRuins/koboldcpp/issues/1129
 
+FLAVORS=	default portable
+FLAVOR?=	${FLAVORS:[1]}
+portable_PKGNAMESUFFIX=	-portable
+
 LIB_DEPENDS=	libopenblas.so:math/openblas \
 		libvulkan.so:graphics/vulkan-loader
 
@@ -25,10 +29,22 @@ GH_ACCOUNT=	LostRuins
 
 SHEBANG_FILES=	koboldcpp.py
 
-MAKE_ARGS=	LLAMA_OPENBLAS=1 LLAMA_VULKAN=1 LLAMA_PORTABLE=1 LDFLAGS="${LDFLAGS}"
+.if ${FLAVOR} == default
+LIBS=	koboldcpp_default.so koboldcpp_vulkan.so
+MAKE_ARGS=	PRESET_CFLAGS="${CFLAGS}" PRESET_CXXFLAGS="${CXXFLAGS}"
+.endif
+.if ${FLAVOR} == portable
+MAKE_ARGS=	LLAMA_PORTABLE=1
+LIBS=	koboldcpp_default.so koboldcpp_failsafe.so koboldcpp_noavx2.so \
+	koboldcpp_vulkan.so koboldcpp_vulkan_noavx2.so
+.endif
+
+MAKE_ARGS+=	LLAMA_OPENBLAS=1 LLAMA_VULKAN=1 LDFLAGS="${LDFLAGS}"
 
 ALL_TARGET=
 
+PLIST_FILES=	${LIBS:S/^/%%DATADIR%%\//}
+
 .if defined(WITH_DEBUG)
 MAKE_ARGS+=	KCPP_DEBUG=1
 .endif
@@ -41,8 +57,7 @@ do-install:
 	${CHMOD} +x ${STAGEDIR}${DATADIR}/koboldcpp.py
 	${RLN} ${STAGEDIR}${DATADIR}/koboldcpp.py ${STAGEDIR}${PREFIX}/bin/koboldcpp
 	# libraries
-.for lib in koboldcpp_default.so koboldcpp_failsafe.so koboldcpp_noavx2.so \
-	    koboldcpp_vulkan.so koboldcpp_vulkan_noavx2.so
+.for lib in ${LIBS}
 	${INSTALL_LIB} ${WRKSRC}/${lib} ${STAGEDIR}${DATADIR}
 .endfor
 	# embd files
diff --git a/misc/koboldcpp/distinfo b/misc/koboldcpp/distinfo
index 8fd7181f680e..bacb53518981 100644
--- a/misc/koboldcpp/distinfo
+++ b/misc/koboldcpp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734856109
-SHA256 (LostRuins-koboldcpp-v1.80.1_GH0.tar.gz) = a43dfe052860f4b09004511cce7d26b05d68dd2fb866ad23471d61f5f49d9acc
-SIZE (LostRuins-koboldcpp-v1.80.1_GH0.tar.gz) = 29133623
+TIMESTAMP = 1735035023
+SHA256 (LostRuins-koboldcpp-v1.80.3_GH0.tar.gz) = adaeb8e47225dbc1b778840a3523a53765310916be883957784cd37165ac262f
+SIZE (LostRuins-koboldcpp-v1.80.3_GH0.tar.gz) = 29134845
diff --git a/misc/koboldcpp/files/patch-Makefile b/misc/koboldcpp/files/patch-Makefile
new file mode 100644
index 000000000000..020810c9c5b9
--- /dev/null
+++ b/misc/koboldcpp/files/patch-Makefile
@@ -0,0 +1,40 @@
+--- Makefile.orig	2024-12-24 20:09:43 UTC
++++ Makefile
+@@ -48,8 +48,8 @@ endif
+ #
+ 
+ # keep standard at C11 and C++17
+-CFLAGS =
+-CXXFLAGS =
++CFLAGS = $(PRESET_CFLAGS)
++CXXFLAGS = $(PRESET_CXXFLAGS)
+ ifdef KCPP_DEBUG
+ 	CFLAGS = -g -O0
+ 	CXXFLAGS = -g -O0
+@@ -167,7 +167,7 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686 amd64
+ 			FULLCFLAGS += -mavx2 -msse3 -mfma -mf16c -mavx
+ 		endif
+ 		else
+-		CFLAGS += -march=native -mtune=native
++		CFLAGS +=
+ 		endif
+ 	endif
+ endif
+@@ -332,8 +332,8 @@ ifneq ($(filter aarch64%,$(UNAME_M)),)
+ 				CXXFLAGS += -mcpu=native
+ 			endif
+ 		else
+-			CFLAGS += -mcpu=native
+-			CXXFLAGS += -mcpu=native
++			CFLAGS += 
++			CXXFLAGS += 
+ 		endif
+ 	endif
+ endif
+@@ -755,4 +755,4 @@ finishedmsg:
+ #phony for printing messages
+ finishedmsg:
+ 	$(NOTIFY_MSG)
+-	$(DONOTHING)
+\ No newline at end of file
++	$(DONOTHING)
diff --git a/misc/koboldcpp/pkg-plist b/misc/koboldcpp/pkg-plist
index f4f740d331c1..7e6fc33f8a14 100644
--- a/misc/koboldcpp/pkg-plist
+++ b/misc/koboldcpp/pkg-plist
@@ -3,11 +3,6 @@ bin/koboldcpp
 %%DATADIR%%/kcpp_sdui.embd
 %%DATADIR%%/klite.embd
 %%DATADIR%%/koboldcpp.py
-%%DATADIR%%/koboldcpp_default.so
-%%DATADIR%%/koboldcpp_failsafe.so
-%%DATADIR%%/koboldcpp_noavx2.so
-%%DATADIR%%/koboldcpp_vulkan.so
-%%DATADIR%%/koboldcpp_vulkan_noavx2.so
 %%DATADIR%%/rwkv_vocab.embd
 %%DATADIR%%/rwkv_world_vocab.embd
 %%DATADIR%%/taesd.embd