summaryrefslogtreecommitdiff
path: root/dev-python/meson-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-18 12:04:39 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-18 12:04:39 +0100
commit2d01b3d133c0fbf17de8d7b47905585af88bd6e4 (patch)
treef74eb9a3d16ed25f8c15b825f4d28b759ae99a42 /dev-python/meson-python
parent97bacba3ead078e5db8b87ab651a3ffa7d82f60f (diff)
gentoo auto-resync : 18:04:2024 - 12:04:39
Diffstat (limited to 'dev-python/meson-python')
-rw-r--r--dev-python/meson-python/Manifest3
-rw-r--r--dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch68
-rw-r--r--dev-python/meson-python/meson-python-0.16.0.ebuild53
3 files changed, 124 insertions, 0 deletions
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 6e9a67b6c351..bf4f4714c34a 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,3 +1,6 @@
+AUX meson-python-0.16.0-pyproject-metadata-0.8.patch 2372 BLAKE2B 5bd4cde26e7d814699a2757b319817273e6d19ce456d9c9460ae4d2f224fd0fb329fc3bd5e0eaae076039d9224225f02b22592de149b41ec15c71d371b6e949f SHA512 8ddaf35d35966a4f89da4fe123a4985fff296c303a3fbaf7fb849ac4a3f00f72817f5f7e29b0ac2e103ac9163cc2752736fd0a7ebfb86362151653d5a91e4d26
DIST meson-python-0.15.0.gh.tar.gz 73063 BLAKE2B 280c01b08fb8264d268797d199b59f7d02cac88e49333de4a38f9e22a1e724586b7ffcddc4e9a411c0d660560892134cb742136334aad8caacd9db37580fce8f SHA512 f1fce89bb0a3d279b9900c4ecec78e5f24da92d72f64ebf6c27648b4201a75a65204c3fac08aaa3e8d70dbeef245c3235e39994c7c0b9cba27c0df528211c7f7
+DIST meson-python-0.16.0.gh.tar.gz 74975 BLAKE2B af74d62a4567bc0a7524e815f1bb4ef3ae7290ccea38c00c3b0013f5e7777d6a41c1631b0c1d83fdd930836599752e3bba3c381c137d275103409a986df4e040 SHA512 99ea4304f15e2e13adf031e7c8cacbbc48c0c80f42a81f9d84242b6279ac9c1a13e3f162be5f472a1e498dc7cf3cba6799bf765b3fd441ac10cd87dc0db38678
EBUILD meson-python-0.15.0.ebuild 1639 BLAKE2B 43147a7bf0595caa174fb7f2c6483165251e4dba06487cedb74a3c87d2375dbb41963a4f3ad33a29855292de4f6e0189885dc885c0753f0e0835c392b83b3f58 SHA512 87fa67dd47f3bf80002a6d1e5b030838e962df055b23e7b41fa77ed8cd52f41333cbe2386c1177efaa449929f353b70f31cd2fe4bed90eebadbb2e2fcc26bdbd
+EBUILD meson-python-0.16.0.ebuild 1214 BLAKE2B c52a37395e661b6739cb66254a00c3c2752cc8408643b1619c48fca01c0257d1a605e0b848313aad8a6a67ea2cda23c8fa0064a2f9bed88c3c654d645a32187d SHA512 a77ec229bea71fb6bbda314e8f08bb1d4c88434f2834b1a021f26877fe8c8c297c3b751d9aee4b25bcafe69fbc32e9a835e2cbcd43ca2e99611a919eff62fb9c
MISC metadata.xml 357 BLAKE2B c2b5fd8c6ad39e92970a5e6c1db8950b4850660c9a95a84063504ab75e5dd69e3ab844fcef23cb51f33493b7e522a6d26227ff48dd893c92c422badc70f3c962 SHA512 1402ace4da543de7320a1d97f44177593807d5be9f1891d8a53190581877569508c46fe6b4ce63516c7fee2d2165d59d39f44343dde18438570883da3f4ad28c
diff --git a/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
new file mode 100644
index 000000000000..834aed4d2fb4
--- /dev/null
+++ b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
@@ -0,0 +1,68 @@
+From ba14bfdffceb571a5e8c1406c76b7b77634bcb7f Mon Sep 17 00:00:00 2001
+From: Daniele Nicolodi <daniele@grinta.net>
+Date: Mon, 15 Apr 2024 22:34:36 +0200
+Subject: [PATCH 2/2] TST: Adapt to changes in pyproject-metadata 0.8.0
+
+---
+ tests/test_metadata.py | 8 +++++++-
+ tests/test_sdist.py | 9 +++++++--
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_metadata.py b/tests/test_metadata.py
+index 0c278da6..088e82f7 100644
+--- a/tests/test_metadata.py
++++ b/tests/test_metadata.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import pathlib
++import re
+
+ import packaging.version
+ import pyproject_metadata
+@@ -48,5 +49,10 @@ def test_missing_version(package_missing_version):
+ pyproject = {'project': {
+ 'name': 'missing-version',
+ }}
+- with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
++ match = '|'.join((
++ re.escape('Required "project.version" field is missing'),
++ # pyproject-metatadata 0.8.0 and later
++ re.escape('Field "project.version" missing and "version" not specified in "project.dynamic"'),
++ ))
++ with pytest.raises(pyproject_metadata.ConfigurationError, match=match):
+ Metadata.from_pyproject(pyproject, pathlib.Path())
+diff --git a/tests/test_sdist.py b/tests/test_sdist.py
+index 6e337617..fb698b53 100644
+--- a/tests/test_sdist.py
++++ b/tests/test_sdist.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import os
++import re
+ import stat
+ import sys
+ import tarfile
+@@ -30,7 +31,7 @@ def test_pep621(sdist_full_metadata):
+ with tarfile.open(sdist_full_metadata, 'r:gz') as sdist:
+ sdist_pkg_info = sdist.extractfile('full_metadata-1.2.3/PKG-INFO').read().decode()
+
+- assert sdist_pkg_info == textwrap.dedent('''\
++ metadata = re.escape(textwrap.dedent('''\
+ Metadata-Version: 2.1
+ Name: full-metadata
+ Version: 1.2.3
+@@ -65,7 +66,11 @@ def test_pep621(sdist_full_metadata):
+ # full-metadata
+
+ An example package with all of the PEP 621 metadata!
+- ''')
++ '''))
++
++ # pyproject-metadata 0.8.0 and later uses a comma to separate keywords
++ expr = metadata.replace(r'Keywords:\ full\ metadata', r'Keywords:\ full[ ,]metadata')
++ assert re.fullmatch(expr, sdist_pkg_info)
+
+
+ def test_dynamic_version(sdist_dynamic_version):
diff --git a/dev-python/meson-python/meson-python-0.16.0.ebuild b/dev-python/meson-python/meson-python-0.16.0.ebuild
new file mode 100644
index 000000000000..f75822a30233
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.16.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Meson PEP 517 Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/meson-python/
+ https://github.com/mesonbuild/meson-python/
+"
+SRC_URI="
+ https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
+ >=dev-build/meson-0.63.0[${PYTHON_USEDEP}]
+ !kernel_Darwin? ( dev-util/patchelf )
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ >=dev-python/cython-0.29.34[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mesonbuild/meson-python/pull/612
+ "${FILESDIR}/${P}-pyproject-metadata-0.8.patch"
+)
+
+python_test() {
+ unset NINJA
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}