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

now with doc and license

OBS-URL: https://build.opensuse.org/request/show/1003365
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-meson-python?expand=0&rev=1
This commit is contained in:
Matej Cepl 2022-09-14 15:48:11 +00:00 committed by Git OBS Bridge
commit 2b235b37f3
8 changed files with 183 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

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

View File

@ -0,0 +1,26 @@
From 0a5308014f7226e4e303e2779a8177acea70c49c Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz93@gmail.com>
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()

15
mesonpy-no-rpath.patch Normal file
View File

@ -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

17
mesonpy-trim-deps.patch Normal file
View File

@ -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"',

View File

@ -0,0 +1,14 @@
-------------------------------------------------------------------
Tue Sep 13 01:16:30 UTC 2022 - Ben Greiner <code@bnavigator.de>
- add mesonpy-no-rpath.patch -- gh#FFY00/meson-python#125
-------------------------------------------------------------------
Sat Sep 10 21:18:06 UTC 2022 - Ben Greiner <code@bnavigator.de>
- 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

84
python-meson-python.spec Normal file
View File

@ -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