diff --git a/.files b/.files index 7e28d3d..aa61cbb 100644 Binary files a/.files and b/.files differ diff --git a/.rev b/.rev index a63cde1..37c77b1 100644 --- a/.rev +++ b/.rev @@ -26,4 +26,12 @@ 1010928 + + 49988366c39236a05aeac53e704aa8ab + 0.11.0 + + dimstar_suse + + 1037919 + diff --git a/meson-subdir-fix.patch b/meson-subdir-fix.patch deleted file mode 100644 index b21e96e..0000000 --- a/meson-subdir-fix.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f51fcafb20e20a8a724a2b65f49670a74fe7d8f2 Mon Sep 17 00:00:00 2001 -From: Ralf Gommers -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 diff --git a/meson_python-0.10.0.tar.gz b/meson_python-0.10.0.tar.gz deleted file mode 120000 index 9294d9a..0000000 --- a/meson_python-0.10.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreiai3ujcyedu3pk4kw2tte5hdhgkopoyefrxfsisc732kubgb6ph4e \ No newline at end of file diff --git a/meson_python-0.11.0.tar.gz b/meson_python-0.11.0.tar.gz new file mode 120000 index 0000000..2fb2f87 --- /dev/null +++ b/meson_python-0.11.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreiarajmig7bp7z3c6x4flr7kkoc7d3ouib2osoqpgf7757d2vnblbe \ No newline at end of file diff --git a/mesonpy-no-wheel-rebuild.patch b/mesonpy-no-wheel-rebuild.patch new file mode 100644 index 0000000..40cfdf3 --- /dev/null +++ b/mesonpy-no-wheel-rebuild.patch @@ -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 diff --git a/mesonpy-trim-deps.patch b/mesonpy-trim-deps.patch index 5e1e35e..f3dc8c5 100644 --- a/mesonpy-trim-deps.patch +++ b/mesonpy-trim-deps.patch @@ -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"', diff --git a/packaging-21.3-py3-none-any.whl b/packaging-21.3-py3-none-any.whl new file mode 120000 index 0000000..54a04b7 --- /dev/null +++ b/packaging-21.3-py3-none-any.whl @@ -0,0 +1 @@ +/ipfs/bafkreihpca7al5izzxdyhlre5jhc4d2qrkojtmwus2lff3wwulq6uw6vei \ No newline at end of file diff --git a/pyparsing-3.0.9-py3-none-any.whl b/pyparsing-3.0.9-py3-none-any.whl new file mode 120000 index 0000000..f204878 --- /dev/null +++ b/pyparsing-3.0.9-py3-none-any.whl @@ -0,0 +1 @@ +/ipfs/bafkreicqe25otiio5lx3mhnlf4eqkk47imd5isxoj3ngjmyjoi6y2idlxq \ No newline at end of file diff --git a/pyproject_metadata-0.6.1-py3-none-any.whl b/pyproject_metadata-0.6.1-py3-none-any.whl new file mode 120000 index 0000000..c7c2ed2 --- /dev/null +++ b/pyproject_metadata-0.6.1-py3-none-any.whl @@ -0,0 +1 @@ +/ipfs/bafkreibwk5zhj36ypxy35w3pwm2wedhx6skz2vcx544yqgtxcdc3rq2wve \ No newline at end of file diff --git a/python-meson-python.changes b/python-meson-python.changes index b4c8b03..076660e 100644 --- a/python-meson-python.changes +++ b/python-meson-python.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------ +Thu Nov 24 11:31:07 UTC 2022 - Ben Greiner + +- 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 diff --git a/python-meson-python.spec b/python-meson-python.spec index 6097551..161c548 100644 --- a/python-meson-python.spec +++ b/python-meson-python.spec @@ -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} diff --git a/tomli-2.0.1-py3-none-any.whl b/tomli-2.0.1-py3-none-any.whl new file mode 120000 index 0000000..3ffb94d --- /dev/null +++ b/tomli-2.0.1-py3-none-any.whl @@ -0,0 +1 @@ +/ipfs/bafkreiettxr6pjqwdlymrb7psg35igst47c2dsuxmms7ikoli3vjxqyozq \ No newline at end of file