From patchwork Wed Mar 16 18:33:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 5357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2DBFFC433F5 for ; Wed, 16 Mar 2022 18:33:09 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.381.1647455588420418452 for ; Wed, 16 Mar 2022 11:33:08 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F403D1476 for ; Wed, 16 Mar 2022 11:33:07 -0700 (PDT) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A46B83F766 for ; Wed, 16 Mar 2022 11:33:07 -0700 (PDT) From: Ross Burton To: docs@lists.yoctoproject.org Subject: [PATCH] classes: update Python class documentation Date: Wed, 16 Mar 2022 18:33:05 +0000 Message-Id: <20220316183305.885500-1-ross.burton@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 16 Mar 2022 18:33:09 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/2614 Signed-off-by: Ross Burton --- documentation/ref-manual/classes.rst | 61 ++++++++++++++++------------ 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst index 4dd0901623..60fcd98928 100644 --- a/documentation/ref-manual/classes.rst +++ b/documentation/ref-manual/classes.rst @@ -602,22 +602,6 @@ variables are not met, the recipe will be skipped, and if the build system attempts to build the recipe then an error will be triggered. -.. _ref-classes-flit_core: - -``flit_core.bbclass`` -===================== - -The ``flit_core`` class enables building Python modules which declare -the `PEP-517 `__ compliant -``flit_core.buildapi`` ``build-backend`` in the ``[build-system]`` -section of ``pyproject.toml`` (See `PEP-518 `__). - -Python modules built with ``flit_core.buildapi`` are pure Python (no -``C`` or ``Rust`` extensions). - -The resulting ``wheel`` (See `PEP-427 `__) -is installed with the :ref:`python_pep517 ` class. - .. _ref-classes-fontcache: ``fontcache.bbclass`` @@ -1978,20 +1962,48 @@ When inherited by a recipe, the ``perlnative`` class supports using the native version of Perl built by the build system rather than using the version provided by the build host. +.. _ref-classes-python_flit_core: + +``python_flit_core.bbclass`` +===================== + +The ``python_flit_core`` class enables building Python modules which declare +the `PEP-517 `__ compliant +``flit_core.buildapi`` ``build-backend`` in the ``[build-system]`` +section of ``pyproject.toml`` (See `PEP-518 `__). + +Python modules built with ``flit_core.buildapi`` are pure Python (no +``C`` or ``Rust`` extensions). + +Internally this uses the :ref:`python_pep517 ` class. + .. _ref-classes-python_pep517: ``python_pep517.bbclass`` ============================= -The ``python_pep517`` class installs a Python ``wheel`` binary archive (see -`PEP-517 `__). +The ``python_pep517`` class builds and installs a Python ``wheel`` binary +archive (see `PEP-517 `__). + +Recipes wouldn't inherit this directly, instead typically another class will +inherit this, add the relevant native dependencies, and set +:term:`PEP517_BUILD_API` to the Python class which implements the PEP-517 build +API. + +Examples of classes which do this are :ref:`python_flit_core +`, :ref:`setuptools_build_meta +`, and :ref:`python_poetry_core +`. + +.. _ref-classes-python_poetry_core: + +``python_poetry_core.bbclass`` +===================== -The Python ``wheel`` can be built with several classes, including :ref:`flit_core `, -:ref:`setuptools_build_meta `, and :ref:`setuptools3 `. +The ``python_poetry_core`` class enables building Python modules which use the +`Poetry Core `__ build system. -The path to the wheel to be installed is defined by :term:`PEP517_WHEEL_PATH`. -This defaults to ``${D}/dist`` and should be respected by the builder class -(such as :ref:`flit_core `). +Internally this uses the :ref:`python_pep517 ` class. .. _ref-classes-pixbufcache: @@ -2362,8 +2374,7 @@ section of ``pyproject.toml`` (See `PEP-518 `__) -is installed with the :ref:`python_pep517 ` class. +Internally this uses the :ref:`python_pep517 ` class. .. _ref-classes-setuptools3: