generated from wenkokke/example-haskell-wheel
-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
133 lines (123 loc) · 3.79 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[build-system]
requires = [
"find_libpython >=0.3,<0.4; sys_platform == 'win32'",
"setuptools >=45",
"swig >=4,<5"
]
build-backend = "setuptools.build_meta"
[project]
name = "agda"
version = "2.7.0"
authors = [{ name = "Wen Kokke", email = "wenkokke@users.noreply.github.com" }]
description = "A project that packages Agda as a Python package."
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.7.1,<3.13"
classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
]
[project.optional-dependencies]
mypy = ["types_setuptools >=45"]
test = ["pytest >=7.1,<9"]
[project.scripts]
"agda" = "agda.__main__:main"
"agda-mode" = "agda.mode.__main__:main"
[tool.cibuildwheel]
# 18-04-2023:
# Cross-compilation does not work with GHC and Cabal.
archs = ["native"]
before-all = "cabal update"
build-frontend = "build"
build = [
# GHC provides x86_64 and arm64 builds for macOS.
"*-macosx_x86_64",
"*-macosx_arm64",
# GHC provides an AMD64 build for Windows.
"*-win_amd64",
# GHC provides an x86_64 build for CentOS 7 (manylinux2014).
"*-manylinux_x86_64",
# GHC provides an x86_64 build for Alpine 3.12 (manylinux_2_28 compatible).
"*-musllinux_x86_64",
]
skip = [
# 18-04-2023:
# PyPy builds do not work.
"pp*",
]
test-command = "pytest {package}/tests"
test-extras = "test"
# 19-06-2023:
# Use custom manylinux and musllinux images with GHC 9.6.4 preinstalled.
manylinux-aarch64-image = "wenkokke/manylinux_2_28_ghc964_aarch64"
manylinux-i686-image = "wenkokke/manylinux2014_ghc964_i686"
manylinux-x86_64-image = "wenkokke/manylinux2014_ghc964_x86_64"
musllinux-x86_64-image = "wenkokke/musllinux_1_1_ghc964_x86_64"
[tool.mypy]
mypy_path = "src"
python_version = "3.7"
strict = true
implicit_reexport = false
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"agda.data" = ["**/*"]
[tool.tox]
legacy_tox_ini = """
[tox]
min_version = 4
env_list = py{37,38,39,310,311,312}-{lin,mac,win}
[testenv:py{37,38,39,310,311,312}-{lin,mac,win}]
package = external
package_env = build-{env_name}
platform =
lin: linux
mac: darwin
win: win32
extras =
test
commands =
{env_python} -m pytest {posargs}
[testenv:build-py{37,38,39,310,311,312}-{lin,mac,win}]
deps =
build
auditwheel; sys_platform == 'linux'
delocate; sys_platform == 'darwin'
set_env =
env_python = {env_python}
package_root = {package_root}
dist_dir = {package_root}{/}dist
dist_tmp_dir = {env_tmp_dir}{/}dist
package_glob =
py37-lin: {env:dist_dir}{/}*cp37*manylinux*.whl
py38-lin: {env:dist_dir}{/}*cp38*manylinux*.whl
py39-lin: {env:dist_dir}{/}*cp39*manylinux*.whl
py310-lin: {env:dist_dir}{/}*cp310*manylinux*.whl
py311-lin: {env:dist_dir}{/}*cp311*manylinux*.whl
py312-lin: {env:dist_dir}{/}*cp312*manylinux*.whl
py37-mac: {env:dist_dir}{/}*cp37*macosx*.whl
py38-mac: {env:dist_dir}{/}*cp38*macosx*.whl
py39-mac: {env:dist_dir}{/}*cp39*macosx*.whl
py310-mac: {env:dist_dir}{/}*cp310*macosx*.whl
py311-mac: {env:dist_dir}{/}*cp311*macosx*.whl
py312-mac: {env:dist_dir}{/}*cp312*macosx*.whl
py37-win: {env:dist_dir}{/}*cp37*win*.whl
py38-win: {env:dist_dir}{/}*cp38*win*.whl
py39-win: {env:dist_dir}{/}*cp39*win*.whl
py310-win: {env:dist_dir}{/}*cp310*win*.whl
py311-win: {env:dist_dir}{/}*cp311*win*.whl
py312-win: {env:dist_dir}{/}*cp312*win*.whl
allowlist_externals =
sh
commands =
sh {package_root}/scripts/build-wheel.sh
"""