From 4d10656e0ac2bce4a21ced66807a73dc76182ab1 Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Thu, 22 May 2025 14:27:30 +0300 Subject: [PATCH] [+] extend tool.meson 1. allow to specify setup args for meson setup, when building mode=meson of pyproject.toml; --- python/meson.build | 2 +- python/online/fxreader/pr34/commands_typed/cli.py | 12 +++++++++++- ...line_fxreader_pr34-0.1.5.17+27.2-py3-none-any.whl | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 releases/whl/online_fxreader_pr34-0.1.5.17+27.2-py3-none-any.whl diff --git a/python/meson.build b/python/meson.build index 3ddd394..d06744f 100644 --- a/python/meson.build +++ b/python/meson.build @@ -5,7 +5,7 @@ project( ).stdout().strip('\n'), # 'online.fxreader.uv', # ['c', 'cpp'], - version: '0.1.5.17+27.1', + version: '0.1.5.17+27.2', # default_options: [ # 'cpp_std=c++23', # # 'prefer_static=true', diff --git a/python/online/fxreader/pr34/commands_typed/cli.py b/python/online/fxreader/pr34/commands_typed/cli.py index a225f94..87730c0 100644 --- a/python/online/fxreader/pr34/commands_typed/cli.py +++ b/python/online/fxreader/pr34/commands_typed/cli.py @@ -46,7 +46,8 @@ class PyProject: class Meson: @dataclasses.dataclass class Args: - install: list[str] + install: Optional[list[str]] = None + setup: Optional[list[str]] = None args: Args @@ -541,6 +542,8 @@ class CLI(abc.ABC): env: Optional[dict[str, str]] = None, # third_party_roots: Optional[list[pathlib.Path]] = None, ) -> None: + from . import cli_bootstrap + project = self.projects[project_name] if argv is None: @@ -549,6 +552,10 @@ class CLI(abc.ABC): if env is None: env = dict() + pyproject = cli_bootstrap.pyproject_load(project.source_dir / 'pyproject.toml') + + pyproject_tool = pydantic.RootModel[PyProject.Tool].model_validate(pyproject.tool).root + logger.info(dict(env=env)) if force: @@ -561,6 +568,9 @@ class CLI(abc.ABC): if len(self.third_party_roots) > 0: extra_args.extend(['-Dthird_party_roots=%s' % str(o.absolute()) for o in self.third_party_roots]) + if pyproject_tool.meson and pyproject_tool.meson.args and pyproject_tool.meson.args.setup: + extra_args = pyproject_tool.meson.args.setup + extra_args + cmd = [ shutil_which( 'meson', diff --git a/releases/whl/online_fxreader_pr34-0.1.5.17+27.2-py3-none-any.whl b/releases/whl/online_fxreader_pr34-0.1.5.17+27.2-py3-none-any.whl new file mode 100644 index 0000000..966cae6 --- /dev/null +++ b/releases/whl/online_fxreader_pr34-0.1.5.17+27.2-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bbf0aedd54b15cefeccc2a54d802f8a740e6edbbda4a2b918e8a6a1b4d0078c +size 69786