Create shared / fast track for certain packages

This commit is contained in:
Ryan Hughes committed 2026-01-10 20:18:35 -05:00
1 parent 1dfa83863d
commit 45a356eb70
253 files changed
+566 -458

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
pkgbase = voxtype-bin
pkgdesc = Push-to-talk voice-to-text for Linux (pre-built binaries)
pkgver = 0.4.11
pkgrel = 2
url = https://voxtype.io
install = voxtype-bin.install
arch = x86_64
license = MIT
depends = alsa-lib
depends = curl
depends = gcc-libs
depends = glibc
optdepends = wtype: keyboard simulation for Wayland (recommended, best CJK support)
optdepends = ydotool: keyboard simulation fallback (X11/TTY support)
optdepends = wl-clipboard: clipboard support
optdepends = libnotify: desktop notifications
optdepends = pipewire: audio server (recommended)
optdepends = pipewire-alsa: ALSA compatibility for PipeWire (required if using PipeWire)
optdepends = pulseaudio: audio server (alternative to PipeWire)
optdepends = vulkan-icd-loader: GPU acceleration via Vulkan (enable with: voxtype setup gpu --enable)
provides = voxtype
conflicts = voxtype
backup = etc/voxtype/config.toml
source = voxtype-0.4.11-avx2::https://github.com/peteonrails/voxtype/releases/download/v0.4.11/voxtype-0.4.11-linux-x86_64-avx2
source = voxtype-0.4.11-avx512::https://github.com/peteonrails/voxtype/releases/download/v0.4.11/voxtype-0.4.11-linux-x86_64-avx512
source = voxtype-0.4.11-vulkan::https://github.com/peteonrails/voxtype/releases/download/v0.4.11/voxtype-0.4.11-linux-x86_64-vulkan
source = config-0.4.11.toml::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/config/default.toml
source = voxtype-0.4.11.service::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/packaging/systemd/voxtype.service
source = voxtype-0.4.11.bash::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/packaging/completions/voxtype.bash
source = voxtype-0.4.11.zsh::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/packaging/completions/voxtype.zsh
source = voxtype-0.4.11.fish::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/packaging/completions/voxtype.fish
source = LICENSE-0.4.11::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/LICENSE
source = README-0.4.11.md::https://raw.githubusercontent.com/peteonrails/voxtype/v0.4.11/README.md
sha256sums = 0b15ef42486370bf7d2b6c5f71e1e9cd6b544e28afbfe10a08b3e47b700f6191
sha256sums = 6eb668fa56c34b643caac6b96c8c56ee39895c77edae572bf32bef9f434d15a9
sha256sums = 187a66c3b246c8fc3b5f2e55a28e8d9a4379cda4cbe6824aeb880b1ed3e9faf4
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
pkgname = voxtype-bin
+6
View File
@@ -0,0 +1,6 @@
*
!.nvchecker.toml
!.gitignore
!*.install
!PKGBUILD
!.SRCINFO
@@ -0,0 +1,5 @@
[voxtype-bin]
source = "github"
github = "peteonrails/voxtype"
use_latest_release = true
prefix = "v"
+84
View File
@@ -0,0 +1,84 @@
# Maintainer: Peter Jackson <pete@peteonrails.com>
pkgname=voxtype-bin
pkgver=0.4.11
pkgrel=2
pkgdesc="Push-to-talk voice-to-text for Linux (pre-built binaries)"
arch=('x86_64')
url="https://voxtype.io"
license=('MIT')
depends=(
'alsa-lib'
'curl'
'gcc-libs'
'glibc'
)
optdepends=(
'wtype: keyboard simulation for Wayland (recommended, best CJK support)'
'ydotool: keyboard simulation fallback (X11/TTY support)'
'wl-clipboard: clipboard support'
'libnotify: desktop notifications'
'pipewire: audio server (recommended)'
'pipewire-alsa: ALSA compatibility for PipeWire (required if using PipeWire)'
'pulseaudio: audio server (alternative to PipeWire)'
'vulkan-icd-loader: GPU acceleration via Vulkan (enable with: voxtype setup gpu --enable)'
)
provides=('voxtype')
conflicts=('voxtype')
backup=('etc/voxtype/config.toml')
install=voxtype-bin.install
_github="https://github.com/peteonrails/voxtype/releases/download/v$pkgver"
source=(
"voxtype-$pkgver-avx2::$_github/voxtype-$pkgver-linux-x86_64-avx2"
"voxtype-$pkgver-avx512::$_github/voxtype-$pkgver-linux-x86_64-avx512"
"voxtype-$pkgver-vulkan::$_github/voxtype-$pkgver-linux-x86_64-vulkan"
"config-$pkgver.toml::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/config/default.toml"
"voxtype-$pkgver.service::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/systemd/voxtype.service"
"voxtype-$pkgver.bash::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.bash"
"voxtype-$pkgver.zsh::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.zsh"
"voxtype-$pkgver.fish::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.fish"
"LICENSE-$pkgver::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/LICENSE"
"README-$pkgver.md::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/README.md"
)
sha256sums=(
'0b15ef42486370bf7d2b6c5f71e1e9cd6b544e28afbfe10a08b3e47b700f6191' # voxtype-avx2
'6eb668fa56c34b643caac6b96c8c56ee39895c77edae572bf32bef9f434d15a9' # voxtype-avx512
'187a66c3b246c8fc3b5f2e55a28e8d9a4379cda4cbe6824aeb880b1ed3e9faf4' # voxtype-vulkan
'SKIP' # config.toml
'SKIP' # voxtype.service
'SKIP' # voxtype.bash
'SKIP' # voxtype.zsh
'SKIP' # voxtype.fish
'SKIP' # LICENSE
'SKIP' # README.md
)
package() {
# Install CPU binaries to /usr/lib/voxtype/
install -Dm755 "$srcdir/voxtype-$pkgver-avx2" "$pkgdir/usr/lib/voxtype/voxtype-avx2"
install -Dm755 "$srcdir/voxtype-$pkgver-avx512" "$pkgdir/usr/lib/voxtype/voxtype-avx512"
# Install Vulkan GPU binary
install -Dm755 "$srcdir/voxtype-$pkgver-vulkan" "$pkgdir/usr/lib/voxtype/voxtype-vulkan"
# Create symlink based on CPU capabilities (updated in .install file)
# Default to avx2 for safety
mkdir -p "$pkgdir/usr/bin"
ln -sf /usr/lib/voxtype/voxtype-avx2 "$pkgdir/usr/bin/voxtype"
# Install default configuration
install -Dm644 "$srcdir/config-$pkgver.toml" "$pkgdir/etc/voxtype/config.toml"
# Install systemd user service
install -Dm644 "$srcdir/voxtype-$pkgver.service" "$pkgdir/usr/lib/systemd/user/voxtype.service"
# Install documentation
install -Dm644 "$srcdir/README-$pkgver.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
# Install license
install -Dm644 "$srcdir/LICENSE-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# Install shell completions
install -Dm644 "$srcdir/voxtype-$pkgver.bash" "$pkgdir/usr/share/bash-completion/completions/voxtype"
install -Dm644 "$srcdir/voxtype-$pkgver.zsh" "$pkgdir/usr/share/zsh/site-functions/_voxtype"
install -Dm644 "$srcdir/voxtype-$pkgver.fish" "$pkgdir/usr/share/fish/vendor_completions.d/voxtype.fish"
}
@@ -0,0 +1,85 @@
_detect_cpu() {
# Detect CPU capabilities and symlink appropriate binary
if grep -q avx512f /proc/cpuinfo 2>/dev/null; then
ln -sf /usr/lib/voxtype/voxtype-avx512 /usr/bin/voxtype
echo "avx512"
else
ln -sf /usr/lib/voxtype/voxtype-avx2 /usr/bin/voxtype
echo "avx2"
fi
}
_detect_gpu() {
# Detect GPU for Vulkan acceleration recommendation
GPU_DETECTED=""
if [ -d /dev/dri ]; then
if ls /dev/dri/renderD* >/dev/null 2>&1; then
if command -v lspci >/dev/null 2>&1; then
GPU_INFO=$(lspci 2>/dev/null | grep -i 'vga\|3d\|display' | head -1 | sed 's/.*: //')
if [ -n "$GPU_INFO" ]; then
GPU_DETECTED="$GPU_INFO"
fi
fi
if [ -z "$GPU_DETECTED" ]; then
GPU_DETECTED="GPU detected (install pciutils for details)"
fi
fi
fi
if [ -n "$GPU_DETECTED" ]; then
echo ""
echo " GPU detected: $GPU_DETECTED"
echo ""
echo " For GPU acceleration (faster inference), run:"
echo " sudo voxtype setup gpu --enable"
echo ""
echo " Requires: vulkan-icd-loader package"
fi
}
post_install() {
echo ""
echo "==> Voxtype Post-installation Steps:"
echo ""
CPU_VARIANT=$(_detect_cpu)
echo " CPU backend: $CPU_VARIANT (using voxtype-$CPU_VARIANT)"
_detect_gpu
echo ""
echo " 1. Add your user to the 'input' group:"
echo " sudo usermod -aG input \$USER"
echo ""
echo " 2. Log out and back in for group changes to take effect"
echo ""
echo " 3. Download a whisper model:"
echo " voxtype setup --download"
echo ""
echo " 4. Start voxtype:"
echo " systemctl --user enable --now voxtype"
echo " Or run manually: voxtype"
echo ""
}
post_upgrade() {
echo ""
echo "==> Voxtype upgraded"
echo ""
CPU_VARIANT=$(_detect_cpu)
echo " CPU backend: $CPU_VARIANT (using voxtype-$CPU_VARIANT)"
_detect_gpu
echo ""
echo " New in 0.4.11:"
echo " - Remote Whisper server support (offload to home server or cloud)"
echo " - Cancel recording mid-transcription with 'voxtype record cancel'"
echo " - Output mode override: --paste and --clipboard flags"
echo ""
}
post_remove() {
rm -f /usr/bin/voxtype
}