Make new cthulhu-git arch package for testing latest code.
This commit is contained in:
@@ -75,6 +75,7 @@ debug.log
|
|||||||
# Package artifacts
|
# Package artifacts
|
||||||
*.pkg.tar.zst
|
*.pkg.tar.zst
|
||||||
distro-packages/*/cthulhu/
|
distro-packages/*/cthulhu/
|
||||||
|
distro-packages/*/cthulhu-git/
|
||||||
distro-packages/*/pkg/
|
distro-packages/*/pkg/
|
||||||
|
|
||||||
# Generated makefiles (should not be committed)
|
# Generated makefiles (should not be committed)
|
||||||
|
|||||||
@@ -0,0 +1,126 @@
|
|||||||
|
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
||||||
|
|
||||||
|
pkgname=cthulhu-git
|
||||||
|
_pkgname=cthulhu
|
||||||
|
pkgver=2026.05.06.r394.ga5f7c9a
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
|
||||||
|
url="https://git.stormux.org/storm/cthulhu"
|
||||||
|
arch=(any)
|
||||||
|
license=(LGPL)
|
||||||
|
provides=("${_pkgname}")
|
||||||
|
conflicts=("${_pkgname}")
|
||||||
|
depends=(
|
||||||
|
# Core AT-SPI accessibility
|
||||||
|
at-spi2-core
|
||||||
|
gobject-introspection-runtime
|
||||||
|
python-gobject
|
||||||
|
python-cairo
|
||||||
|
gtk3
|
||||||
|
python-pywayland
|
||||||
|
# Audio and speech
|
||||||
|
speech-dispatcher
|
||||||
|
gstreamer
|
||||||
|
gst-plugins-base # playbin, audiotestsrc, basic decoders
|
||||||
|
gst-plugins-good # pulsesink, more decoders
|
||||||
|
|
||||||
|
# Braille support
|
||||||
|
brltty
|
||||||
|
liblouis
|
||||||
|
|
||||||
|
# Plugin system and D-Bus remote control
|
||||||
|
python-pluggy
|
||||||
|
python-tomlkit
|
||||||
|
python-dasbus
|
||||||
|
|
||||||
|
# AI Assistant dependencies (for screenshots, HTTP requests, and actions)
|
||||||
|
python-requests
|
||||||
|
python-pyautogui
|
||||||
|
|
||||||
|
# Desktop integration
|
||||||
|
hicolor-icon-theme
|
||||||
|
libwnck3
|
||||||
|
pango
|
||||||
|
|
||||||
|
# System utilities
|
||||||
|
python
|
||||||
|
python-setproctitle
|
||||||
|
socat # for self-voicing feature
|
||||||
|
xorg-xkbcomp
|
||||||
|
xorg-xmodmap
|
||||||
|
)
|
||||||
|
optdepends=(
|
||||||
|
'espeak-ng: Alternative TTS engine'
|
||||||
|
'festival: Alternative TTS engine'
|
||||||
|
'flite: Lightweight TTS engine'
|
||||||
|
'espeak: Legacy TTS engine'
|
||||||
|
|
||||||
|
# AI Assistant providers (optional)
|
||||||
|
'claude-code: Claude AI provider support'
|
||||||
|
'openai-codex: ChatGPT AI provider support'
|
||||||
|
'gemini-cli: Gemini AI provider support'
|
||||||
|
'ollama: Local AI model support'
|
||||||
|
|
||||||
|
# OCR plugin dependencies (optional)
|
||||||
|
'python-pillow: Image processing for OCR and AI Assistant'
|
||||||
|
'python-pytesseract: Python wrapper for Tesseract OCR engine'
|
||||||
|
'python-pdf2image: PDF to image conversion for OCR'
|
||||||
|
'python-scipy: Scientific computing for OCR color analysis'
|
||||||
|
'python-webcolors: Color name lookup for OCR text decoration'
|
||||||
|
'tesseract: OCR engine for text recognition'
|
||||||
|
'tesseract-data-eng: English language data for Tesseract'
|
||||||
|
|
||||||
|
# nvda2cthulhu plugin (optional)
|
||||||
|
'python-msgpack: Msgpack decoding for nvda2cthulhu'
|
||||||
|
'python-tornado: WebSocket server for nvda2cthulhu'
|
||||||
|
|
||||||
|
# Window Title Reader plugin (optional)
|
||||||
|
'python-xlib: X11 access for Wine window title plugin'
|
||||||
|
)
|
||||||
|
makedepends=(
|
||||||
|
git
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
python-build
|
||||||
|
python-installer
|
||||||
|
python-wheel
|
||||||
|
)
|
||||||
|
install=cthulhu.install
|
||||||
|
source=(
|
||||||
|
"${_pkgname}::git+https://git.stormux.org/storm/${_pkgname}.git#branch=master"
|
||||||
|
"cthulhu.install"
|
||||||
|
)
|
||||||
|
b2sums=(
|
||||||
|
'SKIP'
|
||||||
|
'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
|
||||||
|
meson compile -C _build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
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:
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
post_install() {
|
||||||
|
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade() {
|
||||||
|
post_install
|
||||||
|
}
|
||||||
|
|
||||||
|
post_remove() {
|
||||||
|
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user