mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 00:32:14 +02:00
python_mesonpy.bbclass: move from meta-python
Move the PEP-517 back-end bbclass from meta-python to support:
[build-system]
build-backend = "mesonpy"
This is the declared backend in python3-numpy since:
942fb8caf3
(From OE-Core rev: f0d3478913b092a01eceafe0c20378cf9117f429)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c0a2e3a966
commit
a7484a66b4
52
meta/classes-recipe/python_mesonpy.bbclass
Normal file
52
meta/classes-recipe/python_mesonpy.bbclass
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
inherit meson setuptools3-base python3targetconfig python_pep517
|
||||
|
||||
# meson_do_qa_configure does the wrong thing here because
|
||||
# mesonpy runs "meson setup ..." in do_compile context.
|
||||
# Make it a dummy function.
|
||||
meson_do_qa_configure () {
|
||||
:
|
||||
}
|
||||
|
||||
# This prevents the meson error:
|
||||
# ERROR: Got argument buildtype as both -Dbuildtype and --buildtype. Pick one.
|
||||
MESONOPTS:remove = "--buildtype ${MESON_BUILDTYPE}"
|
||||
|
||||
CONFIGURE_FILES = "pyproject.toml"
|
||||
|
||||
DEPENDS += "python3-wheel-native python3-meson-python-native"
|
||||
|
||||
def mesonpy_get_args(d):
|
||||
vars = ['MESONOPTS', 'MESON_CROSS_FILE', 'EXTRA_OEMESON']
|
||||
varlist = []
|
||||
for var in vars:
|
||||
value = d.getVar(var)
|
||||
vallist = value.split()
|
||||
for elem in vallist:
|
||||
varlist.append("-Csetup-args=" + elem)
|
||||
return ' '.join(varlist)
|
||||
|
||||
PEP517_BUILD_OPTS = "-Cbuilddir='${B}' ${@mesonpy_get_args(d)}"
|
||||
|
||||
# Python pyx -> c -> so build leaves absolute build paths in the code
|
||||
INSANE_SKIP:${PN} += "buildpaths"
|
||||
INSANE_SKIP:${PN}-src += "buildpaths"
|
||||
|
||||
python_mesonpy_do_configure () {
|
||||
python_pep517_do_configure
|
||||
}
|
||||
|
||||
python_mesonpy_do_compile () {
|
||||
python_pep517_do_compile
|
||||
}
|
||||
|
||||
python_mesonpy_do_install () {
|
||||
python_pep517_do_install
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS do_configure do_compile do_install
|
||||
Reference in New Issue
Block a user