Sync from SUSE:SLFO:Main python-meson-python revision 45d4ea5d1656bec353507d099701b151

This commit is contained in:
2025-05-17 15:49:57 +02:00
parent 91a5b6d327
commit da721984ea
6 changed files with 109 additions and 15 deletions

BIN
meson_python-0.15.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
meson_python-0.17.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,24 @@
Authors: code@bnavigator.de, bwiedemann@suse.com
Ref: https://github.com/openSUSE/python-rpm-macros/issues/182
Ref: https://github.com/mesonbuild/meson-python/issues/671
Reproducible builds require a deterministic build path.
Use the python-rpm-macros shuffled build directory.
Index: meson_python-0.16.0/mesonpy/__init__.py
===================================================================
--- meson_python-0.16.0.orig/mesonpy/__init__.py
+++ meson_python-0.16.0/mesonpy/__init__.py
@@ -943,7 +943,10 @@ def _project(config_settings: Optional[D
with contextlib.ExitStack() as ctx:
if build_dir is None:
- build_dir = ctx.enter_context(tempfile.TemporaryDirectory(prefix='.mesonpy-', dir=source_dir))
+ if(os.environ.get('SOURCE_DATE_EPOCH')):
+ build_dir = pathlib.Path(source_dir) / 'build'
+ else:
+ build_dir = ctx.enter_context(tempfile.TemporaryDirectory(prefix='.mesonpy-', dir=source_dir))
yield Project(source_dir, build_dir, meson_args, editable_verbose)

View File

@@ -1,25 +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.15.0/pyproject.toml
Index: meson_python-0.16.0/pyproject.toml
===================================================================
--- meson_python-0.15.0.orig/pyproject.toml
+++ meson_python-0.15.0/pyproject.toml
--- meson_python-0.16.0.orig/pyproject.toml
+++ meson_python-0.16.0/pyproject.toml
@@ -6,8 +6,6 @@
build-backend = 'mesonpy'
backend-path = ['.']
requires = [
- 'meson >= 0.63.3; python_version < "3.12"',
- 'meson >= 1.2.3; python_version >= "3.12"',
'packaging >= 19.0',
'pyproject-metadata >= 0.7.1',
'tomli >= 1.0.0; python_version < "3.11"',
]
@@ -33,8 +31,6 @@ classifiers = [
]
dependencies = [
'colorama; os_name == "nt"',
- 'meson >= 0.63.3; python_version < "3.12"',
- 'meson >= 1.2.3; python_version >= "3.12"',
'packaging >= 19.0',
'pyproject-metadata >= 0.7.1',
'tomli >= 1.0.0; python_version < "3.11"',
]

View File

@@ -1,3 +1,65 @@
-------------------------------------------------------------------
Wed Nov 20 14:58:13 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.17.1:
* Update tests to work with newly released pyproject-metadata
0.9.0.
* Fix tests to work when not executed in a git work tree.
* Refuse to build wheels targeting the limited API and free-
threaded CPython: the free-threaded CPython build does not
support the limited API yet.
* Always use UTF-8 encoding for writing Meson native and cross
files. Always use UTF-8 encoding for reading read Meson
introspection data and pyproject.toml.
* Do not include uncommitted changes when creating source
distributions. Previously, uncommitted changes to files under
version control were included, but not untracked files. There
was no strong use case for this behavior and it was too
surprising to keep it.
* Make source distribution reproducible: use the modification
time of pyproject.toml for the generated files in the source
distribution archives.
* Disable the abi3 wheel tag for PyPy when building wheels
targeting the limited API: PyPy supports the limited API but
not the stable ABI.
* Raise ImportError when the package rebuild fails when
importing an editable install.
* Fix the wheel platform tag for GraalPy.
* Add .gitignore and .hgignore files to build directory if it
is empty.
* Allow install_subdir() of missing directories.
-------------------------------------------------------------------
Sun Sep 29 11:22:59 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Add mesonpy-reproducible.patch gh#openSUSE/python-rpm-macros#182
initiated by Bernhard Wiedemann @bmwiedemann
-------------------------------------------------------------------
Mon Jul 22 04:20:32 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 0.16.0:
* Correctly detect a wheel shipping shared libraries as being
platform dependent also when it does not ship compiled
executables or Python extension modules.
* Improve parsing of the $ARCHFLAGS environment variable.
Correctly handle repeated -arch flags.
* Do not break when trying to log filename containing Unicode
characters that cannot be encoded in the encoding used by the
standard output stream.
* Suppress all uses of ANSI terminal escapes when logging to a
stream that does not support them.
* Fix ANSI escape coloring of error messages.
* Respect the exclude_dirs and exclude_files arguments passed to
the install_subdir() Meson function in editable installs too.
* Make pkgutil.iter_packages() work properly for modules loaded
from editable installs.
* Add support for the custom_target() Meson function installing a
directory.
* In editable installs, when a rebuild is triggered on module
import, emit a message indicating that the package is being
rebuilt but suppress any output when there is no work to do.
-------------------------------------------------------------------
Tue Apr 16 19:27:36 UTC 2024 - Ben Greiner <code@bnavigator.de>

View File

@@ -2,6 +2,7 @@
# spec file for package python-meson-python
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +19,7 @@
%{?sle15_python_module_pythons}
Name: python-meson-python
Version: 0.15.0
Version: 0.17.1
Release: 0
Summary: Meson Python build backend (PEP 517)
License: MIT
@@ -26,26 +27,31 @@ URL: https://github.com/mesonbuild/meson-python
Source0: https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-%{version}.tar.gz
# PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code@bnavigator.de
Patch11: mesonpy-trim-deps.patch
# PATCH-FEATURE-OPENSUSE mesonpy-reproducible.patch gh#openSUSE/python-rpm-macros#182
Patch12: mesonpy-reproducible.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module packaging >= 0.19}
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: fdupes
BuildRequires: meson >= 1.2.2
BuildRequires: meson >= 1.2.3
BuildRequires: ninja
BuildRequires: python-rpm-macros
Requires: python-packaging >= 0.19
Requires: python-pyproject-metadata >= 0.7.1
BuildArch: noarch
%if 0%{python_version_nodots} >= 312
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
# SECTION test
BuildRequires: %{python_module GitPython}
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module GitPython}
BuildRequires: %{python_module build}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest-mock}
@@ -53,7 +59,6 @@ BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wheel}
BuildRequires: patchelf
# /SECTION
BuildArch: noarch
%python_subpackages
%description
@@ -75,7 +80,10 @@ modules implemented in languages such as C, C++, Cython, Fortran, Pythran, or Ru
%check
# test suite path issues
donttest="test_vendored_meson"
%pytest -k "not ($donttest)"
%{python_expand # clear test builds
find tests -name build -type d -prune -print -exec rm -r {} +
$python -m pytest -v -k "not ($donttest)"
}
%files %{python_files}
%license LICENSE