From 9766b3336c0a40ebe9ff26fe83a60ad3a43e014af65113de2cca9e77e033a577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 22 Aug 2023 12:37:59 +0000 Subject: [PATCH] Accepting request 1104396 from home:mcalabkova:branches:devel:languages:python - Update to 0.13.2 * Add support for editable installs. * Adjust the default build options passed to meson setup. * Make sure that the directory where the wheel or sdist build artifacts are created exists. Fixes building with PDM. * Fix the specification of the C++ compiler for cross-compilation with $ARCHFLAGS on macOS. * Pass the --reconfigure option to meson setup if and only if the specified build directory exists and is a valid Meson build directory. * Pass the --no-rebuild option to meson install. * Allow to select the files to be included in the wheel via Meson install tags passing the --tags option to meson install via pyproject.toml or config settings. * Do not use the meson compile indirection to build the project, except on Windows, where it is required to setup the Visual Studio environment. * Do not add ninja to the build dependencies if $NINJA is set but it does not point to a ninja executable with the required minimum version. * Verify at run time that Meson satisfies the minimum required version. * Place native and cross files in the build directory instead of in the source directory. * Drop the typing-extensions package dependency. * Add dependency on setuptools on Python 3.12 and later. This fixes build error due to Meson depending on the distutils standard library module removed in Python 3.12. * Bump the required pyproject-metadata version to 0.7.1. * Allows some more cross-compilation setups by not checking extension modules filename suffixes against the suffixes accepted by the current interpreter. * Raise an error when a file that would be installed by Meson cannot be mapped to a wheel location. * Raise an error when a package is split between platlib and purelib. * Do not generate a warning when pyproject.toml does not contain a project OBS-URL: https://build.opensuse.org/request/show/1104396 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-meson-python?expand=0&rev=16 --- meson_python-0.12.1.tar.gz | 3 -- meson_python-0.13.2.tar.gz | 3 ++ mesonpy-no-wheel-rebuild.patch | 17 ++++----- mesonpy-trim-deps.patch | 26 +++++++------- pyproject_metadata-0.6.1-py3-none-any.whl | 3 -- pyproject_metadata-0.7.1-py3-none-any.whl | 3 ++ python-meson-python.changes | 42 +++++++++++++++++++++++ python-meson-python.spec | 10 +++--- 8 files changed, 75 insertions(+), 32 deletions(-) delete mode 100644 meson_python-0.12.1.tar.gz create mode 100644 meson_python-0.13.2.tar.gz delete mode 100644 pyproject_metadata-0.6.1-py3-none-any.whl create mode 100644 pyproject_metadata-0.7.1-py3-none-any.whl diff --git a/meson_python-0.12.1.tar.gz b/meson_python-0.12.1.tar.gz deleted file mode 100644 index fd47cf6..0000000 --- a/meson_python-0.12.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d5b3e581d70a58a97b9c116a75e97a76cc4b4c7e75fa0658fc8392371e2f2c2 -size 44039 diff --git a/meson_python-0.13.2.tar.gz b/meson_python-0.13.2.tar.gz new file mode 100644 index 0000000..958356c --- /dev/null +++ b/meson_python-0.13.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80bc9de898acd36eb4b945afaaf7a2b4ca00189c51870d535e329761910cf8ea +size 68636 diff --git a/mesonpy-no-wheel-rebuild.patch b/mesonpy-no-wheel-rebuild.patch index 3823bbe..16015fe 100644 --- a/mesonpy-no-wheel-rebuild.patch +++ b/mesonpy-no-wheel-rebuild.patch @@ -1,15 +1,15 @@ We already have the meson_python wheel, can't built it in isolated mode inside OBS -Index: meson_python-0.12.0/tests/conftest.py +Index: meson_python-0.13.2/tests/conftest.py =================================================================== ---- meson_python-0.12.0.orig/tests/conftest.py -+++ meson_python-0.12.0/tests/conftest.py -@@ -142,17 +142,7 @@ def disable_pip_version_check(): +--- meson_python-0.13.2.orig/tests/conftest.py ++++ meson_python-0.13.2/tests/conftest.py +@@ -156,18 +156,7 @@ def disable_pip_version_check(): @pytest.fixture(scope='session') def pep518_wheelhouse(tmp_path_factory): -- wheelhouse = tmp_path_factory.mktemp('wheelhouse') -- meson_python = str(package_dir.parent.parent) +- wheelhouse = os.fspath(tmp_path_factory.mktemp('wheelhouse')) +- meson_python = os.fspath(package_dir.parent.parent) - # Populate wheelhouse with wheel for the following packages and - # their dependencies. Wheels are downloaded from PyPI or built - # from the source distribution as needed. Sources or wheels in @@ -17,8 +17,9 @@ Index: meson_python-0.12.0/tests/conftest.py - packages = [ - meson_python, - ] -- subprocess.run([sys.executable, '-m', 'pip', 'wheel', '--wheel-dir', str(wheelhouse), *packages], check=True) -- return str(wheelhouse) +- cmd = [sys.executable, '-m', 'pip', 'wheel', '--no-build-isolation', '--wheel-dir', wheelhouse, *packages] +- subprocess.run(cmd, check=True) +- return wheelhouse + return str(package_dir.parent.parent / 'build') diff --git a/mesonpy-trim-deps.patch b/mesonpy-trim-deps.patch index 400c30a..f9ca5da 100644 --- a/mesonpy-trim-deps.patch +++ b/mesonpy-trim-deps.patch @@ -1,23 +1,23 @@ The backend does not require a mesonbuild module for every flavor. the `meson` command from the regular RPM package is sufficient. -Index: meson_python-0.12.0/pyproject.toml +Index: meson_python-0.13.2/pyproject.toml =================================================================== ---- meson_python-0.12.0.orig/pyproject.toml -+++ meson_python-0.12.0/pyproject.toml -@@ -2,7 +2,6 @@ +--- meson_python-0.13.2.orig/pyproject.toml ++++ meson_python-0.13.2/pyproject.toml +@@ -6,7 +6,6 @@ build-backend = 'mesonpy' backend-path = ['.'] requires = [ -- 'meson>=0.63.3', - 'pyproject-metadata>=0.6.1', - 'tomli>=1.0.0; python_version<"3.11"', - 'typing-extensions>=3.7.4; python_version<"3.10"', -@@ -25,7 +24,6 @@ classifiers = [ +- 'meson >= 0.63.3', + 'pyproject-metadata >= 0.7.1', + 'tomli >= 1.0.0; python_version < "3.11"', + 'setuptools >= 60.0; python_version >= "3.12"', +@@ -29,7 +28,6 @@ classifiers = [ dependencies = [ 'colorama; os_name == "nt"', -- 'meson>=0.63.3', - 'pyproject-metadata>=0.6.1', # not a hard dependency, only needed for projects that use PEP 621 metadata - 'tomli>=1.0.0; python_version<"3.11"', - 'typing-extensions>=3.7.4; python_version<"3.10"', +- 'meson >= 0.63.3', + 'pyproject-metadata >= 0.7.1', + 'tomli >= 1.0.0; python_version < "3.11"', + 'setuptools >= 60.0; python_version >= "3.12"', diff --git a/pyproject_metadata-0.6.1-py3-none-any.whl b/pyproject_metadata-0.6.1-py3-none-any.whl deleted file mode 100644 index 0333219..0000000 --- a/pyproject_metadata-0.6.1-py3-none-any.whl +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36577274efd87df1bedb6fb335620cf7f4959d5457ef39881a7710c5b8c356a9 -size 7400 diff --git a/pyproject_metadata-0.7.1-py3-none-any.whl b/pyproject_metadata-0.7.1-py3-none-any.whl new file mode 100644 index 0000000..3f01fd6 --- /dev/null +++ b/pyproject_metadata-0.7.1-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28691fbb36266a819ec56c9fa1ecaf36f879d6944dfde5411e87fc4ff793aa60 +size 7370 diff --git a/python-meson-python.changes b/python-meson-python.changes index eb984a2..3bccb74 100644 --- a/python-meson-python.changes +++ b/python-meson-python.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Thu Aug 17 12:57:55 UTC 2023 - Markéta Machová + +- Update to 0.13.2 + * Add support for editable installs. + * Adjust the default build options passed to meson setup. + * Make sure that the directory where the wheel or sdist build artifacts are + created exists. Fixes building with PDM. + * Fix the specification of the C++ compiler for cross-compilation with + $ARCHFLAGS on macOS. + * Pass the --reconfigure option to meson setup if and only if the specified + build directory exists and is a valid Meson build directory. + * Pass the --no-rebuild option to meson install. + * Allow to select the files to be included in the wheel via Meson install + tags passing the --tags option to meson install via pyproject.toml or + config settings. + * Do not use the meson compile indirection to build the project, except on + Windows, where it is required to setup the Visual Studio environment. + * Do not add ninja to the build dependencies if $NINJA is set but it does not + point to a ninja executable with the required minimum version. + * Verify at run time that Meson satisfies the minimum required version. + * Place native and cross files in the build directory instead of in the source directory. + * Drop the typing-extensions package dependency. + * Add dependency on setuptools on Python 3.12 and later. This fixes build + error due to Meson depending on the distutils standard library module + removed in Python 3.12. + * Bump the required pyproject-metadata version to 0.7.1. + * Allows some more cross-compilation setups by not checking extension modules + filename suffixes against the suffixes accepted by the current interpreter. + * Raise an error when a file that would be installed by Meson cannot be + mapped to a wheel location. + * Raise an error when a package is split between platlib and purelib. + * Do not generate a warning when pyproject.toml does not contain a project + section and Python package metadata is derived from meson.build. + * Improve reporting of pyproject.toml validation errors. + * Fix validation of tool specific options in pyproject.toml. In particular, + allows to specify an incomplete set of options in the + tool.meson-python.args table. + * Add the --quiet option when invoking meson install. The installation paths + are a detail of the meson-python implementation and are generally not + interesting for the user. + ------------------------------------------------------------------- Sat Jun 10 17:53:58 UTC 2023 - ecsos diff --git a/python-meson-python.spec b/python-meson-python.spec index 59aee31..7ba3a9c 100644 --- a/python-meson-python.spec +++ b/python-meson-python.spec @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-meson-python -Version: 0.12.1 +Version: 0.13.2 Release: 0 Summary: Meson Python build backend (PEP 517) License: MIT @@ -26,7 +26,7 @@ URL: https://github.com/mesonbuild/meson-python Source0: https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-%{version}.tar.gz # for the test suite Source1: https://files.pythonhosted.org/packages/py3/t/tomli/tomli-2.0.1-py3-none-any.whl -Source2: https://files.pythonhosted.org/packages/py3/p/pyproject_metadata/pyproject_metadata-0.6.1-py3-none-any.whl +Source2: https://files.pythonhosted.org/packages/py3/p/pyproject_metadata/pyproject_metadata-0.7.1-py3-none-any.whl Source3: https://files.pythonhosted.org/packages/py3/p/packaging/packaging-23.0-py3-none-any.whl Source4: https://files.pythonhosted.org/packages/py3/t/typing_extensions/typing_extensions-4.4.0-py3-none-any.whl # PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code@bnavigator.de @@ -35,7 +35,7 @@ Patch11: mesonpy-trim-deps.patch Patch12: mesonpy-no-wheel-rebuild.patch BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module pip} -BuildRequires: %{python_module pyproject-metadata >= 0.6.1} +BuildRequires: %{python_module pyproject-metadata >= 0.7.1} BuildRequires: %{python_module tomli >= 1.0.0 if %python-base < 3.11} BuildRequires: %{python_module typing-extensions >= 3.7.4 if %python-base < 3.10} BuildRequires: fdupes @@ -43,7 +43,7 @@ BuildRequires: meson >= 0.63.3 BuildRequires: ninja BuildRequires: python-rpm-macros Requires: meson >= 0.63.3 -Requires: python-pyproject-metadata >= 0.6.1 +Requires: python-pyproject-metadata >= 0.7.1 %if 0%{python_version_nodots} < 311 Requires: python-tomli >= 1.0.0 %endif @@ -83,7 +83,7 @@ export MESONPY_FORCE_LOCAL_LIB=1 %files %{python_files} %license LICENSE -%doc README.md +%doc README.rst %{python_sitelib}/mesonpy %{python_sitelib}/meson_python-%{version}*-info