# Maintainer: Storm Dragon # shellcheck shell=bash disable=SC2034,SC2154,SC2164 pkgbase=cthulhu-git pkgname=cthulhu-git _pkgname=cthulhu pkgver=2026.09.03.r475.gd4bec38 pkgrel=1 pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca" url="https://git.stormux.org/storm/cthulhu" arch=(x86_64 aarch64 armv7h) license=(LGPL-2.1-or-later) provides=("${_pkgname}=${pkgver}") conflicts=("${_pkgname}") depends=( # Core AT-SPI accessibility at-spi2-core glib2 gobject-introspection-runtime python-gobject python-cairo gtk3 # Audio and speech speech-dispatcher gstreamer gst-plugins-base # playbin, audiotestsrc, basic decoders gst-plugins-good # pulsesink, more decoders # Braille support python-brltty liblouis # Plugin system and D-Bus remote control python-pluggy python-tomlkit python-dasbus python-msgpack python-tornado python-xlib # Desktop integration hicolor-icon-theme libwnck3 pango # System utilities python-setproctitle xorg-xkbcomp ) optdepends=( 'git: Install and update third-party plugin sources' 'python-pywayland: Wayland shared workspace backend' 'piper-tts: Piper speech backend' 'socat: Send text to the Self Voice socket from the command line' # AI Assistant providers (optional) 'python-requests: AI Assistant plugin and HTTP provider support' 'python-pyautogui: AI Assistant mouse and keyboard actions' 'claude-code: Claude AI provider support' 'openai-codex: OpenAI Codex provider support' 'gemini-cli: Gemini AI provider support' 'ollama: Local AI model support' # OCR plugin dependencies (optional) 'python-pillow: Image processing for OCR' 'python-pytesseract: Python wrapper for Tesseract OCR engine' 'tesseract: OCR engine for text recognition' ) optdepends_x86_64=( # The helper is x86_64-only, but this package is architecture-independent. 'cthulhu-wine-access: Wine, Proton, NVDA Controller, and Tolk integration' ) makedepends=( git meson ) source=("${_pkgname}::git+https://git.stormux.org/storm/${_pkgname}.git#branch=master") sha512sums=('SKIP') pkgver() { cd "${_pkgname}" local projectVersion revisionCount commitHash projectVersion=$(sed -n "s/^[[:space:]]*version: '\([^']*\)'.*/\1/p" meson.build) projectVersion=${projectVersion%-master} projectVersion=${projectVersion//-/.} [[ -n "${projectVersion}" ]] || return 1 revisionCount=$(git rev-list --count HEAD) commitHash=$(git rev-parse --short=7 HEAD) printf "%s.r%s.g%s\n" "${projectVersion}" "${revisionCount}" "${commitHash}" } build() { cd "${_pkgname}" arch-meson _build -Dwine-access=disabled meson compile -C _build } package() { arch=(any) provides=("cthulhu=${pkgver}") conflicts=(cthulhu) cd "${_pkgname}" meson install -C _build --destdir "$pkgdir" # Remove icon cache - it will be generated by post-install hooks rm -f "$pkgdir/usr/share/icons/hicolor/icon-theme.cache" } # vim:set sw=2 sts=-1 et: