forked from pool/python-meson-python
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:
commit
2b235b37f3
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
meson_python-0.8.1.tar.gz
Normal file
3
meson_python-0.8.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:442f1fa4cf5db50eea61170a6059c10fafd70977f5dbdf3441c106cd23b05e4c
|
||||||
|
size 30133
|
26
mesonpy-force-flavor.patch
Normal file
26
mesonpy-force-flavor.patch
Normal 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
15
mesonpy-no-rpath.patch
Normal 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
17
mesonpy-trim-deps.patch
Normal 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"',
|
14
python-meson-python.changes
Normal file
14
python-meson-python.changes
Normal 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
84
python-meson-python.spec
Normal 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
|
Loading…
x
Reference in New Issue
Block a user