mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
recipetool: add python_maturin support
Add the new python_maturin PEP-517 backend Add selftest for 'pydantic-core' pypi package. (From OE-Core rev: 69b679380616a94a631681caa05d9bf7610f9372) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ca5427280d
commit
9707dc5549
|
@ -670,6 +670,35 @@ class RecipetoolCreateTests(RecipetoolBase):
|
||||||
|
|
||||||
self._test_recipe_contents(recipefile, checkvars, inherits)
|
self._test_recipe_contents(recipefile, checkvars, inherits)
|
||||||
|
|
||||||
|
def test_recipetool_create_python3_pep517_maturin(self):
|
||||||
|
# This test require python 3.11 or above for the tomllib module
|
||||||
|
# or tomli module to be installed
|
||||||
|
try:
|
||||||
|
import tomllib
|
||||||
|
except ImportError:
|
||||||
|
try:
|
||||||
|
import tomli
|
||||||
|
except ImportError:
|
||||||
|
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
|
||||||
|
|
||||||
|
# Test creating python3 package from tarball (using maturin class)
|
||||||
|
temprecipe = os.path.join(self.tempdir, 'recipe')
|
||||||
|
os.makedirs(temprecipe)
|
||||||
|
pn = 'pydantic-core'
|
||||||
|
pv = '2.14.5'
|
||||||
|
recipefile = os.path.join(temprecipe, 'python3-%s_%s.bb' % (pn, pv))
|
||||||
|
srcuri = 'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-%s.tar.gz' % pv
|
||||||
|
result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
|
||||||
|
self.assertTrue(os.path.isfile(recipefile))
|
||||||
|
checkvars = {}
|
||||||
|
checkvars['HOMEPAGE'] = 'https://github.com/pydantic/pydantic-core'
|
||||||
|
checkvars['LICENSE'] = set(['MIT'])
|
||||||
|
checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c'
|
||||||
|
checkvars['SRC_URI[sha256sum]'] = '6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71'
|
||||||
|
inherits = ['python_maturin', 'pypi']
|
||||||
|
|
||||||
|
self._test_recipe_contents(recipefile, checkvars, inherits)
|
||||||
|
|
||||||
def test_recipetool_create_github_tarball(self):
|
def test_recipetool_create_github_tarball(self):
|
||||||
# Basic test to ensure github URL mangling doesn't apply to release tarballs
|
# Basic test to ensure github URL mangling doesn't apply to release tarballs
|
||||||
temprecipe = os.path.join(self.tempdir, 'recipe')
|
temprecipe = os.path.join(self.tempdir, 'recipe')
|
||||||
|
|
|
@ -735,6 +735,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler):
|
||||||
"poetry.core.masonry.api": "python_poetry_core",
|
"poetry.core.masonry.api": "python_poetry_core",
|
||||||
"flit_core.buildapi": "python_flit_core",
|
"flit_core.buildapi": "python_flit_core",
|
||||||
"hatchling.build": "python_hatchling",
|
"hatchling.build": "python_hatchling",
|
||||||
|
"maturin": "python_maturin",
|
||||||
}
|
}
|
||||||
|
|
||||||
# setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml
|
# setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml
|
||||||
|
|
Loading…
Reference in New Issue
Block a user