aboutsummaryrefslogtreecommitdiff
blob: 687effb84774411a9e647b7c1228b06d31927e5d (plain)
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
[build-system]
requires = [
	"setuptools >= 61.0.0",
	"wheel",
	# repeat all normal runtime dependencies here
	"chardet",
	"lazy-object-proxy",
	"lxml",
	"pathspec",
	"tree-sitter>=0.20.4",
	"snakeoil~=0.10.7",
	"pkgcore~=0.12.25",
]
build-backend = "setuptools.build_meta"

[project]
name = "pkgcheck"
description = "pkgcore-based QA utility for ebuild repos"
readme = "README.rst"
license = {file = "LICENSE"}
requires-python = "~=3.10"
# alphabetical by surname.
authors = [
	{name = "Michał Górny", email = "mgorny@gentoo.org"},
	{name = "Tim Harder", email = "radhermit@gmail.com"},
	{name = "Brian Harring", email = "ferringb@gmail.com"},
	{name = "Arthur Zamarin", email = "arthurzam@gentoo.org"},
	{name = "Marien Zwart"},
]
maintainers = [
	{name = "Arthur Zamarin", email = "arthurzam@gentoo.org"},
]
classifiers = [
	"License :: OSI Approved :: BSD License",
	"Programming Language :: Python :: 3.10",
	"Programming Language :: Python :: 3.11",
	"Programming Language :: Python :: 3.12",
]
dynamic = ["version"]

dependencies = [
	"chardet",
	"lazy-object-proxy",
	"lxml",
	"pathspec",
	"tree-sitter>=0.20.4",
	"snakeoil~=0.10.7",
	"pkgcore~=0.12.25",
	"setuptools; python_version >= '3.12'",
]

[project.optional-dependencies]
test = [
	"pytest>=6.0",
	"pytest-cov",
	"requests",
]
doc = [
	"sphinx",
	"tomli; python_version < '3.11'",
	"snakeoil~=0.10.4",
]
network = [
	"requests",
]

[project.urls]
Homepage = "https://github.com/pkgcore/pkgcheck"
Documentation = "https://pkgcore.github.io/pkgcheck/"
Source = "https://github.com/pkgcore/pkgcheck"

[project.scripts]
pkgcheck = "pkgcheck.scripts.__init__:main"

[tool.setuptools]
zip-safe = false

[tool.setuptools.dynamic]
version = {attr = "pkgcheck.__version__"}

[tool.black]
line-length = 100

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-vv -ra -l"
testpaths = ["tests"]

[tool.cibuildwheel]
build = "cp310-*"
build-frontend = "build"

before-build = [
	"rm -f {project}/src/pkgcheck/bash/lang.so"
]
test-requires = ["pytest", "requests"]
test-command = "pytest {project}/tests"

# glibc 2.24
manylinux-x86_64-image = "manylinux_2_28"
manylinux-i686-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"
manylinux-ppc64le-image = "manylinux_2_28"
manylinux-s390x-image = "manylinux_2_28"
test-skip = "*-*linux_{aarch64,ppc64le,s390x}"

[[tool.cibuildwheel.overrides]]
select = "*-musllinux*"
before-all = [
	"apk add --no-cache git bash libxml2-dev libxslt-dev",
]

[[tool.cibuildwheel.overrides]]
select = "*-manylinux*"
before-all = [
	# "apt-get update",
	# "apt-get install -y git libxml2-dev libxslt-dev",
	"yum update -y --nogpgcheck",
	"yum install -y --nogpgcheck git libxslt-devel libxml2-devel",

	"curl -L \"https://github.com/robxu9/bash-static/releases/download/5.2.015-1.2.3-2/bash-linux-$(uname -m)\" -o /usr/local/bin/bash",
	"chmod +x /usr/local/bin/bash",
]