diff options
-rw-r--r-- | meta/lib/oeqa/selftest/cases/recipetool.py | 19 | ||||
-rw-r--r-- | scripts/lib/recipetool/create_buildsys_python.py | 4 |
2 files changed, 23 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index 83361814dfd..2eca1800de1 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -676,6 +676,25 @@ class RecipetoolCreateTests(RecipetoolBase): self._test_recipe_contents(recipefile, checkvars, inherits) + def test_recipetool_create_python3_pep517_mesonpy(self): + # This test require python 3.11 or above for the tomllib module or tomli module to be installed + needTomllib(self) + + # Test creating python3 package from tarball (using mesonpy class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'siphash24' + pv = '1.4' + recipefile = os.path.join(temprecipe, 'python3-%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/c2/32/b934a70592f314afcfa86c7f7e388804a8061be65b822e2aa07e573b6477/%s-%s.tar.gz' % (pn, pv) + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['SRC_URI[sha256sum]'] = '7fd65e39b2a7c8c4ddc3a168a687f4610751b0ac2ebb518783c0cdfc30bec4a0' + inherits = ['python_mesonpy', 'pypi'] + + self._test_recipe_contents(recipefile, checkvars, inherits) + def test_recipetool_create_github_tarball(self): # Basic test to ensure github URL mangling doesn't apply to release tarballs. # Deliberately use an older release of Meson at present so we don't need a toml parser. diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py index a589343cfbf..a807dafae52 100644 --- a/scripts/lib/recipetool/create_buildsys_python.py +++ b/scripts/lib/recipetool/create_buildsys_python.py @@ -739,6 +739,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler): "flit_core.buildapi": "python_flit_core", "hatchling.build": "python_hatchling", "maturin": "python_maturin", + "mesonpy": "python_mesonpy", } # setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml @@ -779,6 +780,8 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler): "python3-poetry-core-native", # already provided by python_flit_core.bbclass "python3-flit-core-native", + # already provided by python_mesonpy + "python3-meson-python-native", ] # add here a list of known and often used packages and the corresponding bitbake package @@ -790,6 +793,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler): "setuptools-scm": "python3-setuptools-scm", "hatchling": "python3-hatchling", "hatch-vcs": "python3-hatch-vcs", + "meson-python" : "python3-meson-python", } def __init__(self): |