Skip to content

sqlean-py: add build-sqlean-py.yml for riscv64 wheels - #1217

Merged
luhenry merged 3 commits into
mainfrom
sqlean-py
Sep 7, 2026
Merged

sqlean-py: add build-sqlean-py.yml for riscv64 wheels#1217
luhenry merged 3 commits into
mainfrom
sqlean-py

Conversation

@luhenry

@luhenry luhenry commented Sep 7, 2026

Copy link
Copy Markdown
Member

Builds the sqlean._sqlite3 extension, a drop-in stdlib sqlite3 replacement bundling a SQLite amalgamation plus the sqlean.py C extensions. Upstream publishes no riscv64 wheel.

Mirrors upstream's publish.yaml wheels job.

Differs from upstream

  • CIBW_BEFORE_BUILD runs upstream's own make prepare-src download-sqlite download-sqlean - those sources aren't checked into the repo
  • Adds LICENSE.sqlean/LICENSE.pcre2 - see License below

Testing

  • same as upstream

License: wheel compiles sqlean (MIT) and its bundled PCRE2 (BSD-3-Clause) straight into the extension; upstream ships neither licence text, so the patch adds both.

Patches

  • 0001-add-the-vendored-sqlean-and-PCRE2-licences-next-to-the-package-s-own.patch - To upstream [blocked: this port may only touch riseproject-dev/python-wheels]. Without it the wheel ships only the wrapper's own LICENSE; reproduces on any platform.

Built locally on cp39/macOS (portability rehearsal): 361 passed, 2 skipped.

Adds a riscv64 wheel build for sqlean-py, a drop-in stdlib sqlite3
replacement bundling a SQLite amalgamation plus the sqlean.py C
extensions. Mirrors upstream's publish.yaml wheels job: cibuildwheel
builds directly from the tagged checkout, and CIBW_BEFORE_BUILD runs
the same make targets upstream's own CI uses to fetch the SQLite and
sqlean sources (not checked into the repo). Tests run upstream's own
'python -m tests' suite against the built wheel.
The Makefile fetches sqlean's extensions (MIT) and their bundled PCRE2
(BSD-3-Clause) at build time; neither is checked into the repo so
neither licence text ships in the wheel. Add both at the project root
so setuptools' default LICEN[CS]E* glob picks them up.
tests/extensions.py imports setup.py (for SQLEAN_VERSION), which
imports setuptools; cibuildwheel's test venv doesn't install build
deps, so 'python -m tests' failed with ModuleNotFoundError on every
interpreter (confirmed on cp312/cp314 CI logs, reproduced locally).
@luhenry
luhenry merged commit 531fe08 into main Sep 7, 2026
9 checks passed
@luhenry
luhenry deleted the sqlean-py branch September 7, 2026 08:18
@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.

sqlean-py riscv64 support

1 participant