Skip to content

espeakng-loader: add build-espeakng-loader.yml for riscv64 wheels - #1395

Merged
luhenry merged 3 commits into
mainfrom
espeakng-loader
Sep 7, 2026
Merged

espeakng-loader: add build-espeakng-loader.yml for riscv64 wheels#1395
luhenry merged 3 commits into
mainfrom
espeakng-loader

Conversation

@luhenry

@luhenry luhenry commented Sep 7, 2026

Copy link
Copy Markdown
Member

Compiles eSpeak NG 1.52.0 and repackages it as a py3-none wheel via the loader's own hatchling hook. Upstream publishes no riscv64 wheel.

Mirrors upstream's build.yml and pypi.yml.

Differs from upstream

  • Adds -DCMAKE_POSITION_INDEPENDENT_CODE=ON - riscv64's ld rejects the vendored sonic library's non-PIC relocations, unlike x86_64/aarch64.
  • Builds espeak-ng-data itself rather than downloading upstream's release asset, keeping the whole wheel's provenance in one build.

Testing

  • No upstream test suite; exercises the README's own usage example (load the library, call espeak_Info) against the built wheel.

License: Wheel bundles a compiled eSpeak NG (GPL-3.0-or-later); gpl_sources archives the source it was built from.

Built on riscv64; loader import, library load, and espeak_Info() call all pass.

actions/checkout's persist-credentials cleanup runs `git submodule
foreach`, which dies on this repo's espeak-ng gitlink with no
.gitmodules entry.
The runner's stock venv pip predates riscv64 manylinux tag support
and rejects the wheel as unsupported on this platform.
@luhenry
luhenry merged commit 3a0dc94 into main Sep 7, 2026
7 checks passed
@luhenry
luhenry deleted the espeakng-loader branch September 7, 2026 17:35
@luhenry luhenry linked an issue Sep 7, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

espeakng-loader riscv64 support

1 participant