From d774d70371da7bb13e3ecf3ee14028b0f8e209ee Mon Sep 17 00:00:00 2001 From: bnavigator <> Date: Sep 19 2022 14:08:46 +0000 Subject: Update python-meson-python to version 0.8.1 / rev 1 via SR 1004199 https://build.opensuse.org/request/show/1004199 by user bnavigator + dimstar_suse used by SciPy 1.9 --- diff --git a/.files b/.files new file mode 100644 index 0000000..fdb1905 Binary files /dev/null and b/.files differ diff --git a/.meta b/.meta new file mode 100644 index 0000000..7494fcb --- /dev/null +++ b/.meta @@ -0,0 +1,5 @@ + + + + + diff --git a/.rev b/.rev new file mode 100644 index 0000000..9165ed9 --- /dev/null +++ b/.rev @@ -0,0 +1,10 @@ + + + ceb6b4c5b674ace1a1845a7bc5091223 + 0.8.1 + + dimstar_suse + used by SciPy 1.9 + 1004199 + + diff --git a/meson_python-0.8.1.tar.gz b/meson_python-0.8.1.tar.gz new file mode 120000 index 0000000..1de62c3 --- /dev/null +++ b/meson_python-0.8.1.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreicef4p2jt25wuhouyixbjqftqipv7lqs57v3pptiqoba3gshmc6jq \ No newline at end of file diff --git a/mesonpy-force-flavor.patch b/mesonpy-force-flavor.patch new file mode 100644 index 0000000..1099bbe --- /dev/null +++ b/mesonpy-force-flavor.patch @@ -0,0 +1,26 @@ +From 0a5308014f7226e4e303e2779a8177acea70c49c Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Sun, 11 Sep 2022 22:11:10 -0400 +Subject: [PATCH] BUG: fix native file override + +This attempted to override "python3", which Meson never used for +find_installation. So the native file did nothing. + +Override the correct name. +--- + mesonpy/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: meson_python-0.8.1/mesonpy/__init__.py +=================================================================== +--- meson_python-0.8.1.orig/mesonpy/__init__.py ++++ meson_python-0.8.1/mesonpy/__init__.py +@@ -443,7 +443,7 @@ class Project(): + # write the native file + native_file_data = textwrap.dedent(f''' + [binaries] +- python3 = '{sys.executable}' ++ python = '{sys.executable}' + ''') + native_file_mismatch = ( + not self._meson_native_file.exists() diff --git a/mesonpy-no-rpath.patch b/mesonpy-no-rpath.patch new file mode 100644 index 0000000..6a016d6 --- /dev/null +++ b/mesonpy-no-rpath.patch @@ -0,0 +1,15 @@ +Index: meson_python-0.8.1/mesonpy/__init__.py +=================================================================== +--- meson_python-0.8.1.orig/mesonpy/__init__.py ++++ meson_python-0.8.1/mesonpy/__init__.py +@@ -327,7 +327,9 @@ class _WheelBuilder(): + counter.update(location) + + # fix file +- if platform.system() == 'Linux': ++ # disable rpath addition for rpmbuilds -- https://github.com/FFY00/meson-python/issues/125 ++ if (platform.system() == 'Linux' and (os.environ.get("RPM_BUILD_ROOT", None) is None or ++ os.environ.get("MESONPY_FORCE_LOCAL_LIB", None))): + # add .mesonpy.libs to the RPATH of ELF files + if self._is_elf(os.fspath(origin)): + # copy ELF to our working directory to avoid Meson having to regenerate the file diff --git a/mesonpy-trim-deps.patch b/mesonpy-trim-deps.patch new file mode 100644 index 0000000..5e1e35e --- /dev/null +++ b/mesonpy-trim-deps.patch @@ -0,0 +1,17 @@ +The backend does not require a mesonbuild module for every flavor. +`meson` and `ninja` commands from the regular RPM packages are +sufficient. + +Index: meson_python-0.8.1/pyproject.toml +=================================================================== +--- meson_python-0.8.1.orig/pyproject.toml ++++ meson_python-0.8.1/pyproject.toml +@@ -26,8 +26,6 @@ classifiers = [ + + dependencies = [ + 'colorama; os_name == "nt"', +- 'meson>=0.62.0', +- 'ninja', + 'pyproject-metadata>=0.5.0', # not a hard dependency, only needed for projects that use PEP 621 metadata + 'tomli>=1.0.0', + 'typing-extensions>=3.7.4; python_version<"3.8"', diff --git a/python-meson-python.changes b/python-meson-python.changes new file mode 100644 index 0000000..680deaa --- /dev/null +++ b/python-meson-python.changes @@ -0,0 +1,14 @@ +------------------------------------------------------------------- +Tue Sep 13 01:16:30 UTC 2022 - Ben Greiner + +- add mesonpy-no-rpath.patch -- gh#FFY00/meson-python#125 + +------------------------------------------------------------------- +Sat Sep 10 21:18:06 UTC 2022 - Ben Greiner + +- Initial specfile for v0.8.1 +- Used by new SciPy pyproject.toml +- Force correct flavor by mesonpy-force-flavor.patch + * gh#FY00/meson-python#51, gh#FY00/meson-python#127 +- Use mesonpy-trim-deps.patch for single-flavor meson and ninja + commands diff --git a/python-meson-python.spec b/python-meson-python.spec new file mode 100644 index 0000000..6713bf6 --- /dev/null +++ b/python-meson-python.spec @@ -0,0 +1,84 @@ +# +# spec file for package python-meson-python +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: python-meson-python +Version: 0.8.1 +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 +# PATCH-FIX-UPSTREAM mesonpy-force-flavor.patch gh#FY00/meson-python#51, gh#FY00/meson-python#127 +Patch0: mesonpy-force-flavor.patch +# PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code@bnavigator.de +Patch1: mesonpy-trim-deps.patch +# PATCH-FIX-OPENSUSE mesonpy-no-rpath.patch code@bnavigator.de -- https://github.com/FFY00/meson-python/issues/125#issuecomment-1243388061 +Patch2: mesonpy-no-rpath.patch +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pyproject-metadata >= 0.5} +BuildRequires: %{python_module tomli >= 1.0.0} +BuildRequires: %{python_module typing-extensions >= 3.7.4 if %python-base < 3.8} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: meson +BuildRequires: ninja +BuildRequires: python-rpm-macros +Requires: meson +Requires: ninja +Requires: python-pyproject-metadata >= 0.5.0 +Requires: python-tomli >= 1.0.0 +BuildArch: noarch +%if 0%{python_version_nodots} < 38 +Requires: python-typing-extensions >= 3.7.4 +%endif +# SECTION test +BuildRequires: %{python_module GitPython} +BuildRequires: %{python_module devel} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest} +BuildRequires: patchelf +# /SECTION +%python_subpackages + +%description +Python build backend (PEP 517) for Meson projects. + +%prep +%autosetup -p1 -n meson_python-%{version} + +%build +# until we have https://github.com/openSUSE/python-rpm-macros/pull/139, this will build +# a pure wheel three times. +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +export MESONPY_FORCE_LOCAL_LIB=1 +%pytest + +%files %{python_files} +%license LICENSE +%doc README.md +%{python_sitelib}/mesonpy +%{python_sitelib}/meson_python-%{version}*-info + +%changelog