diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4702ec30..afd97214 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,7 +92,7 @@ jobs: arch: "armv7l" build: "musllinux_" use_qemu: false - - os: windows-2019 + - os: windows-2022 arch: "AMD64" build: "" use_qemu: false @@ -100,7 +100,7 @@ jobs: arch: "ARM64" build: "" use_qemu: false - - os: windows-2019 + - os: windows-2022 arch: "x86" build: "" use_qemu: false @@ -125,7 +125,7 @@ jobs: if: matrix.use_qemu && fromJSON(env.USE_QEMU) - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.0 if: (!matrix.use_qemu) || fromJSON(env.USE_QEMU) env: CIBW_ARCHS: "${{ matrix.arch }}" @@ -137,36 +137,6 @@ jobs: name: cibw-${{ runner.os }}-${{ matrix.build }}${{ matrix.arch }} path: ./wheelhouse/*.whl - build_manylinux2010_wheels: - name: Build ${{ matrix.arch }} manylinux2010 wheels - needs: [lint] - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - arch: "x86_64" - - arch: "i686" - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # required for versioneer to find tags - - - name: Build wheels - uses: pypa/cibuildwheel@v2.23 - env: - CIBW_ARCHS: "${{ matrix.arch }}" - CIBW_BUILD: "cp39-manylinux_*" - CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2010" - CIBW_MANYLINUX_I686_IMAGE: "manylinux2010" - CIBW_BUILD_FRONTEND: "build" - - - uses: actions/upload-artifact@v4 - with: - name: cibw-manylinux2010-${{ matrix.arch }} - path: ./wheelhouse/*.whl - build_sdist: name: Build source distribution needs: [lint] @@ -282,7 +252,7 @@ jobs: check_dist: name: Check dist - needs: [build_wheels, build_manylinux2010_wheels, build_sdist, test_sdist, bootstrap_build] + needs: [build_wheels, build_sdist, test_sdist, bootstrap_build] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 @@ -312,7 +282,7 @@ jobs: path: dist - name: Generate artifact attestation for sdist and wheel - uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0 + uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0 with: subject-path: "dist/cmake-*" diff --git a/README.rst b/README.rst index 76c84821..ae53a7a6 100644 --- a/README.rst +++ b/README.rst @@ -52,21 +52,21 @@ The following platforms are supported with binary wheels: | Windows | | 64-bit | | | | 32-bit | +---------------+---------------------------+ - | Linux Intel | | manylinux2010+ x86_64 | - | | | musllinux_1_1+ x86_64 | - | | | manylinux2010+ i686 | - | | | musllinux_1_1+ i686 | + | Linux Intel | | manylinux2014+ x86_64 | + | | | musllinux_1_2+ x86_64 | + | | | manylinux2014+ i686 | + | | | musllinux_1_2+ i686 | +---------------+---------------------------+ | Linux ARM | | manylinux2014+ AArch64 | - | | | musllinux_1_1+ AArch64 | + | | | musllinux_1_2+ AArch64 | | | | manylinux_2_31+ armv7l | | | | musllinux_1_2+ armv7l | +---------------+---------------------------+ | Linux PowerPC | | manylinux2014+ ppc64le | - | | | musllinux_1_1+ ppc64le | + | | | musllinux_1_2+ ppc64le | +---------------+---------------------------+ | Linux IBM Z | | manylinux2014+ s390x | - | | | musllinux_1_1+ s390x | + | | | musllinux_1_2+ s390x | +---------------+---------------------------+ | macOS 10.10+ | Intel | +---------------+---------------------------+ @@ -74,6 +74,7 @@ The following platforms are supported with binary wheels: +---------------+---------------------------+ The last version to provide ``manylinux1`` wheels was ``3.22.x``. +The last version to provide Python 3.7 support and ``manylinux2010`` wheels was ``4.0.3``. The last version to provide Python 2 to Python 3.6 support was ``3.28.x``. Maintainers diff --git a/pyproject.toml b/pyproject.toml index b63a74c7..526e38cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,10 +26,7 @@ classifiers = [ "Topic :: Software Development :: Build Tools", "Typing :: Typed" ] -dependencies = [ - "importlib_metadata>=1.4; python_version<'3.8'", -] -requires-python = ">=3.7" +requires-python = ">=3.8" [project.urls] Homepage = "https://cmake.org" @@ -101,11 +98,17 @@ build-verbosity = 1 build-frontend = "build[uv]" config-settings."cmake.define.RUN_CMAKE_TEST" = "ON" environment = { CMAKE_PYTHON_DIST_FORCE_NINJA_DEP = "1" } -musllinux-x86_64-image = "musllinux_1_1" -musllinux-i686-image = "musllinux_1_1" -musllinux-aarch64-image = "musllinux_1_1" -musllinux-ppc64le-image = "musllinux_1_1" -musllinux-s390x-image = "musllinux_1_1" +manylinux-x86_64-image = "manylinux2014" +manylinux-i686-image = "manylinux2014" +manylinux-aarch64-image = "manylinux2014" +manylinux-ppc64le-image = "manylinux2014" +manylinux-s390x-image = "manylinux2014" +manylinux-armv7l-image = "manylinux_2_31" +musllinux-x86_64-image = "musllinux_1_2" +musllinux-i686-image = "musllinux_1_2" +musllinux-aarch64-image = "musllinux_1_2" +musllinux-ppc64le-image = "musllinux_1_2" +musllinux-s390x-image = "musllinux_1_2" musllinux-armv7l-image = "musllinux_1_2" [[tool.cibuildwheel.overrides]] @@ -131,7 +134,7 @@ inherit.config-settings = "append" # disable some tests # - BootstrapTest fails with custom OpenSSL and probably does not make much sense for this project # - ExportImport|RunCMake.install|RunCMake.file-GET_RUNTIME_DEPENDENCIES: c.f. https://discourse.cmake.org/t/cmake-test-suite-failing-on-alpine-linux/5064 -config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|ExportImport|RunCMake.install|RunCMake.RuntimePath|RunCMake.file-GET_RUNTIME_DEPENDENCIES" +config-settings."cmake.define.RUN_CMAKE_TEST_EXCLUDE" = "BootstrapTest|CTestTestFdSetSize|ExportImport|RunCMake.install|RunCMake.RuntimePath|RunCMake.file-GET_RUNTIME_DEPENDENCIES" [[tool.cibuildwheel.overrides]] select = ["*-musllinux_armv7l"] @@ -149,7 +152,7 @@ inherit.config-settings = "append" config-settings."cmake.define.RUN_CMAKE_TEST" = "OFF" [[tool.cibuildwheel.overrides]] -select = ["*-musllinux_s390x"] +select = ["*-musllinux_{ppc64le,s390x}"] build-frontend = "pip" diff --git a/src/cmake/__init__.py b/src/cmake/__init__.py index 0a9f7d94..ef8257d6 100644 --- a/src/cmake/__init__.py +++ b/src/cmake/__init__.py @@ -3,13 +3,9 @@ import os import subprocess import sys +from importlib.metadata import distribution from pathlib import Path -if sys.version_info < (3, 8): - from importlib_metadata import distribution -else: - from importlib.metadata import distribution - from ._version import version as __version__ TYPE_CHECKING = False diff --git a/tests/test_cmake.py b/tests/test_cmake.py index 2277315c..5410c854 100644 --- a/tests/test_cmake.py +++ b/tests/test_cmake.py @@ -3,14 +3,10 @@ import sys import sysconfig import textwrap +from importlib.metadata import distribution import pytest -if sys.version_info < (3, 8): - from importlib_metadata import distribution -else: - from importlib.metadata import distribution - import cmake from . import push_argv