Skip to content

couchbase: Add version 4.6.3 - #2184

Merged
luhenry merged 1 commit into
mainfrom
couchbase
Sep 22, 2026
Merged

luhenry merged 1 commit into
mainfrom
couchbase

Conversation

@luhenry

@luhenry luhenry commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Compiles the SDK's CPython extension on top of the vendored couchbase-cxx-client C++ core and the dependencies its CPM cache carries: BoringSSL, asio, snappy, spdlog, taocpp/json, llhttp, GSL and hdr_histogram. Upstream publishes no riscv64 wheel.

Mirrors upstream's BUILDING.md; upstream cuts its released wheels on Jenkins, so there is no public workflow to copy.

Differs from upstream

  • CMAKE_POLICY_VERSION_MINIMUM=3.5 - the vendored GSL declares a cmake_minimum_required below CMake 4's floor.
  • Adds a cp314t leg upstream does not build.

Testing

  • Upstream's suite needs a live Couchbase Server, which has no riscv64 build, so the wheel gets a functional check instead: the extension is a real .so, the C++ core reports version 1.3.2 with BoringSSL as its TLS backend, and a bootstrap against an unroutable address comes back as a CouchbaseException.

License: Wheel statically links BoringSSL (ISC/OpenSSL), asio (BSL-1.0), snappy (BSD-3-Clause), and spdlog, taocpp/json, llhttp, GSL and hdr_histogram (MIT/BSD), exactly as upstream's own wheels do.

Patches

  • 0001-Detect-riscv64-as-a-correct-double-operations-target.patch - Upstream-Status: Backport taocpp/json 91a480f. Without it the vendored double-conversion's architecture list falls through to #error Target architecture was not detected as supported by Double-Conversion. riscv64-only.
  • 0002-Do-not-make-cast-align-fatal-on-strict-alignment-tar.patch - Upstream-Status: To upstream. GCC emits -Wcast-align only on strict-alignment targets, so the core's byte-buffer-to-protocol-header casts are fatal here and silent on x86_64 and aarch64. riscv64-only.

Built on cp312, cp313, cp314 and cp314t; 4 wheels, smoke test green on each.

luhenry added a commit that referenced this pull request Sep 21, 2026
@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-22 07:04 UTC

luhenry added a commit that referenced this pull request Sep 21, 2026
Builds the Python SDK's C extension on top of the vendored couchbase-cxx-client
C++ core, statically linking the vendored BoringSSL the way upstream's own wheels
do. The sdist job populates the CPM cache from the upstream checkout so the riscv
build container needs no network access for the C++ dependencies.

Two patches: one backports taocpp/json's riscv64 entry in the vendored
double-conversion architecture list, whose #error fallthrough otherwise stops the
build; the other stops -Wcast-align being fatal, since GCC only emits it on
strict-alignment targets and the C++ core casts byte buffers to protocol headers.
luhenry added a commit that referenced this pull request Sep 21, 2026
@luhenry
luhenry marked this pull request as ready for review September 21, 2026 22:07
@luhenry
luhenry merged commit 00bbf36 into main Sep 22, 2026
19 checks passed
@luhenry
luhenry deleted the couchbase branch September 22, 2026 06:46
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.

1 participant