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