From 640f61a3fc69855c10c804bba39252d4e770a04d Mon Sep 17 00:00:00 2001 From: Alexandre ZANNI <16578570+noraj@users.noreply.github.com> Date: Sun, 20 Sep 2026 00:25:45 +0200 Subject: [PATCH 1/2] bump cibuildwheel to 4.2.1 - 3.0.0 adds non-default CPython 3.14 support and drops support for building Python 3.6 and 3.7 wheels, also remove default 32 bit support as it's anyway no longer supported by newer manylinux - 3.1.0 adds CPython 3.14 by default - 4.0.0 dds non-default CPython 3.15 support and drops support for building Python 3.8 - 4.2.0 adds CPython 3.15 by default --- .github/workflows/build_arm.yml | 3 ++- .github/workflows/build_publish.yml | 6 ++++-- .github/workflows/build_test.yml | 6 ++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_arm.yml b/.github/workflows/build_arm.yml index 54ee5b4..1a4d3e6 100644 --- a/.github/workflows/build_arm.yml +++ b/.github/workflows/build_arm.yml @@ -30,10 +30,11 @@ jobs: - name: Get submodules run: git submodule update --init --recursive - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@v4.2.1 env: CIBW_ARCHS: ${{ matrix.cibw_archs }} CIBW_SKIP: "pp*" + CIBW_ENABLE: "pypy pypy-eol" - uses: actions/upload-artifact@v4.6.2 with: name: wheels diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml index 4c5419c..1d844a6 100644 --- a/.github/workflows/build_publish.yml +++ b/.github/workflows/build_publish.yml @@ -19,7 +19,7 @@ jobs: name: Install Python - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.23.3 + run: python -m pip install cibuildwheel==4.2.1 - name: Get submodules run: git submodule update --init --recursive @@ -30,13 +30,15 @@ jobs: python -m cibuildwheel --output-dir wheels env: CIBW_SKIP: "cp27-* pp27-*" # skip Python 2.7 wheels + CIBW_ENABLE: "pypy pypy-eol" - name: Build wheels for mac and manylinux if: "!startsWith(matrix.os, 'windows')" run: | python -m cibuildwheel --output-dir wheels env: - CIBW_ARCHS_MACOS: "auto x86_64 universal2 arm64" + CIBW_ARCHS_MACOS: "auto auto32 x86_64 universal2 arm64" + CIBW_ENABLE: "pypy pypy-eol" - uses: actions/upload-artifact@v4.6.2 name: Upload wheels diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 12f5bac..236dbbc 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -17,7 +17,7 @@ jobs: name: Install Python - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.23.3 + run: python -m pip install cibuildwheel==4.2.1 - name: Get submodules run: git submodule update --init --recursive @@ -28,10 +28,12 @@ jobs: python -m cibuildwheel --output-dir wheels env: CIBW_SKIP: "cp27-* pp27-*" # skip Python 2.7 wheels + CIBW_ENABLE: "pypy pypy-eol" - name: Build wheels for mac and manylinux if: "!startsWith(matrix.os, 'windows')" run: | python -m cibuildwheel --output-dir wheels env: - CIBW_ARCHS_MACOS: "auto x86_64 universal2 arm64" + CIBW_ARCHS_MACOS: "auto auto32 x86_64 universal2 arm64" + CIBW_ENABLE: "pypy pypy-eol" From aa0fa03dbe8cdc3ddfb9b92a66a57157e675ac9b Mon Sep 17 00:00:00 2001 From: Ajin Abraham Date: Sun, 20 Sep 2026 18:14:55 -0700 Subject: [PATCH 2/2] Define _GNU_SOURCE so Linux wheels build under GCC 14 Co-authored-by: Cursor --- setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.py b/setup.py index f1f6632..d2833a9 100644 --- a/setup.py +++ b/setup.py @@ -182,6 +182,9 @@ def run(self): building_for_openbsd = 'openbsd' in self.plat_name # need testing if building_for_linux: + # glibc/musl only declare memmem() when _GNU_SOURCE is set; GCC 14 + # treats the missing prototype as an error. + module.define_macros.append(('_GNU_SOURCE', '1')) module.define_macros.append(('USE_LINUX_PROC', '1')) elif building_for_windows: module.define_macros.append(('USE_WINDOWS_PROC', '1'))