updated PKGBUILDs.
This commit is contained in:
@@ -1,23 +1,24 @@
|
|||||||
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
||||||
|
# shellcheck shell=bash disable=SC2034,SC2154,SC2164
|
||||||
|
|
||||||
pkgname=cthulhu-git
|
pkgname=cthulhu-git
|
||||||
_pkgname=cthulhu
|
_pkgname=cthulhu
|
||||||
pkgver=2026.05.25.r407.gc39f231
|
pkgver=2026.05.25.r407.gc39f231
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
|
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
|
||||||
url="https://git.stormux.org/storm/cthulhu"
|
url="https://git.stormux.org/storm/cthulhu"
|
||||||
arch=(any)
|
arch=(any)
|
||||||
license=(LGPL)
|
license=(LGPL-2.1-or-later)
|
||||||
provides=("${_pkgname}")
|
provides=("${_pkgname}=${pkgver}")
|
||||||
conflicts=("${_pkgname}")
|
conflicts=("${_pkgname}")
|
||||||
depends=(
|
depends=(
|
||||||
# Core AT-SPI accessibility
|
# Core AT-SPI accessibility
|
||||||
at-spi2-core
|
at-spi2-core
|
||||||
|
glib2
|
||||||
gobject-introspection-runtime
|
gobject-introspection-runtime
|
||||||
python-gobject
|
python-gobject
|
||||||
python-cairo
|
python-cairo
|
||||||
gtk3
|
gtk3
|
||||||
python-pywayland
|
|
||||||
# Audio and speech
|
# Audio and speech
|
||||||
speech-dispatcher
|
speech-dispatcher
|
||||||
gstreamer
|
gstreamer
|
||||||
@@ -25,75 +26,51 @@ depends=(
|
|||||||
gst-plugins-good # pulsesink, more decoders
|
gst-plugins-good # pulsesink, more decoders
|
||||||
|
|
||||||
# Braille support
|
# Braille support
|
||||||
brltty
|
python-brltty
|
||||||
liblouis
|
liblouis
|
||||||
|
|
||||||
# Plugin system and D-Bus remote control
|
# Plugin system and D-Bus remote control
|
||||||
python-pluggy
|
python-pluggy
|
||||||
python-tomlkit
|
python-tomlkit
|
||||||
python-dasbus
|
python-dasbus
|
||||||
|
python-msgpack
|
||||||
# AI Assistant dependencies (for screenshots, HTTP requests, and actions)
|
python-tornado
|
||||||
python-requests
|
python-xlib
|
||||||
python-pyautogui
|
|
||||||
|
|
||||||
# Desktop integration
|
# Desktop integration
|
||||||
hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
libwnck3
|
libwnck3
|
||||||
pango
|
pango
|
||||||
|
|
||||||
# System utilities
|
# System utilities
|
||||||
python
|
|
||||||
python-setproctitle
|
python-setproctitle
|
||||||
socat # for self-voicing feature
|
|
||||||
xorg-xkbcomp
|
xorg-xkbcomp
|
||||||
xorg-xmodmap
|
|
||||||
)
|
)
|
||||||
optdepends=(
|
optdepends=(
|
||||||
'espeak-ng: Alternative TTS engine'
|
'git: Install and update third-party plugin sources'
|
||||||
'festival: Alternative TTS engine'
|
'python-pywayland: Wayland shared workspace backend'
|
||||||
'flite: Lightweight TTS engine'
|
'piper-tts: Piper speech backend'
|
||||||
'espeak: Legacy TTS engine'
|
'socat: Send text to the Self Voice socket from the command line'
|
||||||
|
|
||||||
# AI Assistant providers (optional)
|
# 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'
|
'claude-code: Claude AI provider support'
|
||||||
'openai-codex: ChatGPT AI provider support'
|
'openai-codex: OpenAI Codex provider support'
|
||||||
'gemini-cli: Gemini AI provider support'
|
'gemini-cli: Gemini AI provider support'
|
||||||
'ollama: Local AI model support'
|
'ollama: Local AI model support'
|
||||||
|
|
||||||
# OCR plugin dependencies (optional)
|
# OCR plugin dependencies (optional)
|
||||||
'python-pillow: Image processing for OCR and AI Assistant'
|
'python-pillow: Image processing for OCR'
|
||||||
'python-pytesseract: Python wrapper for Tesseract OCR engine'
|
'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: 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=(
|
makedepends=(
|
||||||
git
|
git
|
||||||
meson
|
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'
|
|
||||||
)
|
)
|
||||||
|
source=("${_pkgname}::git+https://git.stormux.org/storm/${_pkgname}.git#branch=master")
|
||||||
|
sha512sums=('SKIP')
|
||||||
|
|
||||||
pkgver() {
|
pkgver() {
|
||||||
cd "${_pkgname}"
|
cd "${_pkgname}"
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
@@ -1,96 +1,73 @@
|
|||||||
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
|
||||||
|
# shellcheck shell=bash disable=SC2034,SC2154,SC2164
|
||||||
|
|
||||||
pkgname=cthulhu
|
pkgname=cthulhu
|
||||||
pkgver=2026.05.25
|
pkgver=2026.05.25
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
|
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
|
||||||
url="https://git.stormux.org/storm/cthulhu"
|
url="https://git.stormux.org/storm/cthulhu"
|
||||||
arch=(any)
|
arch=(any)
|
||||||
license=(LGPL)
|
license=(LGPL-2.1-or-later)
|
||||||
depends=(
|
depends=(
|
||||||
# Core AT-SPI accessibility
|
# Core AT-SPI accessibility
|
||||||
at-spi2-core
|
at-spi2-core
|
||||||
|
glib2
|
||||||
gobject-introspection-runtime
|
gobject-introspection-runtime
|
||||||
python-gobject
|
python-gobject
|
||||||
python-cairo
|
python-cairo
|
||||||
gtk3
|
gtk3
|
||||||
python-pywayland
|
|
||||||
# Audio and speech
|
# Audio and speech
|
||||||
speech-dispatcher
|
speech-dispatcher
|
||||||
gstreamer
|
gstreamer
|
||||||
gst-plugins-base # playbin, audiotestsrc, basic decoders
|
gst-plugins-base # playbin, audiotestsrc, basic decoders
|
||||||
gst-plugins-good # pulsesink, more decoders
|
gst-plugins-good # pulsesink, more decoders
|
||||||
|
|
||||||
# Braille support
|
# Braille support
|
||||||
brltty
|
python-brltty
|
||||||
liblouis
|
liblouis
|
||||||
|
|
||||||
# Plugin system and D-Bus remote control
|
# Plugin system and D-Bus remote control
|
||||||
python-pluggy
|
python-pluggy
|
||||||
python-tomlkit
|
python-tomlkit
|
||||||
python-dasbus
|
python-dasbus
|
||||||
|
python-msgpack
|
||||||
# AI Assistant dependencies (for screenshots, HTTP requests, and actions)
|
python-tornado
|
||||||
python-requests
|
python-xlib
|
||||||
python-pyautogui
|
|
||||||
|
|
||||||
# Desktop integration
|
# Desktop integration
|
||||||
hicolor-icon-theme
|
hicolor-icon-theme
|
||||||
libwnck3
|
libwnck3
|
||||||
pango
|
pango
|
||||||
|
|
||||||
# System utilities
|
# System utilities
|
||||||
python
|
|
||||||
python-setproctitle
|
python-setproctitle
|
||||||
socat # for self-voicing feature
|
|
||||||
xorg-xkbcomp
|
xorg-xkbcomp
|
||||||
xorg-xmodmap
|
|
||||||
)
|
)
|
||||||
optdepends=(
|
optdepends=(
|
||||||
'espeak-ng: Alternative TTS engine'
|
'git: Install and update third-party plugin sources'
|
||||||
'festival: Alternative TTS engine'
|
'python-pywayland: Wayland shared workspace backend'
|
||||||
'flite: Lightweight TTS engine'
|
'piper-tts: Piper speech backend'
|
||||||
'espeak: Legacy TTS engine'
|
'socat: Send text to the Self Voice socket from the command line'
|
||||||
|
|
||||||
# AI Assistant providers (optional)
|
# 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'
|
'claude-code: Claude AI provider support'
|
||||||
'openai-codex: ChatGPT AI provider support'
|
'openai-codex: OpenAI Codex provider support'
|
||||||
'gemini-cli: Gemini AI provider support'
|
'gemini-cli: Gemini AI provider support'
|
||||||
'ollama: Local AI model 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)
|
# OCR plugin dependencies (optional)
|
||||||
'python-xlib: X11 access for Wine window title plugin'
|
'python-pillow: Image processing for OCR'
|
||||||
|
'python-pytesseract: Python wrapper for Tesseract OCR engine'
|
||||||
|
'tesseract: OCR engine for text recognition'
|
||||||
)
|
)
|
||||||
makedepends=(
|
makedepends=(
|
||||||
git
|
git
|
||||||
meson
|
meson
|
||||||
ninja
|
|
||||||
python-build
|
|
||||||
python-installer
|
|
||||||
python-wheel
|
|
||||||
)
|
|
||||||
install=cthulhu.install
|
|
||||||
source=(
|
|
||||||
"git+https://git.stormux.org/storm/cthulhu.git#tag=${pkgver}"
|
|
||||||
"cthulhu.install"
|
|
||||||
)
|
|
||||||
b2sums=(
|
|
||||||
'SKIP'
|
|
||||||
'SKIP'
|
|
||||||
)
|
)
|
||||||
|
source=("git+https://git.stormux.org/storm/cthulhu.git#tag=${pkgver}")
|
||||||
|
sha512sums=('SKIP')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd cthulhu
|
cd cthulhu
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
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
|
|
||||||
}
|
|
||||||
@@ -56,12 +56,8 @@ optional_modules = {
|
|||||||
'louis': 'contracted braille',
|
'louis': 'contracted braille',
|
||||||
'speechd': 'speech output',
|
'speechd': 'speech output',
|
||||||
'dasbus': 'D-Bus remote controller',
|
'dasbus': 'D-Bus remote controller',
|
||||||
'psutil': 'system information commands',
|
|
||||||
'pywayland': 'Wayland shared workspace backend',
|
'pywayland': 'Wayland shared workspace backend',
|
||||||
'gi.repository.Wnck': 'mouse review',
|
'gi.repository.Wnck': 'mouse review',
|
||||||
'pdf2image': 'PDF processing for OCR',
|
|
||||||
'scipy': 'Scientific computing for OCR analysis',
|
|
||||||
'webcolors': 'Color name resolution for OCR',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
summary = {}
|
summary = {}
|
||||||
|
|||||||
@@ -23,5 +23,5 @@
|
|||||||
# Forked from Orca screen reader.
|
# Forked from Orca screen reader.
|
||||||
# Cthulhu project: https://git.stormux.org/storm/cthulhu
|
# Cthulhu project: https://git.stormux.org/storm/cthulhu
|
||||||
|
|
||||||
version = "2026.07.17"
|
version = "2026.07.18"
|
||||||
codeName = "master"
|
codeName = "master"
|
||||||
|
|||||||
@@ -47,28 +47,6 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
PYTESSERACT_AVAILABLE = False
|
PYTESSERACT_AVAILABLE = False
|
||||||
|
|
||||||
# pdf2image
|
|
||||||
try:
|
|
||||||
from pdf2image import convert_from_path
|
|
||||||
PDF2IMAGE_AVAILABLE = True
|
|
||||||
except ImportError:
|
|
||||||
PDF2IMAGE_AVAILABLE = False
|
|
||||||
|
|
||||||
# scipy
|
|
||||||
try:
|
|
||||||
from scipy.spatial import KDTree
|
|
||||||
SCIPY_AVAILABLE = True
|
|
||||||
except ImportError:
|
|
||||||
SCIPY_AVAILABLE = False
|
|
||||||
|
|
||||||
# webcolors
|
|
||||||
try:
|
|
||||||
from webcolors import CSS3_HEX_TO_NAMES
|
|
||||||
from webcolors import hex_to_rgb
|
|
||||||
WEBCOLORS_AVAILABLE = True
|
|
||||||
except ImportError:
|
|
||||||
WEBCOLORS_AVAILABLE = False
|
|
||||||
|
|
||||||
# GTK/GDK
|
# GTK/GDK
|
||||||
try:
|
try:
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
@@ -594,9 +572,7 @@ class OCRDesktop(Plugin):
|
|||||||
"""Get color information for OCR text (simplified version)."""
|
"""Get color information for OCR text (simplified version)."""
|
||||||
if not self._colorCalculation:
|
if not self._colorCalculation:
|
||||||
return 'unknown'
|
return 'unknown'
|
||||||
if not SCIPY_AVAILABLE or not WEBCOLORS_AVAILABLE:
|
|
||||||
return 'unknown'
|
|
||||||
|
|
||||||
# Simplified color calculation - just return "unknown" for now
|
# Simplified color calculation - just return "unknown" for now
|
||||||
# Full implementation would require the color analysis from ocrdesktop
|
# Full implementation would require the color analysis from ocrdesktop
|
||||||
return 'unknown'
|
return 'unknown'
|
||||||
|
|||||||
Reference in New Issue
Block a user