112 lines
2.9 KiB
Bash
112 lines
2.9 KiB
Bash
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
|
# 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:
|