Skip to content

Commit

Permalink
refactor: use nicer toml form, drop workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
henryiii committed Jan 4, 2021
1 parent 522d8bc commit f2d4de2
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 226 deletions.
4 changes: 2 additions & 2 deletions cibuildwheel/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ def main() -> None:

manylinux_images[build_platform] = image

python_configs = read_python_configs(resources_dir / f"{platform}.toml")
python_configs = read_python_configs(resources_dir / f"{platform}.toml", platform)

build_options = BuildOptions(
architectures=archs,
Expand Down Expand Up @@ -312,7 +312,7 @@ def print_build_identifiers(
platform: str, build_selector: BuildSelector, architectures: List[Architecture]
) -> None:

python_configs = read_python_configs(resources_dir / f"{platform}.toml")
python_configs = read_python_configs(resources_dir / f"{platform}.toml", platform)

python_configurations: List[Any] = []
if platform == 'linux':
Expand Down
154 changes: 35 additions & 119 deletions cibuildwheel/resources/linux.toml
Original file line number Diff line number Diff line change
@@ -1,119 +1,35 @@
[cp27-manylinux_x86_64]
version="2.7"
path_str="/opt/python/cp27-cp27m"

[cp35-manylinux_x86_64]
version="3.5"
path_str="/opt/python/cp35-cp35m"

[cp36-manylinux_x86_64]
version="3.6"
path_str="/opt/python/cp36-cp36m"

[cp37-manylinux_x86_64]
version="3.7"
path_str="/opt/python/cp37-cp37m"

[cp38-manylinux_x86_64]
version="3.8"
path_str="/opt/python/cp38-cp38"

[cp39-manylinux_x86_64]
version="3.9"
path_str="/opt/python/cp39-cp39"

[cp27-manylinux_i686]
version="2.7"
path_str="/opt/python/cp27-cp27m"

[cp35-manylinux_i686]
version="3.5"
path_str="/opt/python/cp35-cp35m"

[cp36-manylinux_i686]
version="3.6"
path_str="/opt/python/cp36-cp36m"

[cp37-manylinux_i686]
version="3.7"
path_str="/opt/python/cp37-cp37m"

[cp38-manylinux_i686]
version="3.8"
path_str="/opt/python/cp38-cp38"

[cp39-manylinux_i686]
version="3.9"
path_str="/opt/python/cp39-cp39"

[pp27-manylinux_x86_64]
version="2.7"
path_str="/opt/python/pp27-pypy_73"

[pp36-manylinux_x86_64]
version="3.6"
path_str="/opt/python/pp36-pypy36_pp73"

[pp37-manylinux_x86_64]
version="3.7"
path_str="/opt/python/pp37-pypy37_pp73"

[cp35-manylinux_aarch64]
version="3.5"
path_str="/opt/python/cp35-cp35m"

[cp36-manylinux_aarch64]
version="3.6"
path_str="/opt/python/cp36-cp36m"

[cp37-manylinux_aarch64]
version="3.7"
path_str="/opt/python/cp37-cp37m"

[cp38-manylinux_aarch64]
version="3.8"
path_str="/opt/python/cp38-cp38"

[cp39-manylinux_aarch64]
version="3.9"
path_str="/opt/python/cp39-cp39"

[cp35-manylinux_ppc64le]
version="3.5"
path_str="/opt/python/cp35-cp35m"

[cp36-manylinux_ppc64le]
version="3.6"
path_str="/opt/python/cp36-cp36m"

[cp37-manylinux_ppc64le]
version="3.7"
path_str="/opt/python/cp37-cp37m"

[cp38-manylinux_ppc64le]
version="3.8"
path_str="/opt/python/cp38-cp38"

[cp39-manylinux_ppc64le]
version="3.9"
path_str="/opt/python/cp39-cp39"

[cp35-manylinux_s390x]
version="3.5"
path_str="/opt/python/cp35-cp35m"

[cp36-manylinux_s390x]
version="3.6"
path_str="/opt/python/cp36-cp36m"

[cp37-manylinux_s390x]
version="3.7"
path_str="/opt/python/cp37-cp37m"

[cp38-manylinux_s390x]
version="3.8"
path_str="/opt/python/cp38-cp38"

[cp39-manylinux_s390x]
version="3.9"
path_str="/opt/python/cp39-cp39"
[tool.cibw.build-platforms]
linux = [
{identifier="cp27-manylinux_x86_64", version="2.7", path_str="/opt/python/cp27-cp27m"},
{identifier="cp27-manylinux_x86_64", version="2.7", path_str="/opt/python/cp27-cp27mu"},
{identifier="cp35-manylinux_x86_64", version="3.5", path_str="/opt/python/cp35-cp35m"},
{identifier="cp36-manylinux_x86_64", version="3.6", path_str="/opt/python/cp36-cp36m"},
{identifier="cp37-manylinux_x86_64", version="3.7", path_str="/opt/python/cp37-cp37m"},
{identifier="cp38-manylinux_x86_64", version="3.8", path_str="/opt/python/cp38-cp38"},
{identifier="cp39-manylinux_x86_64", version="3.9", path_str="/opt/python/cp39-cp39"},
{identifier="cp27-manylinux_i686", version="2.7", path_str="/opt/python/cp27-cp27m"},
{identifier="cp27-manylinux_i686", version="2.7", path_str="/opt/python/cp27-cp27mu"},
{identifier="cp35-manylinux_i686", version="3.5", path_str="/opt/python/cp35-cp35m"},
{identifier="cp36-manylinux_i686", version="3.6", path_str="/opt/python/cp36-cp36m"},
{identifier="cp37-manylinux_i686", version="3.7", path_str="/opt/python/cp37-cp37m"},
{identifier="cp38-manylinux_i686", version="3.8", path_str="/opt/python/cp38-cp38"},
{identifier="cp39-manylinux_i686", version="3.9", path_str="/opt/python/cp39-cp39"},
{identifier="pp27-manylinux_x86_64", version="2.7", path_str="/opt/python/pp27-pypy_73"},
{identifier="pp36-manylinux_x86_64", version="3.6", path_str="/opt/python/pp36-pypy36_pp73"},
{identifier="pp37-manylinux_x86_64", version="3.7", path_str="/opt/python/pp37-pypy37_pp73"},
{identifier="cp35-manylinux_aarch64", version="3.5", path_str="/opt/python/cp35-cp35m"},
{identifier="cp36-manylinux_aarch64", version="3.6", path_str="/opt/python/cp36-cp36m"},
{identifier="cp37-manylinux_aarch64", version="3.7", path_str="/opt/python/cp37-cp37m"},
{identifier="cp38-manylinux_aarch64", version="3.8", path_str="/opt/python/cp38-cp38"},
{identifier="cp39-manylinux_aarch64", version="3.9", path_str="/opt/python/cp39-cp39"},
{identifier="cp35-manylinux_ppc64le", version="3.5", path_str="/opt/python/cp35-cp35m"},
{identifier="cp36-manylinux_ppc64le", version="3.6", path_str="/opt/python/cp36-cp36m"},
{identifier="cp37-manylinux_ppc64le", version="3.7", path_str="/opt/python/cp37-cp37m"},
{identifier="cp38-manylinux_ppc64le", version="3.8", path_str="/opt/python/cp38-cp38"},
{identifier="cp39-manylinux_ppc64le", version="3.9", path_str="/opt/python/cp39-cp39"},
{identifier="cp35-manylinux_s390x", version="3.5", path_str="/opt/python/cp35-cp35m"},
{identifier="cp36-manylinux_s390x", version="3.6", path_str="/opt/python/cp36-cp36m"},
{identifier="cp37-manylinux_s390x", version="3.7", path_str="/opt/python/cp37-cp37m"},
{identifier="cp38-manylinux_s390x", version="3.8", path_str="/opt/python/cp38-cp38"},
{identifier="cp39-manylinux_s390x", version="3.9", path_str="/opt/python/cp39-cp39"},
]
47 changes: 12 additions & 35 deletions cibuildwheel/resources/macos.toml
Original file line number Diff line number Diff line change
@@ -1,35 +1,12 @@
[cp27-macosx_x86_64]
version="2.7"
url="https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg"

[cp35-macosx_x86_64]
version="3.5"
url="https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg"

[cp36-macosx_x86_64]
version="3.6"
url="https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg"

[cp37-macosx_x86_64]
version="3.7"
url="https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg"

[cp38-macosx_x86_64]
version="3.8"
url="https://www.python.org/ftp/python/3.8.7/python-3.8.7-macosx10.9.pkg"

[cp39-macosx_x86_64]
version="3.9"
url="https://www.python.org/ftp/python/3.9.1/python-3.9.1-macosx10.9.pkg"

[pp27-macosx_x86_64]
version="2.7"
url="https://downloads.python.org/pypy/pypy2.7-v7.3.3-osx64.tar.bz2"

[pp36-macosx_x86_64]
version="3.6"
url="https://downloads.python.org/pypy/pypy3.6-v7.3.3-osx64.tar.bz2"

[pp37-macosx_x86_64]
version="3.7"
url="https://downloads.python.org/pypy/pypy3.7-v7.3.3-osx64.tar.bz2"
[tool.cibw.build-platforms]
macos = [
{identifier="cp27-macosx_x86_64", version="2.7", url="https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg"},
{identifier="cp35-macosx_x86_64", version="3.5", url="https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg"},
{identifier="cp36-macosx_x86_64", version="3.6", url="https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg"},
{identifier="cp37-macosx_x86_64", version="3.7", url="https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg"},
{identifier="cp38-macosx_x86_64", version="3.8", url="https://www.python.org/ftp/python/3.8.7/python-3.8.7-macosx10.9.pkg"},
{identifier="cp39-macosx_x86_64", version="3.9", url="https://www.python.org/ftp/python/3.9.1/python-3.9.1-macosx10.9.pkg"},
{identifier="pp27-macosx_x86_64", version="2.7", url="https://downloads.python.org/pypy/pypy2.7-v7.3.3-osx64.tar.bz2"},
{identifier="pp36-macosx_x86_64", version="3.6", url="https://downloads.python.org/pypy/pypy3.6-v7.3.3-osx64.tar.bz2"},
{identifier="pp37-macosx_x86_64", version="3.7", url="https://downloads.python.org/pypy/pypy3.7-v7.3.3-osx64.tar.bz2"},
]
80 changes: 18 additions & 62 deletions cibuildwheel/resources/windows.toml
Original file line number Diff line number Diff line change
@@ -1,62 +1,18 @@
[cp27-win32]
version="2.7.18"
arch="32"

[cp27-win_amd64]
version="2.7.18"
arch="64"

[cp35-win32]
version="3.5.4"
arch="32"

[cp35-win_amd64]
version="3.5.4"
arch="64"

[cp36-win32]
version="3.6.8"
arch="32"

[cp36-win_amd64]
version="3.6.8"
arch="64"

[cp37-win32]
version="3.7.9"
arch="32"

[cp37-win_amd64]
version="3.7.9"
arch="64"

[cp38-win32]
version="3.8.7"
arch="32"

[cp38-win_amd64]
version="3.8.7"
arch="64"

[cp39-win32]
version="3.9.1"
arch="32"

[cp39-win_amd64]
version="3.9.1"
arch="64"

[pp27-win32]
version="2.7"
arch="32"
url="https://downloads.python.org/pypy/pypy2.7-v7.3.3-win32.zip"

[pp36-win32]
version="3.6"
arch="32"
url="https://downloads.python.org/pypy/pypy3.6-v7.3.3-win32.zip"

[pp37-win32]
version="3.7"
arch="32"
url="https://downloads.python.org/pypy/pypy3.7-v7.3.3-win32.zip"
[tool.cibw.build-platforms]
windows = [
{identifier="cp27-win32", version="2.7.18", arch="32"},
{identifier="cp27-win_amd64", version="2.7.18", arch="64"},
{identifier="cp35-win32", version="3.5.4", arch="32"},
{identifier="cp35-win_amd64", version="3.5.4", arch="64"},
{identifier="cp36-win32", version="3.6.8", arch="32"},
{identifier="cp36-win_amd64", version="3.6.8", arch="64"},
{identifier="cp37-win32", version="3.7.9", arch="32"},
{identifier="cp37-win_amd64", version="3.7.9", arch="64"},
{identifier="cp38-win32", version="3.8.7", arch="32"},
{identifier="cp38-win_amd64", version="3.8.7", arch="64"},
{identifier="cp39-win32", version="3.9.1", arch="32"},
{identifier="cp39-win_amd64", version="3.9.1", arch="64"},
{identifier="pp27-win32", version="2.7", arch="32", url="https://downloads.python.org/pypy/pypy2.7-v7.3.3-win32.zip"},
{identifier="pp36-win32", version="3.6", arch="32", url="https://downloads.python.org/pypy/pypy3.6-v7.3.3-win32.zip"},
{identifier="pp37-win32", version="3.7", arch="32", url="https://downloads.python.org/pypy/pypy3.7-v7.3.3-win32.zip"},
]
10 changes: 2 additions & 8 deletions cibuildwheel/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,9 @@ def get_build_verbosity_extra_flags(level: int) -> List[str]:
return []


def read_python_configs(input_path: Union[str, os.PathLike]) -> List[Dict[str, str]]:
def read_python_configs(input_path: PathOrStr, config: str) -> List[Dict[str, str]]:
loaded_file = toml.load(input_path)
results: List[Dict[str, str]] = []

for k, v in loaded_file.items():
results.append({'identifier': k, **v})
if 'cp27-manylinux_' in k:
results.append({'identifier': k, 'version': v['version'], 'path_str': f'{v["path_str"]}u'})

results: List[Dict[str, str]] = list(loaded_file["tool"]["cibw"]["build-platforms"][config])
return results


Expand Down

0 comments on commit f2d4de2

Please sign in to comment.