praat-parselmouth: add build-praat-parselmouth.yml for riscv64 wheels - #1746
Merged
Merged
Conversation
luhenry
added a commit
that referenced
this pull request
Sep 11, 2026
…BINARY PyPI ships no riscv64 wheel for any cmake release below 4.0 (only our registry does, up to 3.31.6); with the cmake<4 pin and only PIP_EXTRA_INDEX_URL set, pip resolved the numerically highest match (PyPI's 3.31.10, wheel-less) and fell back to a source build that needs OpenSSL dev headers the manylinux_riscv64 image doesn't carry. Scoping PIP_ONLY_BINARY to numpy,cmake makes pip prefer the highest version that actually has a wheel instead (gotcha 84).
test_xs recomputes each Sampled's x grid in Python and compares it to the C++-computed values with strict == equality; on riscv64 the two independently-computed float64 expressions differ in their last bit or two, failing the assert even though the values agree to machine precision. Wire up patch application (git apply, matching mmcif's pattern) and add patches/praat-parselmouth/** to the pull_request trigger.
…ombined-job upload name The build_wheels job uploads one artifact per whole job (cp312/cp313/ cp314 combined into a single cibuildwheel invocation), not one per interpreter, so its name has no per-interpreter segment. The publish job's artifact-pattern still had a -*- wildcard expecting one, which matched nothing and failed with "No wheels found in dist" even though build_wheels had already succeeded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
praat-parselmouth0.4.7Compiles Praat's vendored C/C++ phonetics core (clapack, gsl, glpk, flac, portaudio, espeak, vorbis, opusfile, all built from bundled source) and its pybind11 bindings. Upstream publishes no riscv64 wheel.
Mirrors the
wheelsjob of upstream'swheels.yml.Differs from upstream
cmake<4pinned inpyproject.tomlat build time - same fix upstream applies in its own CI, needed because the vendored pybind11/fmtCMakeLists.txtpredate cmake 4's dropped compatibility floor.Matrix: cp312/cp313/cp314 - cp314t dropped, matching upstream's own unconditional
CIBW_SKIP: cp314t-*(the vendored pybind11 2.6.2 predates free-threading support).Testing
tests/suite (fromci.yml, notwheels.yml, which only checks wheels with twine) against the built wheel.License: OK
Built on cp312/cp313/cp314.