cmeel 0.50.2__py3-none-any.whl → 0.52.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cmeel might be problematic. Click here for more details.
- cmeel/config.py +11 -3
- cmeel/consts.py +4 -2
- cmeel/env.py +1 -1
- cmeel/utils.py +3 -1
- {cmeel-0.50.2.dist-info → cmeel-0.52.1.dist-info}/METADATA +7 -4
- {cmeel-0.50.2.dist-info → cmeel-0.52.1.dist-info}/RECORD +9 -9
- {cmeel-0.50.2.dist-info → cmeel-0.52.1.dist-info}/WHEEL +1 -1
- {cmeel-0.50.2.dist-info → cmeel-0.52.1.dist-info}/LICENSE +0 -0
- {cmeel-0.50.2.dist-info → cmeel-0.52.1.dist-info}/entry_points.txt +0 -0
cmeel/config.py
CHANGED
|
@@ -89,8 +89,16 @@ class CmeelConfig:
|
|
|
89
89
|
available = self._get_available_prefix()
|
|
90
90
|
if available:
|
|
91
91
|
cpp = ret.get("CMAKE_PREFIX_PATH", "")
|
|
92
|
-
if available not in cpp.split(":"):
|
|
92
|
+
if str(available) not in cpp.split(":"):
|
|
93
93
|
ret["CMAKE_PREFIX_PATH"] = f"{available}:{cpp}".strip(":")
|
|
94
|
+
pcp = ret.get("PKG_CONFIG_PATH", "")
|
|
95
|
+
lpcp = available / "lib" / "pkgconfig"
|
|
96
|
+
if lpcp.is_dir() and str(lpcp) not in pcp.split(":"):
|
|
97
|
+
pcp = f"{lpcp}:{pcp}"
|
|
98
|
+
spcp = available / "share" / "pkgconfig"
|
|
99
|
+
if spcp.is_dir() and str(spcp) not in pcp.split(":"):
|
|
100
|
+
pcp = f"{spcp}:{pcp}"
|
|
101
|
+
ret["PKG_CONFIG_PATH"] = pcp.strip(":")
|
|
94
102
|
return ret
|
|
95
103
|
|
|
96
104
|
def get_test_env(self) -> Dict[str, str]:
|
|
@@ -99,10 +107,10 @@ class CmeelConfig:
|
|
|
99
107
|
ret.update(CTEST_OUTPUT_ON_FAILURE="1", CTEST_PARALLEL_LEVEL=self.test_jobs)
|
|
100
108
|
return ret
|
|
101
109
|
|
|
102
|
-
def _get_available_prefix(self) -> Optional[
|
|
110
|
+
def _get_available_prefix(self) -> Optional[Path]:
|
|
103
111
|
for path in sys.path:
|
|
104
112
|
if CMEEL_PREFIX in path:
|
|
105
|
-
return
|
|
113
|
+
return Path(path).parent.parent.parent
|
|
106
114
|
return None
|
|
107
115
|
|
|
108
116
|
|
cmeel/consts.py
CHANGED
|
@@ -3,6 +3,8 @@ import os
|
|
|
3
3
|
import sys
|
|
4
4
|
|
|
5
5
|
CMEEL_PREFIX = "cmeel.prefix"
|
|
6
|
-
SITELIB = os.
|
|
7
|
-
|
|
6
|
+
SITELIB = os.path.join( # noqa: PTH118
|
|
7
|
+
"lib",
|
|
8
|
+
"python" + ".".join(sys.version.split(".")[:2]),
|
|
9
|
+
"site-packages",
|
|
8
10
|
)
|
cmeel/env.py
CHANGED
|
@@ -29,7 +29,7 @@ def get_paths(cmd: str, prepend: bool = False, **kwargs) -> str:
|
|
|
29
29
|
elif cmd == "pc":
|
|
30
30
|
prefixes = [p / sub / "pkgconfig" for p in prefixes for sub in ["lib", "share"]]
|
|
31
31
|
|
|
32
|
-
available = [str(p) for p in prefixes if p.
|
|
32
|
+
available = [str(p) for p in prefixes if p.is_dir()]
|
|
33
33
|
if prepend:
|
|
34
34
|
ret = []
|
|
35
35
|
for prefix in available + os.environ.get(PATHS[cmd], "").split(os.pathsep):
|
cmeel/utils.py
CHANGED
|
@@ -173,8 +173,10 @@ def expose_bin(install: Path, wheel_dir: Path, distribution: str):
|
|
|
173
173
|
scripts.mkdir(parents=True)
|
|
174
174
|
for fn in bin_dir.glob("*"):
|
|
175
175
|
executable = scripts / fn.name
|
|
176
|
+
with fn.open("rb") as fo:
|
|
177
|
+
is_script = fo.read(2) == b"#!"
|
|
176
178
|
with executable.open("w") as fe:
|
|
177
|
-
fe.write(EXECUTABLE)
|
|
179
|
+
fe.write(fn.read_text() if is_script else EXECUTABLE)
|
|
178
180
|
executable.chmod(0o755)
|
|
179
181
|
|
|
180
182
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cmeel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.52.1
|
|
4
4
|
Summary: Create Wheel from CMake projects
|
|
5
5
|
Home-page: https://github.com/cmake-wheel/cmeel
|
|
6
6
|
License: BSD-2-Clause
|
|
@@ -16,13 +16,14 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
20
|
Classifier: Topic :: Software Development :: Build Tools
|
|
20
21
|
Classifier: Topic :: System :: Archiving :: Packaging
|
|
21
22
|
Classifier: Topic :: System :: Software Distribution
|
|
22
23
|
Provides-Extra: build
|
|
23
|
-
Requires-Dist: cmake (>=3.27.
|
|
24
|
+
Requires-Dist: cmake (>=3.27.7,<4.0.0) ; extra == "build"
|
|
24
25
|
Requires-Dist: git-archive-all (>=1.23.1,<2.0.0) ; extra == "build"
|
|
25
|
-
Requires-Dist: packaging (>=23.
|
|
26
|
+
Requires-Dist: packaging (>=23.2,<24.0) ; extra == "build"
|
|
26
27
|
Requires-Dist: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11"
|
|
27
28
|
Requires-Dist: wheel (>=0.41.1,<0.42.0) ; extra == "build"
|
|
28
29
|
Project-URL: Documentation, https://cmeel.readthedocs.io/
|
|
@@ -34,7 +35,9 @@ Description-Content-Type: text/markdown
|
|
|
34
35
|
[](https://pypi.org/project/cmeel)
|
|
35
36
|
[](https://results.pre-commit.ci/latest/github/cmake-wheel/cmeel/main)
|
|
36
37
|
[](https://cmeel.readthedocs.io/en/latest/?badge=latest)
|
|
38
|
+
|
|
37
39
|
[](https://github.com/psf/black)
|
|
40
|
+
[](https://python-poetry.org/)
|
|
38
41
|
[](https://github.com/charliermarsh/ruff)
|
|
39
42
|
|
|
40
43
|
Wheel build backend using CMake, to package anything with pip and distribute on PyPI.
|
|
@@ -63,7 +66,7 @@ This Install in `${PYTHON_SITELIB}/cmeel.prefix/`:
|
|
|
63
66
|
packages work out of the box
|
|
64
67
|
- Existing `${PYTHON_SITELIB}/cmeel.prefix` are automatically added to `$CMAKE_PREFIX_PATH`, so we can build CMake
|
|
65
68
|
packages whose dependencies are provided by other packages installed with cmeel
|
|
66
|
-
- Stuff in `${PYTHON_SITELIB}/cmeel.prefix/bin` is exposed via `cmeel.run:cmeel_run
|
|
69
|
+
- Stuff in `${PYTHON_SITELIB}/cmeel.prefix/bin` is exposed via `cmeel.run:cmeel_run`, or copied if start with a shebang
|
|
67
70
|
|
|
68
71
|
## Basic pyproject.toml example
|
|
69
72
|
|
|
@@ -3,20 +3,20 @@ cmeel/__main__.py,sha256=gLQ5_di07raiL6u75jpE36QydXlsbBzSdff9mVKtbg4,2042
|
|
|
3
3
|
cmeel/backports.py,sha256=ZJ34NDWgrlrSkq8AGrKof9SQexQH8sver2HmJIur80c,1473
|
|
4
4
|
cmeel/build.py,sha256=iYcKI1CCiRry2ESee1gUrL71N8-6rC_yie97hCfKgz0,867
|
|
5
5
|
cmeel/cmeel.py,sha256=inrhra_VOA0005ExK4oFNX4EWljbgS4pnx6S0dkvxoA,249
|
|
6
|
-
cmeel/config.py,sha256=
|
|
7
|
-
cmeel/consts.py,sha256=
|
|
6
|
+
cmeel/config.py,sha256=VC-alM66D5P-gOhNMRnNAHbdjVV7gMUhKD82A213DeA,4089
|
|
7
|
+
cmeel/consts.py,sha256=XnYEBOwKF3w_DIwfziHoQxeExPf9iHZuxt0TPvviLoQ,202
|
|
8
8
|
cmeel/docker.py,sha256=wT-VZuGKj1wcdldwgsYcWmJK_rjo2Eh1USEDMOmlsBU,2775
|
|
9
|
-
cmeel/env.py,sha256=
|
|
9
|
+
cmeel/env.py,sha256=4AymbjlT3iNqYeeI70u3ZQMpiQfYo2vbNoZ4F15QbYQ,1235
|
|
10
10
|
cmeel/impl.py,sha256=XBVIWmi17a3fcFyYvQA7cS3xeglwjVRQUj25IQOfg0k,6376
|
|
11
11
|
cmeel/metadata.py,sha256=1zFAmsW4xzeBZxGhro6XXLhWUJ2ZRLXxTelumzyWaRk,8606
|
|
12
12
|
cmeel/pth.py,sha256=N0G1d8BHRcuzNEfQaK9WMW0h6s-Sjigc7JUAPPoeu4Q,403
|
|
13
13
|
cmeel/release.py,sha256=j8vxeAevtUFfwlV4gXGJ6tWqR-CNHn_d69FRhgeWkjY,1356
|
|
14
14
|
cmeel/run.py,sha256=sD2Is7MEb5yIUu6dMjzyOJgb-ErJh-EBII9WzL13zco,743
|
|
15
15
|
cmeel/sdist.py,sha256=DA5h9IrQfhuoQucYfv73S8jpKNY2ThfIrVSKSvsJ5ec,1961
|
|
16
|
-
cmeel/utils.py,sha256=
|
|
16
|
+
cmeel/utils.py,sha256=fkr8-2gBdc4cxiU5jdfSQ6iWGpnOzhtE8yXiBVCIpTQ,7954
|
|
17
17
|
cmeel.pth,sha256=CD-QdG4ceUgq5wIEJZpipOSZQF8apq7i9u9RhsBWbc8,17
|
|
18
|
-
cmeel-0.
|
|
19
|
-
cmeel-0.
|
|
20
|
-
cmeel-0.
|
|
21
|
-
cmeel-0.
|
|
22
|
-
cmeel-0.
|
|
18
|
+
cmeel-0.52.1.dist-info/LICENSE,sha256=4QHEuqIDbscybBc21CcazwRjix-rV-AH2QAZ4IqxlzQ,1324
|
|
19
|
+
cmeel-0.52.1.dist-info/METADATA,sha256=UbAZTkU9zPaZCXrfriqyboR2j4z6yk5AlWjHSa9KDZ0,5104
|
|
20
|
+
cmeel-0.52.1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
21
|
+
cmeel-0.52.1.dist-info/entry_points.txt,sha256=AiK0nCTi1LpRXxyiSCcbPsLYIpSvYW8GF7jcllMIl1U,45
|
|
22
|
+
cmeel-0.52.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|