sci-misc/llama-cpp: add 0.4.0_p10948

Switch from legacy -DAMDGPU_TARGETS to -DGPU_TARGETS.

Signed-off-by: Gilles Dartiguelongue <gilles.dartiguelongue@esiee.org>
This commit is contained in:
Gilles Dartiguelongue committed 2026-09-18 19:20:13 +02:00
1 parent 714131cbee
commit d7af112aa2
3 files changed
+242 -3

No files matched your search

+2
View File
@@ -4,8 +4,10 @@ DIST llama-b10780-ui.tar.gz 3084093 BLAKE2B 92caf7e64a1f40367687ec6e48a2eb2ac90e
DIST llama-b10809-ui.tar.gz 3084118 BLAKE2B 3cd4e0bd708fb673507b1480e7e814bcb25b84ca096c22d491fbb02ea28523f28517ad0cbf15a7c689801599206963b1268239eba6d028a9343956710c39d07c SHA512 485b4331f547bcf53fa40691e43ca97de90301f656b8176c2ae5091bb2c6d0dcee57439f12a02a06fa5a397f5aba2481e8614c2a06da1396fa8efa58b704c973
DIST llama-b10905-ui.tar.gz 3083354 BLAKE2B 6fe9ee8e53e6d2c70f57e076fa3b75ea1e81c351612d95ec5e4bcb8e87fa8d77516cf635eac783eeefd6013d64137f05dc8676e5539539dcb8c6cbd9cc087dfa SHA512 f6a49e3da8cca1036e4669ce9bdd69bfd8e112bbf462ac0ea0ac28266834ac3525ec779c0ff2c16a3e4e2f1d9d9dd49ce1cd1a9132cf5f5f80a22ba0d0362b86
DIST llama-b10927-ui.tar.gz 3083767 BLAKE2B 3a1968b3bb80b7503f33c0fdb020eed1253bae94a8137d22eef1eac58bf8629d5552ed07cf3301899c2ea9da762fc76e8aedbf54fcda3a04955cc9d50f9be70d SHA512 bd75227fa207eaa3cdaad087d4da6fbaa6a1c2343d14388b25a6e4fcc9767115c478c21749f9c6ab7203788e2fcdb16efc40ca5da201eb407196f3ff7c95e5db
DIST llama-b10948-ui.tar.gz 3086256 BLAKE2B 537e559af6fa3e09c4b630e1fbad6e79abc172da45abf369ae477133f6d17049dc63cfa79ebd7fd711e46ffcc7ace61127e6fd013564928ab03c46ff06267e91 SHA512 f109da63d3f6d2e0f9f6c1d5a6f6b41535f2c2a2a52fa1ed0f690c5bb34778a898ceefe3d09c7805e9476fcda410d5fd372f77bdb5c19b00e1ef38ae5b1830f0
DIST llama-cpp-0.3.0.tar.gz 36951021 BLAKE2B fa59feff83100b137710aeed91ffe721d057f891749aff8c0f5758c86dd22760d0456f808137aad7ee2faf8e14956f603dd6d0bbb44a0767f026c61a94ad2d30 SHA512 c92095a186920110cf9f542d00b004236d92f1ab3f22267bb6ed8fc4b65dc1c32b2705efab202849756d464ed2213c6ee4d5613482f56dad26ae6eb3ba16a91d
DIST llama-cpp-0.3.0_p10780.tar.gz 37148504 BLAKE2B c65bbbe9c15e79cb80fec728246e0e16b0fe52bd8523e3f948f5eea7e02b0d8762eb02dfc86cc44bf38180398ca8860786b637b7139e3afd9367160467bbade5 SHA512 26392bc161594dccfd74287e5664cc56c14222f7281e10129e7980f48275368ff003dffb36b8b7d742c4aabcec2562c9aaa78d1abc533f618fc5aab8d66c8575
DIST llama-cpp-0.4.0.tar.gz 37288249 BLAKE2B a0cd0c8251b4dc32681426e323e52b03c9a733a3d29d8e733334702c2082b2aff664906811dee0298ea950a28fec40771e5c27aa5a2c32b7f7b9b9cab512249d SHA512 12592516c0ac70ed53d64fc0c9f82bbb156defa507c7364f1a753eb29f3498e0e13a282e139c2eff7d2eb00921b4ef107b2fa90a5b66f8a3c45409d4fcb0834f
DIST llama-cpp-0.4.0_p10905.tar.gz 37373261 BLAKE2B e966b0a9abee8486b197a35958c2a4adaaffc4911595c9372da46d59e75ee70f1609e63bd79078ea32b61d54d763eeab6a05e65f7d8cd0cf6916708fe97cb717 SHA512 c2f33fdc62c9e43e643d35128688b75c9227416cb99fc4796b992f759e340ddd16ad7a8ca43b31d3214536e2b9bf1f24f0cdbc4eef39793f2b951c99775a40e5
DIST llama-cpp-0.4.0_p10927.tar.gz 37418777 BLAKE2B 3f3c829183b4738b4b13801c872c95361473831085f4f193e4d263ebebdc4e2e9fee1137dc7262926db4f24770bb1122b9e5db8dc8e33e8c35fcb0d93d181fba SHA512 d49ba6692e0c19a395a82b2030d06c247baea8269f382ec01359e08f8a5c8f5653b71b468093a068c90a1151e8efbfab6d13abf0ebf8a9d1af61356a1096cda3
DIST llama-cpp-0.4.0_p10948.tar.gz 37412172 BLAKE2B 814bef31c941a9d04a160ca76b701bbc4038938457f261eabe57ba9e27a20d112365fd11f4718b7c8f5be85d9a3f682dd750a1f987e8c0f95dd8ba7f770c86d0 SHA512 4dda47454faa68826949def46e36226c40a9dafe69ce9edfbc6b9c9a1c4b4b54c7531adc9723c50ebfd1937d523a33db97754c753003cd4b21c31cd89c85f50f
@@ -0,0 +1,237 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ROCM_VERSION="7.1"
inherit cmake cuda rocm linux-info toolchain-funcs
TINY_LLAMAS_COMMIT="99dd1a73db5a37100bd4ae633f4cfce6560e1567"
DESCRIPTION="Port of Facebook's LLaMA model in C/C++"
HOMEPAGE="https://github.com/ggml-org/llama.cpp"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ggml-org/llama.cpp.git"
LLAMA_BUILD_IS_DEV=ON
LLAMA_BUILD_NUMBER="b0000"
LLAMA_UI_VERSION="b10948"
MY_PV="${PV}"
else
if [[ $(ver_cut 4) == "p" ]]; then
LLAMA_BUILD_IS_DEV=ON
LLAMA_BUILD_NUMBER="b$(ver_cut 5)"
MY_PV="${LLAMA_BUILD_NUMBER}"
S="${WORKDIR}/llama.cpp-${MY_PV}"
else
LLAMA_BUILD_IS_DEV=OFF
# Set from https://github.com/ggml-org/llama.cpp/releases/download/v${PV}/nightly-tag.txt
LLAMA_BUILD_NUMBER="b10948"
MY_PV="v${PV}"
S="${WORKDIR}/llama.cpp-${PV}"
fi
LLAMA_UI_VERSION="${LLAMA_BUILD_NUMBER}"
SRC_URI="https://github.com/ggml-org/llama.cpp/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
SRC_URI+="
https://github.com/ggml-org/llama.cpp/releases/download/${LLAMA_UI_VERSION}/llama-${LLAMA_UI_VERSION}-ui.tar.gz
examples? (
https://huggingface.co/ggml-org/tiny-llamas/resolve/${TINY_LLAMAS_COMMIT}/stories15M-q4_0.gguf
-> ggml-org_models_tinyllamas_stories15M-q4_0-${TINY_LLAMAS_COMMIT}.gguf
)
"
LICENSE="MIT"
SLOT="0"
X86_CPU_FLAGS=(
amx_bf16
amx_int8
amx_tile
avx
avx2
avx512_bf16
avx512_vnni
avx512f
avx512vbmi
avx_vnni
bmi2
f16c
fma3
sse4_2
)
CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
# wwma USE explained here: https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md#hip
IUSE="${CPU_FLAGS[*]} curl openblas +openmp blis rocm cuda opencl openssl vulkan flexiblas wmma examples"
REQUIRED_USE="
?? (
openblas
blis
flexiblas
)
rocm? ( ${ROCM_REQUIRED_USE} )
wmma? (
rocm
)
"
# curl is needed for pulling models from huggingface
# numpy is used by convert_hf_to_gguf.py
CDEPEND="
curl? ( net-misc/curl:= )
openblas? ( sci-libs/openblas:= )
openmp? ( llvm-runtimes/openmp:= )
blis? ( sci-libs/blis:= )
flexiblas? ( sci-libs/flexiblas:= )
rocm? (
>=dev-util/hip-${ROCM_VERSION}:=
>=sci-libs/hipBLAS-${ROCM_VERSION}:=[${ROCM_USEDEP}]
wmma? (
>=sci-libs/rocWMMA-${ROCM_VERSION}:=[${ROCM_USEDEP}]
)
)
cuda? ( dev-util/nvidia-cuda-toolkit:= )
openssl? ( dev-libs/openssl:= )
"
DEPEND="${CDEPEND}
opencl? ( dev-util/opencl-headers )
vulkan? (
dev-util/spirv-headers
dev-util/vulkan-headers
)
"
RDEPEND="${CDEPEND}
dev-python/numpy
opencl? ( dev-libs/opencl-icd-loader )
vulkan? ( media-libs/vulkan-loader )
"
BDEPEND="media-libs/shaderc"
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
if use rocm; then
linux-info_pkg_setup
if linux-info_get_any_version && linux_config_exists; then
if ! linux_chkconfig_present HSA_AMD_SVM; then
ewarn "To use ROCm/HIP, you need to have HSA_AMD_SVM option enabled in your kernel."
fi
fi
fi
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_unpack() {
[[ ${PV} == *9999* ]] && git-r3_src_unpack
default
}
src_prepare() {
use cuda && cuda_src_prepare
cmake_src_prepare
if use examples; then
mkdir -p "${BUILD_DIR}/tinyllamas" || die
cp "${DISTDIR}/ggml-org_models_tinyllamas_stories15M-q4_0-${TINY_LLAMAS_COMMIT}.gguf" \
"${BUILD_DIR}/tinyllamas/stories15M-q4_0.gguf" || die
fi
# Move web UI assets where they belong, bug #979245
mkdir -p "${S}"/tools/ui || die
cp -a "${WORKDIR}"/llama-${LLAMA_UI_VERSION} "${S}"/tools/ui/dist || die
}
src_configure() {
local mycmakeargs=(
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
-DLLAMA_BUILD_IS_DEV=${LLAMA_BUILD_IS_DEV}
-DLLAMA_BUILD_TESTS=OFF
-DLLAMA_BUILD_EXAMPLES=$(usex examples)
-DLLAMA_BUILD_SERVER=ON
-DBUILD_NUMBER="${LLAMA_BUILD_NUMBER}"
-DLLAMA_CURL=$(usex curl)
-DLLAMA_OPENSSL=$(usex openssl)
# avoid clashing with whisper.cpp
-DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/$(get_libdir)/llama.cpp"
-DCMAKE_INSTALL_RPATH="${EPREFIX}/usr/$(get_libdir)/llama.cpp"
)
# GGML backends
mycmakeargs+=(
-DGGML_NATIVE=OFF # don't set march
# CPU Flags
-DGGML_SSE42=$(usex cpu_flags_x86_sse4_2)
-DGGML_AVX=$(usex cpu_flags_x86_avx)
-DGGML_AVX_VNNI=$(usex cpu_flags_x86_avx_vnni)
-DGGML_AVX2=$(usex cpu_flags_x86_avx2)
-DGGML_BMI2=$(usex cpu_flags_x86_bmi2)
-DGGML_AVX512=$(usex cpu_flags_x86_avx512f)
-DGGML_AVX512_VBMI=$(usex cpu_flags_x86_avx512vbmi)
-DGGML_AVX512_VNNI=$(usex cpu_flags_x86_avx512_vnni)
-DGGML_AVX512_BF16=$(usex cpu_flags_x86_avx512_bf16)
-DGGML_FMA=$(usex cpu_flags_x86_fma3)
-DGGML_F16C=$(usex cpu_flags_x86_f16c)
-DGGML_AMX_TILE=$(usex cpu_flags_x86_amx_tile)
-DGGML_AMX_INT8=$(usex cpu_flags_x86_amx_int8)
-DGGML_AMX_BF16=$(usex cpu_flags_x86_amx_bf16)
-DGGML_CUDA=$(usex cuda)
-DGGML_VULKAN=$(usex vulkan)
-DGGML_OPENMP=$(usex openmp)
-DGGML_RPC=ON
-DGGML_OPENCL=$(usex opencl)
)
if use openblas ; then
mycmakeargs+=(
-DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
)
fi
if use blis ; then
mycmakeargs+=(
-DGGML_BLAS=ON -DGGML_BLAS_VENDOR=FLAME
)
fi
if use flexiblas; then
mycmakeargs+=(
-DGGML_BLAS=ON -DGGML_BLAS_VENDOR=FlexiBLAS
)
fi
if use cuda; then
local -x CUDAHOSTCXX="$(cuda_gccdir)"
# tries to recreate dev symlinks
cuda_add_sandbox
addpredict "/dev/char/"
fi
if use rocm; then
rocm_use_hipcc
mycmakeargs+=(
-DGGML_HIP=ON
-DGPU_TARGETS=$(get_amdgpu_flags)
-DGGML_HIP_ROCWMMA_FATTN=$(usex wmma)
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
dobin "${BUILD_DIR}/bin/ggml-rpc-server"
# avoid clashing with whisper.cpp
rm -r "${ED}/usr/include" || die
}
+3 -3
View File
@@ -17,7 +17,7 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/ggml-org/llama.cpp.git"
LLAMA_BUILD_IS_DEV=ON
LLAMA_BUILD_NUMBER="b0000"
LLAMA_UI_VERSION="b10780"
LLAMA_UI_VERSION="b10948"
MY_PV="${PV}"
else
if [[ $(ver_cut 4) == "p" ]]; then
@@ -28,7 +28,7 @@ else
else
LLAMA_BUILD_IS_DEV=OFF
# Set from https://github.com/ggml-org/llama.cpp/releases/download/v${PV}/nightly-tag.txt
LLAMA_BUILD_NUMBER="b10780"
LLAMA_BUILD_NUMBER="b10948"
MY_PV="v${PV}"
S="${WORKDIR}/llama.cpp-${PV}"
fi
@@ -220,7 +220,7 @@ src_configure() {
rocm_use_hipcc
mycmakeargs+=(
-DGGML_HIP=ON
-DAMDGPU_TARGETS=$(get_amdgpu_flags)
-DGPU_TARGETS=$(get_amdgpu_flags)
-DGGML_HIP_ROCWMMA_FATTN=$(usex wmma)
)
fi