From b901371df0a13926c0d2582bd9059e6cb79f274d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 30 Jul 2025 19:21:45 +0530 Subject: [PATCH] Get CI working --- setup/arch-ci.sh | 12 ++++++++---- setup/unix-ci.py | 2 ++ setup/win-ci.py | 1 + src/calibre/utils/tts/piper.py | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/setup/arch-ci.sh b/setup/arch-ci.sh index 6f1d7ae491..a9a35af95e 100755 --- a/setup/arch-ci.sh +++ b/setup/arch-ci.sh @@ -5,10 +5,14 @@ set -xe -pacman -S --noconfirm --needed base-devel sudo git sip pyqt-builder cmake chmlib icu jxrlib hunspell libmtp libusb libwmf optipng python-apsw python-beautifulsoup4 python-cssselect python-css-parser python-dateutil python-jeepney python-dnspython python-feedparser python-html2text python-html5-parser python-lxml python-lxml-html-clean python-markdown python-mechanize python-msgpack python-netifaces python-unrardll python-pillow python-psutil python-pygments python-pyqt6 python-regex python-zeroconf python-pyqt6-webengine qt6-svg qt6-imageformats qt6-speech udisks2 hyphen python-pychm python-pycryptodome speech-dispatcher python-sphinx python-urllib3 python-py7zr python-pip python-fonttools python-xxhash uchardet libstemmer poppler tk podofo python-jaconv python-pykakasi +pacman -S --noconfirm --needed base-devel sudo git sip pyqt-builder cmake chmlib icu jxrlib hunspell libmtp libusb libwmf optipng python-apsw python-beautifulsoup4 python-cssselect python-css-parser python-dateutil python-jeepney python-dnspython python-feedparser python-html2text python-html5-parser python-lxml python-lxml-html-clean python-markdown python-mechanize python-msgpack python-netifaces python-unrardll python-pillow python-psutil python-pygments python-pyqt6 python-regex python-zeroconf python-pyqt6-webengine qt6-svg qt6-imageformats qt6-speech udisks2 hyphen python-pychm python-pycryptodome speech-dispatcher python-sphinx python-urllib3 python-py7zr python-pip python-fonttools python-xxhash uchardet libstemmer poppler tk podofo python-jaconv python-pykakasi protobuf onnxruntime + +git clone --depth=1 https://github.com/espeak-ng/espeak-ng.git +chown -R nobody:nobody espeak-ng +cd espeak-ng +cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=ON -DESPEAK_COMPAT=ON +cmake --build build +cmake --install build useradd -m ci chown -R ci:users $GITHUB_WORKSPACE - -curl -fSsL https://github.com/rhasspy/piper/releases/download/2023.11.14-2/piper_linux_x86_64.tar.gz | tar -C /opt -x -v -z -ln -s /opt/piper/piper /usr/bin/piper-tts diff --git a/setup/unix-ci.py b/setup/unix-ci.py index 31ef31ac56..8090e03db8 100644 --- a/setup/unix-ci.py +++ b/setup/unix-ci.py @@ -43,6 +43,7 @@ if ismacos: if old: old += ':' setenv('DYLD_FALLBACK_LIBRARY_PATH', old + '$SW/lib') + setenv('CALIBRE_ESPEAK_DATA_DIR', '$SW/share/espeak-ng-data') else: SWBASE = '/sw' @@ -57,6 +58,7 @@ else: setenv('PKG_CONFIG_PATH', '$SW/lib/pkgconfig') setenv('QMAKE', '$SW/qt/bin/qmake') setenv('CALIBRE_QT_PREFIX', '$SW/qt') + setenv('CALIBRE_ESPEAK_DATA_DIR', '$SW/share/espeak-ng-data') def run(*args, timeout=600): diff --git a/setup/win-ci.py b/setup/win-ci.py index 26e8c77acc..eabd58e08f 100644 --- a/setup/win-ci.py +++ b/setup/win-ci.py @@ -84,6 +84,7 @@ def setup_env(): os.environ['CI'] = 'true' os.environ['OPENSSL_MODULES'] = os.path.join(SW, 'lib', 'ossl-modules') os.environ['PIPER_TTS_DIR'] = os.path.join(SW, 'piper') + os.environ['CALIBRE_ESPEAK_DATA_DIR'] = os.path.join(SW, 'share', 'espeak-ng-data') def main(): diff --git a/src/calibre/utils/tts/piper.py b/src/calibre/utils/tts/piper.py index 26d1fd2276..56455c17c1 100644 --- a/src/calibre/utils/tts/piper.py +++ b/src/calibre/utils/tts/piper.py @@ -62,7 +62,7 @@ def load_voice_config(path: str) -> VoiceConfig: def espeak_data_dir() -> str: if not getattr(sys, 'frozen', False): - return '' + return os.environ.get('CALIBRE_ESPEAK_DATA_DIR', '') if iswindows: return os.path.join(os.path.dirname(sys.executables_location), 'share', 'espeak-ng-data') if ismacos: