Sync from SUSE:SLFO:Main python-meson-python revision 5d0ad5720212470c1f2d528448d2abb0

This commit is contained in:
Adrian Schröter 2024-09-25 17:14:50 +02:00
parent 4546f37bba
commit 91a5b6d327
11 changed files with 64 additions and 85 deletions

BIN
meson_python-0.14.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
meson_python-0.15.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,26 +0,0 @@
We already have the meson_python wheel, can't built it in isolated mode inside OBS
Index: meson_python-0.13.2/tests/conftest.py
===================================================================
--- 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 = 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
- # the pip cache are used when available.
- packages = [
- meson_python,
- ]
- 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')
@pytest.fixture

View File

@ -1,23 +1,25 @@
The backend does not require a mesonbuild module for every flavor. The backend does not require a mesonbuild module for every flavor.
the `meson` command from the regular RPM package is sufficient. the `meson` command from the regular RPM package is sufficient.
Index: meson_python-0.13.2/pyproject.toml Index: meson_python-0.15.0/pyproject.toml
=================================================================== ===================================================================
--- meson_python-0.13.2.orig/pyproject.toml --- meson_python-0.15.0.orig/pyproject.toml
+++ meson_python-0.13.2/pyproject.toml +++ meson_python-0.15.0/pyproject.toml
@@ -6,7 +6,6 @@ @@ -6,8 +6,6 @@
build-backend = 'mesonpy' build-backend = 'mesonpy'
backend-path = ['.'] backend-path = ['.']
requires = [ requires = [
- 'meson >= 0.63.3', - 'meson >= 0.63.3; python_version < "3.12"',
- 'meson >= 1.2.3; python_version >= "3.12"',
'pyproject-metadata >= 0.7.1', 'pyproject-metadata >= 0.7.1',
'tomli >= 1.0.0; python_version < "3.11"', 'tomli >= 1.0.0; python_version < "3.11"',
'setuptools >= 60.0; python_version >= "3.12"', ]
@@ -29,7 +28,6 @@ classifiers = [ @@ -33,8 +31,6 @@ classifiers = [
dependencies = [ dependencies = [
'colorama; os_name == "nt"', 'colorama; os_name == "nt"',
- 'meson >= 0.63.3', - 'meson >= 0.63.3; python_version < "3.12"',
- 'meson >= 1.2.3; python_version >= "3.12"',
'pyproject-metadata >= 0.7.1', 'pyproject-metadata >= 0.7.1',
'tomli >= 1.0.0; python_version < "3.11"', 'tomli >= 1.0.0; python_version < "3.11"',
'setuptools >= 60.0; python_version >= "3.12"', ]

View File

@ -1,10 +0,0 @@
Index: meson_python-0.14.0/tests/test_pep518.py
===================================================================
--- meson_python-0.14.0.orig/tests/test_pep518.py
+++ meson_python-0.14.0/tests/test_pep518.py
@@ -27,4 +27,4 @@ def test_pep518(package, build_arg, tmp_
with chdir(package_dir / package), in_git_repo_context():
build_args = [build_arg] if build_arg else []
- subprocess.run([sys.executable, '-m', 'build', '--outdir', str(dist), *build_args], check=True)
+ subprocess.run([sys.executable, '-m', 'build', '-n', '--outdir', str(dist), *build_args], check=True)

BIN
packaging-23.0-py3-none-any.whl (Stored with Git LFS)

Binary file not shown.

BIN
pyproject_metadata-0.7.1-py3-none-any.whl (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,39 @@
-------------------------------------------------------------------
Tue Apr 16 19:27:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 0.15.0
* Enable compression for wheel files. The may result in several
times smaller wheels.
* Require Meson 1.2.3 or later on Python 3.12 or later. Meson
1.2.3 does not require anymore ``distutils``, allowing to
remove the dependency on ``setuptools`` on Python 3.12 or
later.
* Unconditionally require ``patchelf`` on Linux. The
``patchelf`` package is added to the build dependencies if a
suitable ``patchelf`` executable is not find on the ``$PATH``.
This avoids cases where ``meson setup`` was run twice during
the build process to determine whether ``patchelf`` is
required.
* Allow to configure the ``meson`` executable to use for the
build process through the ``$MESON`` environment variable or
the ``meson`` key under ``[tool.meson-python]`` in
``pyproject.toml``.
* Fix wheel platform tag generation on FreeBSD.
* Extend support to other UNIX-like systems and make the tests
pass on FreeBSD.
* Fix package name normalization in package metadata and improve
package name validation.
* Fix ``RPATH`` handling when the build ``RPATH`` points to
subdirectories of the build directory.
* Fix support for the Python limited C API when compiling for
PyPy.
* Rename the ``builddir`` config-setting to ``build-dir``. For
backwards compatibility, the ``buildir`` config-setting remains
supported as an alias.
- Drop no longer needed test patches and test wheels
* no-build-isolation-in-test.patch
* mesonpy-no-wheel-rebuild.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Sep 21 06:01:08 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com> Thu Sep 21 06:01:08 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package python-meson-python # spec file for package python-meson-python
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,43 +18,31 @@
%{?sle15_python_module_pythons} %{?sle15_python_module_pythons}
Name: python-meson-python Name: python-meson-python
Version: 0.14.0 Version: 0.15.0
Release: 0 Release: 0
Summary: Meson Python build backend (PEP 517) Summary: Meson Python build backend (PEP 517)
License: MIT License: MIT
URL: https://github.com/mesonbuild/meson-python URL: https://github.com/mesonbuild/meson-python
Source0: https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-%{version}.tar.gz 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.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 # PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code@bnavigator.de
Patch11: mesonpy-trim-deps.patch Patch11: mesonpy-trim-deps.patch
# PATCH-FEATURE-OPENSUSE mesonpy-no-wheel-rebuild.patch code@bnavigator.de
Patch12: mesonpy-no-wheel-rebuild.patch
# PATCH-FEATURE-OPENSUSE
Patch14: no-build-isolation-in-test.patch
BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyproject-metadata >= 0.7.1} BuildRequires: %{python_module pyproject-metadata >= 0.7.1}
BuildRequires: %{python_module tomli >= 1.0.0 if %python-base < 3.11} 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 BuildRequires: fdupes
BuildRequires: meson >= 0.63.3 BuildRequires: meson >= 1.2.2
BuildRequires: ninja BuildRequires: ninja
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
Requires: meson >= 0.63.3
Requires: python-pyproject-metadata >= 0.7.1
%if 0%{python_version_nodots} >= 312 %if 0%{python_version_nodots} >= 312
Requires: python-setuptools Requires: meson >= 1.2.3
%else
Requires: meson >= 0.63.3
%endif %endif
Requires: python-pyproject-metadata >= 0.7.1
%if 0%{python_version_nodots} < 311 %if 0%{python_version_nodots} < 311
Requires: python-tomli >= 1.0.0 Requires: python-tomli >= 1.0.0
%endif %endif
%if 0%{python_version_nodots} < 310
Requires: python-typing-extensions >= 3.7.4
%endif
# SECTION test # SECTION test
BuildRequires: %{python_module GitPython} BuildRequires: %{python_module GitPython}
BuildRequires: %{python_module Cython} BuildRequires: %{python_module Cython}
@ -62,7 +50,6 @@ BuildRequires: %{python_module build}
BuildRequires: %{python_module devel} BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest-mock} BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest} BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools-wheel}
BuildRequires: %{python_module wheel} BuildRequires: %{python_module wheel}
BuildRequires: patchelf BuildRequires: patchelf
# /SECTION # /SECTION
@ -70,7 +57,10 @@ BuildArch: noarch
%python_subpackages %python_subpackages
%description %description
Python build backend (PEP 517) for Meson projects. meson-python is a Python build backend built on top of the Meson build system.
It enables using Meson for the configuration and build steps of Python packages.
meson-python is best suited for building Python packages containing extension
modules implemented in languages such as C, C++, Cython, Fortran, Pythran, or Rust.
%prep %prep
%autosetup -p1 -n meson_python-%{version} %autosetup -p1 -n meson_python-%{version}
@ -83,10 +73,9 @@ Python build backend (PEP 517) for Meson projects.
%python_expand %fdupes %{buildroot}%{$python_sitelib} %python_expand %fdupes %{buildroot}%{$python_sitelib}
%check %check
export MESONPY_FORCE_LOCAL_LIB=1 # test suite path issues
export PIP_FIND_LINKS="%{python3_sitelib}/../wheels" donttest="test_vendored_meson"
%python_expand cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} build/ %pytest -k "not ($donttest)"
%pytest
%files %{python_files} %files %{python_files}
%license LICENSE %license LICENSE

BIN
tomli-2.0.1-py3-none-any.whl (Stored with Git LFS)

Binary file not shown.

BIN
typing_extensions-4.4.0-py3-none-any.whl (Stored with Git LFS)

Binary file not shown.