Accepting request 1037898 from home:bnavigator:branches:devel:languages:python

------------------------------------------------------------------
- Update to 0.11.0
  * Project moved to the mesonbuild organization
  * Determine wheel tags by introspecting the Python interpreter
  * Allow users to pass options directly to Meson via the
    tools.meson-python.args.{dist,setup,compile,install}
    pyproject.toml keys, and the {dist,setup,compile,install}-args
    frontend config options
  * Use the system ninja dependency if possible
  * Include files generated by mesonadd_dist_script to sdists
  * Use tomllib on Python>=3.11
  * Drop wheel dependency in favor of in-house solution
  * Fix bug where the entry_points.txt file wasn't being generated
  * Fix bug where Cygwin Python extensions were not being noticed
- Drop meson-subdir-fix.patch fixed upstream
- Add mesonpy-no-wheel-rebuild.patch

OBS-URL: https://build.opensuse.org/request/show/1037898
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-meson-python?expand=0&rev=8
This commit is contained in:
Dirk Mueller 2022-11-24 13:51:03 +00:00 committed by Git OBS Bridge
parent 4bbb6f876e
commit 5451cf6f41
11 changed files with 99 additions and 69 deletions

View File

@ -1,42 +0,0 @@
From f51fcafb20e20a8a724a2b65f49670a74fe7d8f2 Mon Sep 17 00:00:00 2001
From: Ralf Gommers <ralf.gommers@gmail.com>
Date: Thu, 6 Oct 2022 20:18:43 +0200
Subject: [PATCH] TST: update the test for `install_subdir` for fix in meson
0.63.3
We weren't sure if the fix we needed was getting backported,
but it has been.
---
tests/test_wheel.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: meson_python-0.10.0/tests/test_wheel.py
===================================================================
--- meson_python-0.10.0.orig/tests/test_wheel.py
+++ meson_python-0.10.0/tests/test_wheel.py
@@ -107,7 +107,7 @@ def test_scipy_like(wheel_scipy_like):
# 0.63.2: https://github.com/mesonbuild/meson/pull/10765
# A backport of the fix may land in 0.63.3, if so then remove the version
# check here and add the two expected files unconditionally.
- if meson_version and meson_version >= '0.63.99':
+ if meson_version and meson_version >= '0.63.3':
expecting |= {
'mypkg/submod/__init__.py',
'mypkg/submod/unknown_filetype.npq',
@@ -120,7 +120,15 @@ def test_scipy_like(wheel_scipy_like):
for item in expecting:
assert item in actual_files
else:
- assert wheel_contents(artifact) == expecting
+ # meson_version is None for python3.8 and python3.9 but the real
+ # version installed is > 0.63.3, so it's possible that these two
+ # files exists in the wheel_contents but not in the expecting:
+ # 'mypkg/submod/__init__.py',
+ # 'mypkg/submod/unknown_filetype.npq',
+ # So we need to compare just the expecting
+ actual_files = wheel_contents(artifact)
+ for item in expecting:
+ assert item in actual_files
name = artifact.parsed_filename
assert name.group('pyver') == PYTHON_TAG

View File

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

View File

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

View File

@ -0,0 +1,25 @@
We already have the meson_python wheel, can't built it in isolated mode inside OBS
Index: meson_python-0.11.0/tests/conftest.py
===================================================================
--- meson_python-0.11.0.orig/tests/conftest.py
+++ meson_python-0.11.0/tests/conftest.py
@@ -133,17 +133,7 @@ def disable_pip_version_check():
@pytest.fixture(scope='session')
def pep518_wheelhouse(tmpdir_factory):
- wheelhouse = tmpdir_factory.mktemp('wheelhouse')
- meson_python = str(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,
- ]
- subprocess.run([sys.executable, '-m', 'pip', 'wheel', '--wheel-dir', str(wheelhouse), *packages], check=True)
- return str(wheelhouse)
+ return str(package_dir.parent.parent / 'build')
@pytest.fixture

View File

@ -1,17 +1,23 @@
The backend does not require a mesonbuild module for every flavor.
`meson` and `ninja` commands from the regular RPM packages are
sufficient.
the `meson` command from the regular RPM package is sufficient.
Index: meson_python-0.8.1/pyproject.toml
Index: meson_python-0.11.0/pyproject.toml
===================================================================
--- meson_python-0.8.1.orig/pyproject.toml
+++ meson_python-0.8.1/pyproject.toml
@@ -26,8 +26,6 @@ classifiers = [
--- meson_python-0.11.0.orig/pyproject.toml
+++ meson_python-0.11.0/pyproject.toml
@@ -2,7 +2,6 @@
build-backend = 'mesonpy'
backend-path = ['.']
requires = [
- 'meson>=0.63.3',
'pyproject-metadata>=0.5.0',
'tomli>=1.0.0; python_version<"3.11"',
'typing-extensions>=3.7.4; python_version<"3.8"',
@@ -25,7 +24,6 @@ classifiers = [
dependencies = [
'colorama; os_name == "nt"',
- 'meson>=0.62.0',
- 'ninja',
- 'meson>=0.63.3',
'pyproject-metadata>=0.5.0', # not a hard dependency, only needed for projects that use PEP 621 metadata
'tomli>=1.0.0',
'tomli>=1.0.0; python_version<"3.11"',
'typing-extensions>=3.7.4; python_version<"3.8"',

View File

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

View File

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

View File

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

View File

@ -1,3 +1,22 @@
------------------------------------------------------------------
Thu Nov 24 11:31:07 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 0.11.0
* Project moved to the mesonbuild organization
* Determine wheel tags by introspecting the Python interpreter
* Allow users to pass options directly to Meson via the
tools.meson-python.args.{dist,setup,compile,install}
pyproject.toml keys, and the {dist,setup,compile,install}-args
frontend config options
* Use the system ninja dependency if possible
* Include files generated by mesonadd_dist_script to sdists
* Use tomllib on Python>=3.11
* Drop wheel dependency in favor of in-house solution
* Fix bug where the entry_points.txt file wasn't being generated
* Fix bug where Cygwin Python extensions were not being noticed
- Drop meson-subdir-fix.patch fixed upstream
- Add mesonpy-no-wheel-rebuild.patch
-------------------------------------------------------------------
Fri Oct 14 12:44:56 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>

View File

@ -17,42 +17,50 @@
Name: python-meson-python
Version: 0.10.0
Version: 0.11.0
Release: 0
Summary: Meson Python build backend (PEP 517)
License: MIT
URL: https://github.com/FFY00/meson-python
Source: https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-%{version}.tar.gz
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
Source3: https://files.pythonhosted.org/packages/py3/p/packaging/packaging-21.3-py3-none-any.whl
Source4: https://files.pythonhosted.org/packages/py3/p/pyparsing/pyparsing-3.0.9-py3-none-any.whl
# PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code@bnavigator.de
Patch1: mesonpy-trim-deps.patch
# PATCH-FIX-UPSTREAM https://github.com/FFY00/meson-python/commit/f51fcafb20e20a8a724a2b65f49670a74fe7d8f2 TST: update the test for install_subdir for fix in meson 0.63.3
Patch2: meson-subdir-fix.patch
Patch11: mesonpy-trim-deps.patch
# PATCH-FEATURE-OPENSUSE mesonpy-no-wheel-rebuild.patch code@bnavigator.de
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 tomli >= 1.0.0}
BuildRequires: %{python_module pyproject-metadata >= 0.5.0}
BuildRequires: %{python_module tomli >= 1.0.0 if %python-base < 3.11}
BuildRequires: %{python_module typing-extensions >= 3.7.4 if %python-base < 3.8}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: meson >= 0.63.0
BuildRequires: meson >= 0.63.3
BuildRequires: ninja
BuildRequires: python-rpm-macros
Requires: meson >= 0.62.0
Requires: ninja
Requires: meson >= 0.63.3
Requires: python-pyproject-metadata >= 0.5.0
%if 0%{python_version_nodots} < 311
Requires: python-tomli >= 1.0.0
BuildArch: noarch
%endif
%if 0%{python_version_nodots} < 38
Requires: python-typing-extensions >= 3.7.4
%endif
# SECTION test
BuildRequires: %{python_module GitPython}
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module build}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pyproject-metadata >= 0.6.1}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wheel}
BuildRequires: patchelf
# /SECTION
BuildArch: noarch
%python_subpackages
%description
@ -70,7 +78,9 @@ Python build backend (PEP 517) for Meson projects.
%check
export MESONPY_FORCE_LOCAL_LIB=1
# can test test_spam only once gh#FFY00/meson-python#169
%python_expand cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} build/
# can test test_spam only once gh#mesonbuild/meson-python#169
# this has benn fixed shortly after the release of 0.11
%python_expand $python_ignore="--ignore tests/docs/examples/test_spam.py"
unset python310_ignore
%pytest ${$python_ignore}

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

Binary file not shown.