mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-16 10:06:24 +02:00
https://github.com/ggerganov/whisper.cpp Port of OpenAI's Whisper model in C/C++ Co-Authored-By: Marian Buschsieweke <marian.buschsieweke@posteo.net>
100 lines
3.3 KiB
Plaintext
100 lines
3.3 KiB
Plaintext
# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
|
|
maintainer="Hugo Osvaldo Barrera <hugo@whynothugo.nl>"
|
|
pkgname=whisper.cpp
|
|
pkgver=1.8.4
|
|
pkgrel=1
|
|
pkgdesc="Port of OpenAI's Whisper model in C/C++"
|
|
url="https://github.com/ggerganov/whisper.cpp"
|
|
# riscv64: limited by libggml
|
|
# armhf, armv7, x86: build fails, https://github.com/ggml-org/whisper.cpp/issues/3773
|
|
arch="all !armhf !armv7 !riscv64 !x86"
|
|
license="MIT"
|
|
pkgusers="whisper-server"
|
|
pkggroups="whisper-server"
|
|
install="whisper-server.pre-install"
|
|
makedepends="
|
|
chrpath
|
|
cmake
|
|
samurai
|
|
shaderc
|
|
vulkan-loader-dev
|
|
"
|
|
source="
|
|
whisper-cpp-$pkgver.tar.gz::https://github.com/ggml-org/whisper.cpp/archive/refs/tags/v$pkgver.tar.gz
|
|
0001-vulkan-add-noncontiguous-GLU-support-llama-21081.patch
|
|
0002-Install-libraries-into-WHISPER_LIB_INSTALL_DIR.patch
|
|
whisper-server.initd
|
|
whisper-server.confd
|
|
"
|
|
subpackages="
|
|
$pkgname-dev
|
|
$pkgname-vulkan
|
|
$pkgname-libs
|
|
whisper-server:server
|
|
whisper-server-openrc:server_openrc
|
|
"
|
|
ldpath="/usr/lib/$pkgname"
|
|
sonameprefix="$pkgname:"
|
|
|
|
build() {
|
|
cmake -B build -G Ninja -Wno-dev \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DGGML_BACKEND_DL=ON \
|
|
-DGGML_BACKEND_DIR=/usr/lib/$pkgname \
|
|
-DGGML_LIB_INSTALL_DIR=/usr/lib/$pkgname \
|
|
-DWHISPER_LIB_INSTALL_DIR=/usr/lib/$pkgname \
|
|
-DGGML_VULKAN=1 \
|
|
.
|
|
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
# test-vad-full: needs to download model to pass
|
|
# test-vad: needs GPU backend, fails in CI
|
|
# test-whisper-cli-large: - fails to load on 32 bit (too large)
|
|
# - too slow on 64 bit systems
|
|
ctest --test-dir build -E 'test-vad-full|test-vad|test-whisper-cli-large'
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
install -Dm 755 models/download-ggml-model.sh \
|
|
"$pkgdir/usr/bin/download-ggml-model"
|
|
install -Dm 755 "$srcdir"/whisper-server.initd "$pkgdir"/etc/init.d/whisper-server
|
|
install -Dm 644 "$srcdir"/whisper-server.confd "$pkgdir"/etc/conf.d/whisper-server
|
|
install -dm 755 -o whisper-server -g whisper-server "$pkgdir"/var/lib/whisper-server
|
|
}
|
|
|
|
vulkan() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel vulkan-loader"
|
|
pkgdesc="$pkgdesc (Vulkan backend)"
|
|
amove usr/lib/$pkgname/libggml-vulkan.so
|
|
}
|
|
|
|
libs() {
|
|
amove usr/lib/$pkgname
|
|
}
|
|
|
|
server() {
|
|
pkgdesc="whisper.cpp server"
|
|
amove usr/bin/whisper-server
|
|
}
|
|
|
|
server_openrc() {
|
|
pkgdesc="whisper.cpp server (OpenRC init scripts)"
|
|
depends="whisper-server=$pkgver-r$pkgrel openrc"
|
|
install_if="whisper-server=$pkgver-r$pkgrel openrc"
|
|
amove etc/init.d/whisper-server
|
|
amove etc/conf.d/whisper-server
|
|
}
|
|
|
|
sha512sums="
|
|
3b41035f9aaad31f0360b2d54d01c9c238628dec7b24a2a012afa6c5f82be998e002c8d3a98d6d4187198ac1fba6dea894b2e9307e2aa07cd5f28d8da17b27be whisper-cpp-1.8.4.tar.gz
|
|
2a0eb70765eae46242c9794ad235d048a3a3df68150e989c73f34a539d0f8c1ff31b6e70e11ecba8080a755c4523ab1794b357fc54db0ed9dcddc39327e36104 0001-vulkan-add-noncontiguous-GLU-support-llama-21081.patch
|
|
47c5b8616e4b714f035e2ad87115a4c7272844626e4b2b0d1c8ecf2271f88bc9c80e3817814a5664f596e331ad6a5fd833153a8ad2cd8317b99929b40d5b6305 0002-Install-libraries-into-WHISPER_LIB_INSTALL_DIR.patch
|
|
4db995b054007d7dc666a3bfb72952c6fedc4819f3c0ed671effe93e2b95afec9998e1375bba80a5b32faf832d35be645ba5eedc4d9ec1db952877d932d92dd1 whisper-server.initd
|
|
10b2003c55c50d421d5ffe94f5ace8d25e308e372252ccda9db38fea0b8cc39fada0993699991d1abf46ef81947d8e1b2b108658ce0777946a229c46d2f9beac whisper-server.confd
|
|
"
|