Conversation
Two small setuptools C++ extensions (x11, egl) dlopen their target libraries at runtime, so no native deps are needed at build time beyond libdl. Builds both manylinux and musllinux riscv64 targets across cp312/cp313/cp314/cp314t. Upstream's own release workflow ships wheels with no test step at all, and its pytest suite hard-depends on the x11 backend (default_backend() on Linux), which needs a running X server this headless runner doesn't have. The egl backend is this package's actual headless use case and the manylinux/musllinux riscv64 images ship Mesa's software rasterizer, so it gets a real functional test (creates a context, reads GL_VENDOR via glGetString); the x11 backend is checked for a clean failure instead of a crash, proving its compiled extension loads and resolves symbols correctly.
luhenry
added a commit
that referenced
this pull request
Sep 7, 2026
This reverts commit 6ea2fb2.
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.
glcontext3.0.0Compiles two small C++ extensions (
x11,egl) that dlopen their target libraries at runtime, no native build deps. Upstream publishes no riscv64 wheel.Mirrors upstream's
release.yml.Differs from upstream
Testing
GL_VENDOR.License: OK
Built on cp312 manylinux_riscv64 locally: egl context created (GL_VENDOR = Mesa/llvmpipe), x11 failed cleanly as expected.