Accepting request 1168416 from home:bnavigator:branches:devel:languages:python:numeric

- 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

OBS-URL: https://build.opensuse.org/request/show/1168416
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-meson-python?expand=0&rev=20
This commit is contained in:
Markéta Machová 2024-04-17 06:46:38 +00:00 committed by Git OBS Bridge
parent 46a4425a2a
commit 7569e212ac
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.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f
size 79920

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 `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.13.2/pyproject.toml
@@ -6,7 +6,6 @@
--- meson_python-0.15.0.orig/pyproject.toml
+++ meson_python-0.15.0/pyproject.toml
@@ -6,8 +6,6 @@
build-backend = 'mesonpy'
backend-path = ['.']
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',
'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 = [
'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',
'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>

View File

@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@ -18,43 +18,31 @@
%{?sle15_python_module_pythons}
Name: python-meson-python
Version: 0.14.0
Version: 0.15.0
Release: 0
Summary: Meson Python build backend (PEP 517)
License: MIT
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.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
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 pip}
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
BuildRequires: meson >= 0.63.3
BuildRequires: meson >= 1.2.3
BuildRequires: ninja
BuildRequires: python-rpm-macros
Requires: meson >= 0.63.3
Requires: python-pyproject-metadata >= 0.7.1
%if 0%{python_version_nodots} >= 312
Requires: python-setuptools
Requires: meson >= 1.2.3
%else
Requires: meson >= 0.63.3
%endif
Requires: python-pyproject-metadata >= 0.7.1
%if 0%{python_version_nodots} < 311
Requires: python-tomli >= 1.0.0
%endif
%if 0%{python_version_nodots} < 310
Requires: python-typing-extensions >= 3.7.4
%endif
# SECTION test
BuildRequires: %{python_module GitPython}
BuildRequires: %{python_module Cython}
@ -62,7 +50,6 @@ BuildRequires: %{python_module build}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools-wheel}
BuildRequires: %{python_module wheel}
BuildRequires: patchelf
# /SECTION
@ -70,7 +57,10 @@ BuildArch: noarch
%python_subpackages
%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
%autosetup -p1 -n meson_python-%{version}
@ -83,10 +73,9 @@ Python build backend (PEP 517) for Meson projects.
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
export MESONPY_FORCE_LOCAL_LIB=1
export PIP_FIND_LINKS="%{python3_sitelib}/../wheels"
%python_expand cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} build/
%pytest
# test suite path issues
donttest="test_vendored_meson"
%pytest -k "not ($donttest)"
%files %{python_files}
%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.