diff --git a/misc/koboldcpp/Makefile b/misc/koboldcpp/Makefile index f0b948f364eb..de5decb99f96 100644 --- a/misc/koboldcpp/Makefile +++ b/misc/koboldcpp/Makefile @@ -1,80 +1,83 @@ PORTNAME= koboldcpp DISTVERSIONPREFIX= v -DISTVERSION= 1.95 +DISTVERSION= 1.102.3 CATEGORIES= misc # machine-learning MAINTAINER= yuri@FreeBSD.org COMMENT= Simple way to run GGML and GGUF AI models with a KoboldAI WebUI WWW= https://github.com/lostruins/koboldcpp LICENSE= AGPLv3 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 BUILD_DEPENDS= glslc:graphics/shaderc LIB_DEPENDS= libopenblas.so:math/openblas \ libvulkan.so:graphics/vulkan-loader RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}customtkinter>0:x11-toolkits/py-customtkinter@${PY_FLAVOR} USES= compiler:c++11-lang gmake localbase:ldflags python shebangfix USE_GITHUB= yes GH_ACCOUNT= LostRuins SHEBANG_FILES= koboldcpp.py .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 post-patch: @${RM} ${WRKSRC}/glslc-linux @${LN} -s ${PREFIX}/bin/glslc ${WRKSRC}/glslc-linux do-install: # dir ${MKDIR} ${STAGEDIR}${DATADIR} # prog ${INSTALL_DATA} ${WRKSRC}/koboldcpp.py ${STAGEDIR}${DATADIR}/koboldcpp.py ${CHMOD} +x ${STAGEDIR}${DATADIR}/koboldcpp.py ${RLN} ${STAGEDIR}${DATADIR}/koboldcpp.py ${STAGEDIR}${PREFIX}/bin/koboldcpp # libraries .for lib in ${LIBS} ${INSTALL_LIB} ${WRKSRC}/${lib} ${STAGEDIR}${DATADIR} .endfor # embd files -.for embd in klite.embd kcpp_docs.embd rwkv_vocab.embd rwkv_world_vocab.embd \ - kcpp_sdui.embd taesd.embd taesd_xl.embd - ${INSTALL_DATA} ${WRKSRC}/${embd} ${STAGEDIR}${DATADIR} + @${MKDIR} ${STAGEDIR}${DATADIR}/embd_res +.for embd in kcpp_docs.embd kcpp_sdui.embd klite.embd kokoro_ipa.embd lcpp.gz.embd \ + merges_utf8_c_str.embd qwen2_merges_utf8_c_str.embd rwkv_vocab.embd \ + rwkv_world_vocab.embd t5_tokenizer_json.embd taesd.embd taesd_3.embd \ + taesd_f.embd taesd_xl.embd umt5_tokenizer_json.embd + ${INSTALL_DATA} ${WRKSRC}/embd_res/${embd} ${STAGEDIR}${DATADIR}/embd_res/${embd} .endfor .include .if ${ARCH} != amd64 IGNORE= portable flavor isn't defined on ${ARCH} because it is based on AVX2, etc. (?) .endif .include diff --git a/misc/koboldcpp/distinfo b/misc/koboldcpp/distinfo index d0693ae2350c..cf806203f552 100644 --- a/misc/koboldcpp/distinfo +++ b/misc/koboldcpp/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1751231617 -SHA256 (LostRuins-koboldcpp-v1.95_GH0.tar.gz) = 0183dac0fd2ace848d971683584996573f0de342f98579227a3e018b771a0742 -SIZE (LostRuins-koboldcpp-v1.95_GH0.tar.gz) = 30963514 +TIMESTAMP = 1764458697 +SHA256 (LostRuins-koboldcpp-v1.102.3_GH0.tar.gz) = 97203f7e2405bc01b0061c3d95282224fa038012f1d3df5dd905c014affa8737 +SIZE (LostRuins-koboldcpp-v1.102.3_GH0.tar.gz) = 46708265 diff --git a/misc/koboldcpp/files/patch-Makefile b/misc/koboldcpp/files/patch-Makefile index e991582502a7..ffba18162e73 100644 --- a/misc/koboldcpp/files/patch-Makefile +++ b/misc/koboldcpp/files/patch-Makefile @@ -1,46 +1,59 @@ ---- Makefile.orig 2025-04-20 12:57:11 UTC +--- Makefile.orig 2025-11-28 15:27:50 UTC +++ Makefile @@ -45,8 +45,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 -@@ -151,10 +151,10 @@ else - FULLCFLAGS += -mavx2 -msse3 -mssse3 -mfma -mf16c -mavx + CFLAGS = -g -O0 + CXXFLAGS = -g -O0 +@@ -178,10 +178,10 @@ else endif # LLAMA_NOAVX2 + endif # LLAMA_NOAVX1 else -- CFLAGS += -march=native -mtune=native -- SIMPLECFLAGS += -march=native -mtune=native -- SIMPLERCFLAGS += -march=native -mtune=native -- FULLCFLAGS += -march=native -mtune=native -+ #CFLAGS += -march=native -mtune=native -+ #SIMPLECFLAGS += -march=native -mtune=native -+ #SIMPLERCFLAGS += -march=native -mtune=native -+ #FULLCFLAGS += -march=native -mtune=native +-CFLAGS += -march=native -mtune=native +-SIMPLECFLAGS += -march=native -mtune=native +-SIMPLERCFLAGS += -march=native -mtune=native +-FULLCFLAGS += -march=native -mtune=native ++#CFLAGS += -march=native -mtune=native ++#SIMPLECFLAGS += -march=native -mtune=native ++#SIMPLERCFLAGS += -march=native -mtune=native ++#FULLCFLAGS += -march=native -mtune=native endif # LLAMA_PORTABLE endif # if x86 -@@ -297,8 +297,8 @@ else - CXXFLAGS += -mcpu=native +@@ -251,7 +251,7 @@ else + endif + + else +-NVCCFLAGS += -arch=native ++#NVCCFLAGS += -arch=native + endif # LLAMA_PORTABLE + + ifdef LLAMA_CUDA_CCBIN +@@ -368,15 +368,15 @@ ifneq ($(findstring clang, $(CCV)), ) + # sve is cooked on termux so we are disabling it + ifeq ($(UNAME_O), Android) + ifneq ($(findstring clang, $(CCV)), ) +-CFLAGS += -mcpu=native+nosve +-CXXFLAGS += -mcpu=native+nosve ++#CFLAGS += -mcpu=native+nosve ++#CXXFLAGS += -mcpu=native+nosve + else +-CFLAGS += -mcpu=native +-CXXFLAGS += -mcpu=native ++#CFLAGS += -mcpu=native ++#CXXFLAGS += -mcpu=native endif else -- CFLAGS += -mcpu=native -- CXXFLAGS += -mcpu=native -+ #CFLAGS += -mcpu=native -+ #CXXFLAGS += -mcpu=native +-CFLAGS += -mcpu=native +-CXXFLAGS += -mcpu=native ++#CFLAGS += -mcpu=native ++#CXXFLAGS += -mcpu=native endif endif endif -@@ -841,4 +841,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 7e6fc33f8a14..5c57fb761c7b 100644 --- a/misc/koboldcpp/pkg-plist +++ b/misc/koboldcpp/pkg-plist @@ -1,9 +1,17 @@ bin/koboldcpp -%%DATADIR%%/kcpp_docs.embd -%%DATADIR%%/kcpp_sdui.embd -%%DATADIR%%/klite.embd +%%DATADIR%%/embd_res/kcpp_docs.embd +%%DATADIR%%/embd_res/kcpp_sdui.embd +%%DATADIR%%/embd_res/klite.embd +%%DATADIR%%/embd_res/kokoro_ipa.embd +%%DATADIR%%/embd_res/lcpp.gz.embd +%%DATADIR%%/embd_res/merges_utf8_c_str.embd +%%DATADIR%%/embd_res/qwen2_merges_utf8_c_str.embd +%%DATADIR%%/embd_res/rwkv_vocab.embd +%%DATADIR%%/embd_res/rwkv_world_vocab.embd +%%DATADIR%%/embd_res/t5_tokenizer_json.embd +%%DATADIR%%/embd_res/taesd.embd +%%DATADIR%%/embd_res/taesd_3.embd +%%DATADIR%%/embd_res/taesd_f.embd +%%DATADIR%%/embd_res/taesd_xl.embd +%%DATADIR%%/embd_res/umt5_tokenizer_json.embd %%DATADIR%%/koboldcpp.py -%%DATADIR%%/rwkv_vocab.embd -%%DATADIR%%/rwkv_world_vocab.embd -%%DATADIR%%/taesd.embd -%%DATADIR%%/taesd_xl.embd