whisrs-cuda

LOW
maintainer graysky 0 votes base whisrs scanned 2026-10-08 20:09:40.002650
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: graysky <graysky AT proton DOT me>
2# Contributor: y0sif <https://github.com/y0sif>
3
4# CUDA device architectures. 120a-real is Blackwell (RTX 50-series); add more
5# entries, e.g. "86-real;89-real;120a-real", to cover other cards. Leave empty
6# and ggml picks "native", which needs an NVIDIA card visible to nvcc while
7# building. CUDA 13 dropped Maxwell/Pascal/Volta, so sm_50/60/61/70 are gone.
8_cuda_arch=
9
10pkgbase=whisrs
11pkgname=(whisrs whisrs-cuda whisrs-vulkan)
12pkgver=0.1.29
13pkgrel=1
14pkgdesc='Linux-first voice-to-text dictation tool, written in Rust'
15arch=(x86_64)
16url='https://github.com/y0sif/whisrs'
17license=(MIT)
18depends=(gcc-libs alsa-lib libxkbcommon)
19makedepends=(cargo clang cmake cuda vulkan-headers vulkan-icd-loader shaderc)
20options=('!lto')
21source=("$pkgbase-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
22)
23sha256sums=('2b1dd2849f21a04e1b5e719702731a6e76049fefb68f77f2a55f947e7fea8d53')
24
25prepare() {
26 cd $pkgbase-$pkgver
27
28 export RUSTUP_TOOLCHAIN=stable
29 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
30}
31
32_cuda_env() {
33 # makepkg doesn't source profile.d, so nvcc and the host compiler cuda pins
34 # (NVCC_CCBIN) aren't visible without this.
35 # cuda.sh calls append_path, which only /etc/profile defines.
36 append_path() { [[ ":$PATH:" == *":$1:"* ]] || PATH="${PATH:+$PATH:}$1"; }
37 [[ -r /etc/profile.d/cuda.sh ]] && source /etc/profile.d/cuda.sh
38 unset -f append_path
39 export CUDA_PATH=/opt/cuda
40 export PATH="/opt/cuda/bin:$PATH"
41 # whisper-rs-sys forwards CMAKE_* env vars to cmake.
42 if [[ -n ${_cuda_arch} ]]; then
43 export CMAKE_CUDA_ARCHITECTURES="${_cuda_arch}"
44 fi
45 # makepkg's CFLAGS/CXXFLAGS never reach nvcc's host compiler, so the .cu
46 # host code needs its hardening here. This replaces whisper-rs-sys's own
47 # value, so -fPIC must stay. No commas inside a flag: -Xcompiler splits on them.
48 export CMAKE_CUDA_FLAGS="-Xcompiler=-fPIC,-fstack-protector-strong,-fstack-clash-protection,-fcf-protection,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3"
49}
50
51build() {
52 cd $pkgbase-$pkgver
53 export RUSTUP_TOOLCHAIN=stable
54
55 # One target dir per flavor: the GPU backend is a compile-time feature of
56 # the bundled whisper.cpp, so each needs its own build of it.
57 CARGO_TARGET_DIR=target-cpu cargo build --frozen --release
58 (_cuda_env; CARGO_TARGET_DIR=target-cuda cargo build --frozen --release --features cuda)
59 CARGO_TARGET_DIR=target-vulkan cargo build --frozen --release --features vulkan
60}
61
62_package() {
63 cd $pkgbase-$pkgver
64
65 install -Dm755 target-$1/release/whisrs "$pkgdir/usr/bin/whisrs"
66 install -Dm755 target-$1/release/whisrsd "$pkgdir/usr/bin/whisrsd"
67
68 install -Dm644 contrib/whisrs.1 "$pkgdir/usr/share/man/man1/whisrs.1"
69 install -Dm644 contrib/whisrsd.1 "$pkgdir/usr/share/man/man1/whisrsd.1"
70
71 install -Dm644 contrib/99-whisrs.rules "$pkgdir/usr/lib/udev/rules.d/99-whisrs.rules"
72 install -Dm644 contrib/whisrs.service "$pkgdir/usr/lib/systemd/user/whisrs.service"
73
74 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
75}
76
77package_whisrs() {
78 pkgdesc+=' (CPU)'
79 conflicts=('whisrs-git')
80 _package cpu
81}
82
83package_whisrs-cuda() {
84 pkgdesc+=' (NVIDIA CUDA)'
85 depends+=('cuda' 'nvidia-utils')
86 provides=('whisrs')
87 conflicts=('whisrs' 'whisrs-git')
88 _package cuda
89}
90
91package_whisrs-vulkan() {
92 pkgdesc+=' (Vulkan)'
93 depends+=('vulkan-icd-loader' 'vulkan-driver')
94 provides=('whisrs')
95 conflicts=('whisrs' 'whisrs-git')
96 _package vulkan
97}
98

Changes since previous scan

--- PKGBUILD @ 2026-10-06 00:13
+++ PKGBUILD @ 2026-10-08 20:09
@@ -9,7 +9,7 @@
pkgbase=whisrs
pkgname=(whisrs whisrs-cuda whisrs-vulkan)
-pkgver=0.1.28
+pkgver=0.1.29
pkgrel=1
pkgdesc='Linux-first voice-to-text dictation tool, written in Rust'
arch=(x86_64)
@@ -19,13 +19,12 @@
makedepends=(cargo clang cmake cuda vulkan-headers vulkan-icd-loader shaderc)
options=('!lto')
source=("$pkgbase-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
- 0001-feat-hotkey-allow-bare-ScrollLock-Pause-and-F13-F24-.patch::https://patch-diff.githubusercontent.com/raw/y0sif/whisrs/pull/180.patch)
-sha256sums=('52c0cb061148e7647c6909a8240489e8f7d9657540519c182ed66d0b6944816b'
- 'f593395f79f58dd75b82a255634f7cb27bb0866bf045ffc653dfd906f2d52647')
+)
+sha256sums=('2b1dd2849f21a04e1b5e719702731a6e76049fefb68f77f2a55f947e7fea8d53')
prepare() {
cd $pkgbase-$pkgver
- patch -p1 -i ../0001-feat-hotkey-allow-bare-ScrollLock-Pause-and-F13-F24-.patch
+
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
@@ -40,7 +39,13 @@
export CUDA_PATH=/opt/cuda
export PATH="/opt/cuda/bin:$PATH"
# whisper-rs-sys forwards CMAKE_* env vars to cmake.
- [[ -n ${_cuda_arch} ]] && export CMAKE_CUDA_ARCHITECTURES="${_cuda_arch}"
+ if [[ -n ${_cuda_arch} ]]; then
+ export CMAKE_CUDA_ARCHITECTURES="${_cuda_arch}"
+ fi
+ # makepkg's CFLAGS/CXXFLAGS never reach nvcc's host compiler, so the .cu
+ # host code needs its hardening here. This replaces whisper-rs-sys's own
+ # value, so -fPIC must stay. No commas inside a flag: -Xcompiler splits on them.
+ export CMAKE_CUDA_FLAGS="-Xcompiler=-fPIC,-fstack-protector-strong,-fstack-clash-protection,-fcf-protection,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3"
}
build() {
@@ -52,12 +57,6 @@
CARGO_TARGET_DIR=target-cpu cargo build --frozen --release
(_cuda_env; CARGO_TARGET_DIR=target-cuda cargo build --frozen --release --features cuda)
CARGO_TARGET_DIR=target-vulkan cargo build --frozen --release --features vulkan
-}
-
-check() {
- cd $pkgbase-$pkgver
- export RUSTUP_TOOLCHAIN=stable
- CARGO_TARGET_DIR=target-cpu cargo test --frozen --release
}
_package() {

Scan history

Scanned at (UTC)SeverityRules
2026-10-08 20:09:40 Low 1
2026-10-06 00:13:36 Clean 2
2026-10-05 23:40:58 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion