[v3,3/5] Add python3-hatchling (from meta-oe)

Message ID 20220621131011.96980-3-ross.burton@arm.com
State Accepted, archived
Commit 846e806181f1349be29cbce78c5041735dfd7e6f
Headers show
Series [v3,1/5] Add python3-editables (from meta-python) | expand

Commit Message

Ross Burton June 21, 2022, 1:10 p.m. UTC
Recipes in core are now needing to use the Hatch build system, so
move the hatchling recipe and class from meta-oe to oe-core.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes/python_hatchling.bbclass         |  5 +++++
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../python/python3-hatchling_1.3.0.bb         | 21 +++++++++++++++++++
 3 files changed, 27 insertions(+)
 create mode 100644 meta/classes/python_hatchling.bbclass
 create mode 100644 meta/recipes-devtools/python/python3-hatchling_1.3.0.bb

Patch

diff --git a/meta/classes/python_hatchling.bbclass b/meta/classes/python_hatchling.bbclass
new file mode 100644
index 00000000000..b3cbe23601b
--- /dev/null
+++ b/meta/classes/python_hatchling.bbclass
@@ -0,0 +1,5 @@ 
+inherit python_pep517 python3native python3-dir setuptools3-base
+
+DEPENDS += "python3-hatchling-native"
+
+PEP517_BUILD_API = "hatchling.build"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 62e0ac24e35..cf7723deb08 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -612,6 +612,7 @@  RECIPE_MAINTAINER:pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr
 RECIPE_MAINTAINER:pn-python3-flit-core = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-hatchling = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-hypothesis = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-idna = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-imagesize = "Tim Orling <tim.orling@konsulko.com>"
diff --git a/meta/recipes-devtools/python/python3-hatchling_1.3.0.bb b/meta/recipes-devtools/python/python3-hatchling_1.3.0.bb
new file mode 100644
index 00000000000..6e7ccd743f5
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-hatchling_1.3.0.bb
@@ -0,0 +1,21 @@ 
+SUMMARY = "The extensible, standards compliant build backend used by Hatch"
+HOMEPAGE = "https://hatch.pypa.io/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbe2fd33fc9297692812fc94b7d27fd9"
+
+inherit pypi python_hatchling
+
+DEPENDS += "python3-pluggy-native python3-tomli-native python3-pathspec-native python3-packaging-native python3-editables-native"
+DEPENDS:remove:class-native = "python3-hatchling-native"
+
+SRC_URI[sha256sum] = "1401d45d3dd6a5910f64d539acaa943486d5e8b7dda1a97f2b0040fdddc5b85e"
+
+# Until we have a proper tool to invoke PEP517 builds, hatchling can't
+# bootstrap itself automatically.
+PEP517_BUILD_API = "hatchling.ouroboros"
+
+do_compile:prepend() {
+    export PYTHONPATH=src
+}
+
+BBCLASSEXTEND = "native nativesdk"