blob: f19899d42e5b8e4748ebeb4a9f56ebbce93b9d63 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7inherit setuptools3-base python_pep517
8
9DEPENDS += "python3-setuptools-native python3-wheel-native"
10
11SETUPTOOLS_BUILD_ARGS ?= ""
12
13SETUPTOOLS_SETUP_PATH ?= "${S}"
14
Patrick Williams84603582024-12-14 08:00:57 -050015python do_check_backend() {
16 import re
17 filename = d.expand("${SETUPTOOLS_SETUP_PATH}/pyproject.toml")
18 if os.path.exists(filename):
19 for line in open(filename):
20 match = re.match(r"build-backend\s*=\s*\W([\w.]+)\W", line)
21 if not match: continue
22
23 msg = f"inherits setuptools3 but has pyproject.toml with {match[1]}, use the correct class"
24 if "pep517-backend" not in (d.getVar("INSANE_SKIP") or "").split():
25 oe.qa.handle_error("pep517-backend", msg, d)
26}
27addtask check_backend after do_patch before do_configure
28
Patrick Williams92b42cb2022-09-03 06:53:57 -050029setuptools3_do_configure() {
30 :
31}
32
33setuptools3_do_compile() {
34 cd ${SETUPTOOLS_SETUP_PATH}
35 NO_FETCH_BUILD=1 \
36 STAGING_INCDIR=${STAGING_INCDIR} \
37 STAGING_LIBDIR=${STAGING_LIBDIR} \
Patrick Williams73bd93f2024-02-20 08:07:48 -060038 ${STAGING_BINDIR_NATIVE}/python3-native/python3 setup.py \
Patrick Williams92b42cb2022-09-03 06:53:57 -050039 bdist_wheel --verbose --dist-dir ${PEP517_WHEEL_PATH} ${SETUPTOOLS_BUILD_ARGS} || \
Patrick Williams73bd93f2024-02-20 08:07:48 -060040 bbfatal_log "'python3 setup.py bdist_wheel ${SETUPTOOLS_BUILD_ARGS}' execution failed."
Patrick Williams92b42cb2022-09-03 06:53:57 -050041}
42setuptools3_do_compile[vardepsexclude] = "MACHINE"
43do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
44
45# This could be removed in the future but some recipes in meta-oe still use it
46setuptools3_do_install() {
47 python_pep517_do_install
48}
49
50EXPORT_FUNCTIONS do_configure do_compile do_install
51
Patrick Williams96e4b4e2025-02-03 15:49:15 -050052export LDSHARED = "${CCLD} -shared"