diff options
-rw-r--r-- | meta/lib/oeqa/selftest/cases/recipetool.py | 29 | ||||
-rw-r--r-- | scripts/lib/recipetool/create_buildsys_python.py | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index a19439d88e..df15c80069 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py | |||
@@ -670,6 +670,35 @@ class RecipetoolCreateTests(RecipetoolBase): | |||
670 | 670 | ||
671 | self._test_recipe_contents(recipefile, checkvars, inherits) | 671 | self._test_recipe_contents(recipefile, checkvars, inherits) |
672 | 672 | ||
673 | def test_recipetool_create_python3_pep517_maturin(self): | ||
674 | # This test require python 3.11 or above for the tomllib module | ||
675 | # or tomli module to be installed | ||
676 | try: | ||
677 | import tomllib | ||
678 | except ImportError: | ||
679 | try: | ||
680 | import tomli | ||
681 | except ImportError: | ||
682 | self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module') | ||
683 | |||
684 | # Test creating python3 package from tarball (using maturin class) | ||
685 | temprecipe = os.path.join(self.tempdir, 'recipe') | ||
686 | os.makedirs(temprecipe) | ||
687 | pn = 'pydantic-core' | ||
688 | pv = '2.14.5' | ||
689 | recipefile = os.path.join(temprecipe, 'python3-%s_%s.bb' % (pn, pv)) | ||
690 | srcuri = 'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-%s.tar.gz' % pv | ||
691 | result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) | ||
692 | self.assertTrue(os.path.isfile(recipefile)) | ||
693 | checkvars = {} | ||
694 | checkvars['HOMEPAGE'] = 'https://github.com/pydantic/pydantic-core' | ||
695 | checkvars['LICENSE'] = set(['MIT']) | ||
696 | checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c' | ||
697 | checkvars['SRC_URI[sha256sum]'] = '6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71' | ||
698 | inherits = ['python_maturin', 'pypi'] | ||
699 | |||
700 | self._test_recipe_contents(recipefile, checkvars, inherits) | ||
701 | |||
673 | def test_recipetool_create_github_tarball(self): | 702 | def test_recipetool_create_github_tarball(self): |
674 | # Basic test to ensure github URL mangling doesn't apply to release tarballs | 703 | # Basic test to ensure github URL mangling doesn't apply to release tarballs |
675 | temprecipe = os.path.join(self.tempdir, 'recipe') | 704 | temprecipe = os.path.join(self.tempdir, 'recipe') |
diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py index a2af41fdda..60c5903450 100644 --- a/scripts/lib/recipetool/create_buildsys_python.py +++ b/scripts/lib/recipetool/create_buildsys_python.py | |||
@@ -735,6 +735,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler): | |||
735 | "poetry.core.masonry.api": "python_poetry_core", | 735 | "poetry.core.masonry.api": "python_poetry_core", |
736 | "flit_core.buildapi": "python_flit_core", | 736 | "flit_core.buildapi": "python_flit_core", |
737 | "hatchling.build": "python_hatchling", | 737 | "hatchling.build": "python_hatchling", |
738 | "maturin": "python_maturin", | ||
738 | } | 739 | } |
739 | 740 | ||
740 | # setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml | 741 | # setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml |