blob: a0ed014a6d82264f6058469ef47a6e5c8a170de9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# Maintainer: NewYearPrism
_llama_cpp_version=9857
_ggml_version=0.15.3
_llama_cpp_sha256sum=0d0b923f88ca5c4f1dc7a06732bbc9c5ec5383480cc10fa63f250dd86426abe1
pkgname=llama.cpp-ggml
pkgver=0.0.0.b${_llama_cpp_version}
pkgrel=1
pkgdesc='LLM inference in C/C++ (use system ggml)'
arch=(x86_64 aarch64)
url='https://github.com/ggml-org/llama.cpp'
license=('MIT')
depends=(
"ggml=${_ggml_version}"
glibc
libstdc++
libgcc
openssl
)
makedepends=(
cmake
ninja
nodejs
npm
)
optdepends=(
'ggml-vulkan: Vulkan inference'
'ggml-cuda: CUDA inference'
'ggml-hip: HIP/ROCm inference'
)
provides=(
llama.cpp
libllama
)
conflicts=(
llama.cpp
)
options=(
lto
!debug
)
source=("llama.cpp-b${_llama_cpp_version}.tar.gz::https://github.com/ggml-org/llama.cpp/archive/refs/tags/b${_llama_cpp_version}.tar.gz")
sha256sums=(${_llama_cpp_sha256sum})
prepare() {
ln -sf "llama.cpp-b${_llama_cpp_version}" llama.cpp
}
build() {
local _prefix_map="-ffile-prefix-map=${srcdir}/build=. -ffile-prefix-map=${srcdir}=."
CFLAGS+=" ${_prefix_map}"
CXXFLAGS+=" ${_prefix_map}"
local _cmake_options=(
-S "llama.cpp"
-B build
-G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_FLAGS="${CFLAGS}"
-DCMAKE_CXX_FLAGS="${CXXFLAGS}"
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
-DCMAKE_SKIP_RPATH=ON
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-DBUILD_SHARED_LIBS=ON
-Wno-dev
)
_cmake_options+=(
-DLLAMA_BUILD_NUMBER="${_llama_cpp_version}"
-DLLAMA_ALL_WARNINGS=OFF
-DLLAMA_ALL_WARNINGS_3RD_PARTY=OFF
-DLLAMA_USE_SYSTEM_GGML=ON
-DLLAMA_BUILD_WEBUI=ON
-DLLAMA_BUILD_COMMON=ON
-DLLAMA_BUILD_TESTS=OFF
-DLLAMA_BUILD_EXAMPLES=OFF
-DLLAMA_BUILD_TOOLS=ON
-DLLAMA_BUILD_SERVER=ON
-DLLAMA_BUILD_APP=OFF
-DLLAMA_TOOLS_INSTALL=ON
-DLLAMA_TESTS_INSTALL=OFF
-DLLAMA_OPENSSL=ON
)
if [[ -n "$LLAMA_CPP_BUILD_EXTRA_ARGS" ]]; then
msg2 "Applied custom CMake build args: $LLAMA_CPP_BUILD_EXTRA_ARGS"
_cmake_options+=($LLAMA_CPP_BUILD_EXTRA_ARGS)
fi
cmake "${_cmake_options[@]}"
cmake --build build
}
package() {
depends+=(
ggml-cpu
)
DESTDIR="${pkgdir}" cmake --install build
install -Dm644 "llama.cpp/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
|