diff --git a/distro-packages/Arch-Linux/cthulhu-git/PKGBUILD b/distro-packages/Arch-Linux/cthulhu-git/PKGBUILD index 819d4f8..fdb3d2d 100644 --- a/distro-packages/Arch-Linux/cthulhu-git/PKGBUILD +++ b/distro-packages/Arch-Linux/cthulhu-git/PKGBUILD @@ -1,23 +1,24 @@ # Maintainer: Storm Dragon +# shellcheck shell=bash disable=SC2034,SC2154,SC2164 pkgname=cthulhu-git _pkgname=cthulhu pkgver=2026.05.25.r407.gc39f231 -pkgrel=1 +pkgrel=2 pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca" url="https://git.stormux.org/storm/cthulhu" arch=(any) -license=(LGPL) -provides=("${_pkgname}") +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 - python-pywayland # Audio and speech speech-dispatcher gstreamer @@ -25,75 +26,51 @@ depends=( gst-plugins-good # pulsesink, more decoders # Braille support - brltty + python-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 - + python-msgpack + python-tornado + python-xlib + # 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' + '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: ChatGPT 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 and AI Assistant' + 'python-pillow: Image processing for OCR' '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' ) +source=("${_pkgname}::git+https://git.stormux.org/storm/${_pkgname}.git#branch=master") +sha512sums=('SKIP') pkgver() { cd "${_pkgname}" diff --git a/distro-packages/Arch-Linux/cthulhu-git/cthulhu.install b/distro-packages/Arch-Linux/cthulhu-git/cthulhu.install deleted file mode 100644 index 0fbb304..0000000 --- a/distro-packages/Arch-Linux/cthulhu-git/cthulhu.install +++ /dev/null @@ -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 -} diff --git a/distro-packages/Arch-Linux/cthulhu/PKGBUILD b/distro-packages/Arch-Linux/cthulhu/PKGBUILD index b34a264..d427052 100644 --- a/distro-packages/Arch-Linux/cthulhu/PKGBUILD +++ b/distro-packages/Arch-Linux/cthulhu/PKGBUILD @@ -1,96 +1,73 @@ # Maintainer: Storm Dragon +# shellcheck shell=bash disable=SC2034,SC2154,SC2164 pkgname=cthulhu pkgver=2026.05.25 -pkgrel=1 +pkgrel=2 pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca" url="https://git.stormux.org/storm/cthulhu" arch=(any) -license=(LGPL) +license=(LGPL-2.1-or-later) depends=( # Core AT-SPI accessibility at-spi2-core + glib2 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 + python-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 - + python-msgpack + python-tornado + python-xlib + # 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' - + '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: ChatGPT 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 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' + # OCR plugin dependencies (optional) + 'python-pillow: Image processing for OCR' + 'python-pytesseract: Python wrapper for Tesseract OCR engine' + 'tesseract: OCR engine for text recognition' ) makedepends=( git 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() { cd cthulhu diff --git a/distro-packages/Arch-Linux/cthulhu/cthulhu.install b/distro-packages/Arch-Linux/cthulhu/cthulhu.install deleted file mode 100644 index 0fbb304..0000000 --- a/distro-packages/Arch-Linux/cthulhu/cthulhu.install +++ /dev/null @@ -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 -} diff --git a/meson.build b/meson.build index b5a502b..d39d003 100644 --- a/meson.build +++ b/meson.build @@ -56,12 +56,8 @@ optional_modules = { 'louis': 'contracted braille', 'speechd': 'speech output', 'dasbus': 'D-Bus remote controller', - 'psutil': 'system information commands', 'pywayland': 'Wayland shared workspace backend', 'gi.repository.Wnck': 'mouse review', - 'pdf2image': 'PDF processing for OCR', - 'scipy': 'Scientific computing for OCR analysis', - 'webcolors': 'Color name resolution for OCR', } summary = {} diff --git a/src/cthulhu/cthulhuVersion.py b/src/cthulhu/cthulhuVersion.py index 0eb4174..2645702 100644 --- a/src/cthulhu/cthulhuVersion.py +++ b/src/cthulhu/cthulhuVersion.py @@ -23,5 +23,5 @@ # Forked from Orca screen reader. # Cthulhu project: https://git.stormux.org/storm/cthulhu -version = "2026.07.17" +version = "2026.07.18" codeName = "master" diff --git a/src/cthulhu/plugins/OCR/plugin.py b/src/cthulhu/plugins/OCR/plugin.py index 996e6dd..ef0c631 100644 --- a/src/cthulhu/plugins/OCR/plugin.py +++ b/src/cthulhu/plugins/OCR/plugin.py @@ -47,28 +47,6 @@ try: except ImportError: 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 try: gi.require_version("Gtk", "3.0") @@ -594,9 +572,7 @@ class OCRDesktop(Plugin): """Get color information for OCR text (simplified version).""" if not self._colorCalculation: return 'unknown' - if not SCIPY_AVAILABLE or not WEBCOLORS_AVAILABLE: - return 'unknown' - + # Simplified color calculation - just return "unknown" for now # Full implementation would require the color analysis from ocrdesktop return 'unknown'