From b9f97f264da0a0c02086ad8b036504869b55906a Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:00:02 +0000 Subject: [PATCH 1/2] duckdb: Add version 2.0.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/duckdb.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/duckdb.yaml b/docs/packages/duckdb.yaml index 5e6539f4e9c5..3b71607d69a4 100644 --- a/docs/packages/duckdb.yaml +++ b/docs/packages/duckdb.yaml @@ -26,3 +26,4 @@ versions: - filename: duckdb-1.5.6-cp314-cp314-manylinux_2_39_riscv64.whl sha256: ae97ab724d527e3b03c4b4380b2578cc47ffceed4d87451aa0f47adf99b631b9 requires-python: '>=3.10.0' +- version: 2.0.0 From c23b11c0df86320e9031172c4c9cd435f8df7cc5 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 12:24:44 +0800 Subject: [PATCH 2/2] duckdb: build 2.0.0 with clang/lld ThinLTO as one cp312-abi3 wheel --- .github/workflows/build-duckdb.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-duckdb.yml b/.github/workflows/build-duckdb.yml index 29fd79af4621..51ba5f060e10 100644 --- a/.github/workflows/build-duckdb.yml +++ b/.github/workflows/build-duckdb.yml @@ -49,8 +49,11 @@ jobs: fail-fast: false matrix: version: ${{ fromJSON(needs.setup.outputs.versions) }} + # From 2.0.0 the bindings link the stable ABI (`py-api = "cp312"` in + # pyproject.toml), so one cp312-abi3 wheel serves CPython 3.12 and up; + # building cp313/cp314 too would only produce the same file name again. # Upstream publishes no free-threaded wheel. - python: ["cp312", "cp313", "cp314"] + python: ["cp312"] env: DUCKDB_VERSION: ${{ matrix.version }} @@ -73,10 +76,13 @@ jobs: CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }} # Upstream's build[uv] frontend crashes cibuildwheel's audit step here (no host uv). CIBW_BUILD_FRONTEND: build - # Clears upstream's `yum install -y ccache`: ccache is EPEL-only, and the riscv64 manylinux image has no EPEL. - CIBW_BEFORE_BUILD: '' + # Upstream's `yum install -y ccache clang lld` minus ccache (EPEL-only, and the riscv64 manylinux image has no + # EPEL): since 2.0.0 the Linux wheels link with ThinLTO (DUCKDB_PY_LTO=thin), which needs clang and lld. + CIBW_BEFORE_BUILD: yum install -y clang lld # Upstream's release job pins the version the same way (packaging.yml set-version). CIBW_ENVIRONMENT: >- + CC=clang + CXX=clang++ OVERRIDE_GIT_DESCRIBE=v${{ env.DUCKDB_VERSION }} PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ # Test phase only, so it can't starve the build backend (gotcha 12).