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 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[str]:
110
+ def _get_available_prefix(self) -> Optional[Path]:
103
111
  for path in sys.path:
104
112
  if CMEEL_PREFIX in path:
105
- return str(Path(path).parent.parent.parent)
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.sep.join( # noqa: PTH118
7
- ["lib", "python" + ".".join(sys.version.split(".")[:2]), "site-packages"],
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.exists()]
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.50.2
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.2,<4.0.0) ; extra == "build"
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.1,<24.0) ; extra == "build"
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
  [![PyPI version](https://badge.fury.io/py/cmeel.svg)](https://pypi.org/project/cmeel)
35
36
  [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/cmake-wheel/cmeel/main.svg)](https://results.pre-commit.ci/latest/github/cmake-wheel/cmeel/main)
36
37
  [![Documentation Status](https://readthedocs.org/projects/cmeel/badge/?version=latest)](https://cmeel.readthedocs.io/en/latest/?badge=latest)
38
+
37
39
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
40
+ [![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
38
41
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](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=5BGrTKvMuI7GzdZbscx6DKPqVejhpuJljKEU20YXMYY,3675
7
- cmeel/consts.py,sha256=m0wZ8IbghuFII9hVnLzWBK9GLQn0ibrHIQkPB5YF0Yk,195
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=OOA64v6KysZTvFup5rZuBFYVSDvPoW_6PqUcuf4m0Os,1235
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=5A0U1vC8tlFVDfGlEibkPi3DajaI-pBvKBO71Go0mn0,7835
16
+ cmeel/utils.py,sha256=fkr8-2gBdc4cxiU5jdfSQ6iWGpnOzhtE8yXiBVCIpTQ,7954
17
17
  cmeel.pth,sha256=CD-QdG4ceUgq5wIEJZpipOSZQF8apq7i9u9RhsBWbc8,17
18
- cmeel-0.50.2.dist-info/LICENSE,sha256=4QHEuqIDbscybBc21CcazwRjix-rV-AH2QAZ4IqxlzQ,1324
19
- cmeel-0.50.2.dist-info/METADATA,sha256=0CT3IcZRk-5IocdnuiPsJ-VWlBVfuc4yVJMqUGWHqVg,4900
20
- cmeel-0.50.2.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
21
- cmeel-0.50.2.dist-info/entry_points.txt,sha256=AiK0nCTi1LpRXxyiSCcbPsLYIpSvYW8GF7jcllMIl1U,45
22
- cmeel-0.50.2.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.6.1
2
+ Generator: poetry-core 1.8.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any