mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
recipetool; add support for python_mesonpy class
* Add support to detect the "mesonpy" build-backend for recipetool create. * Add oe-selftest case for creating a recipe for "siphash24" from pypi. https://pypi.org/project/siphash24/ This is by far the simplest recipe using the mesonpy build backend. Upstream does not provide LICENSE file(s) and we do not detect the LICENSE so don't check for that result in the test. Likewise, upstream does not define HOMEPAGE, so skip that result. (From OE-Core rev: 256749322671d2f4ea994db671d73c4de10e1723) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a7484a66b4
commit
9f7475b4e5
|
@ -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.
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue
Block a user