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" 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'))