diff --git a/meson_python-0.14.0.tar.gz b/meson_python-0.14.0.tar.gz deleted file mode 100644 index 12c246c..0000000 --- a/meson_python-0.14.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b96866690326544dfe452583753ac3f43313227e9fd9416701a8df90af212234 -size 78824 diff --git a/meson_python-0.15.0.tar.gz b/meson_python-0.15.0.tar.gz new file mode 100644 index 0000000..6996384 --- /dev/null +++ b/meson_python-0.15.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f +size 79920 diff --git a/mesonpy-no-wheel-rebuild.patch b/mesonpy-no-wheel-rebuild.patch deleted file mode 100644 index 16015fe..0000000 --- a/mesonpy-no-wheel-rebuild.patch +++ /dev/null @@ -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 diff --git a/mesonpy-trim-deps.patch b/mesonpy-trim-deps.patch index f9ca5da..bb8a801 100644 --- a/mesonpy-trim-deps.patch +++ b/mesonpy-trim-deps.patch @@ -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"', + ] diff --git a/no-build-isolation-in-test.patch b/no-build-isolation-in-test.patch deleted file mode 100644 index ae7aa70..0000000 --- a/no-build-isolation-in-test.patch +++ /dev/null @@ -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) diff --git a/packaging-23.0-py3-none-any.whl b/packaging-23.0-py3-none-any.whl deleted file mode 100644 index 2a7adf6..0000000 --- a/packaging-23.0-py3-none-any.whl +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 -size 42678 diff --git a/pyproject_metadata-0.7.1-py3-none-any.whl b/pyproject_metadata-0.7.1-py3-none-any.whl deleted file mode 100644 index 3f01fd6..0000000 --- a/pyproject_metadata-0.7.1-py3-none-any.whl +++ /dev/null @@ -1,3 +0,0 @@ -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 091b8e7..482ac2c 100644 --- a/python-meson-python.changes +++ b/python-meson-python.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Tue Apr 16 19:27:36 UTC 2024 - Ben Greiner + +- 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 diff --git a/python-meson-python.spec b/python-meson-python.spec index 30297b0..68b37a7 100644 --- a/python-meson-python.spec +++ b/python-meson-python.spec @@ -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 diff --git a/tomli-2.0.1-py3-none-any.whl b/tomli-2.0.1-py3-none-any.whl deleted file mode 100644 index a9ecc74..0000000 --- a/tomli-2.0.1-py3-none-any.whl +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc -size 12757 diff --git a/typing_extensions-4.4.0-py3-none-any.whl b/typing_extensions-4.4.0-py3-none-any.whl deleted file mode 100644 index 57045ae..0000000 --- a/typing_extensions-4.4.0-py3-none-any.whl +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e -size 26662