* [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe
@ 2023-02-23 15:37 michael.opdenacker
2023-02-23 15:37 ` [PATCH 2/2] dev-manual: new-recipe.rst: add references to subsections in Examples section michael.opdenacker
2023-02-24 10:17 ` [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe Quentin Schulz
0 siblings, 2 replies; 4+ messages in thread
From: michael.opdenacker @ 2023-02-23 15:37 UTC (permalink / raw)
To: docs; +Cc: Michael Opdenacker
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
documentation/dev-manual/new-recipe.rst | 31 +++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst
index 143c8b9c3b..9f00ac198f 100644
--- a/documentation/dev-manual/new-recipe.rst
+++ b/documentation/dev-manual/new-recipe.rst
@@ -1173,6 +1173,8 @@ recipe examples given various scenarios:
- Building an Autotooled package
+- Building a Meson package
+
- Splitting an application into multiple packages
- Adding binaries to an image
@@ -1288,6 +1290,35 @@ as described in the ":ref:`dev-manual/licenses:tracking license changes`"
section in the Yocto Project Overview and Concepts Manual. You can quickly
create Autotool-based recipes in a manner similar to the previous example.
+Building a Meson Package
+------------------------
+
+Applications built with the `Meson build system <https://mesonbuild.com/>`__
+just need a recipe that has sources described in :term:`SRC_URI` and inherits
+the :ref:`ref-classes-meson` class.
+
+The :oe_git:`ipcalc recipe </meta-openembedded/tree/meta-networking/recipes-support/ipcalc>`
+is a simple example of an application without dependencies::
+
+ SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6."
+ HOMEPAGE = "https://gitlab.com/ipcalc/ipcalc"
+
+ SECTION = "net"
+
+ LICENSE = "GPL-2.0-only"
+ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+ SRC_URI = "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master"
+ SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6"
+
+ S = "${WORKDIR}/git"
+
+ inherit meson
+
+Applications with dependencies are likely to inherit the
+:ref:`ref-classes-pkgconfig` class, as ``pkg-config`` it is the default method
+that Meson uses to find dependencies and compile applications against them.
+
Splitting an Application into Multiple Packages
-----------------------------------------------
--
2.37.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] dev-manual: new-recipe.rst: add references to subsections in Examples section
2023-02-23 15:37 [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe michael.opdenacker
@ 2023-02-23 15:37 ` michael.opdenacker
2023-02-24 10:17 ` [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe Quentin Schulz
1 sibling, 0 replies; 4+ messages in thread
From: michael.opdenacker @ 2023-02-23 15:37 UTC (permalink / raw)
To: docs; +Cc: Michael Opdenacker
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
Making it possible to jump right away to the desired example
Rename a section title to make it more suitable for a link title.
Using short references (`Section Name`_) instead of
:ref:`dev-manual/new-recipe:Section Name`) as we are in the same
document.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
documentation/dev-manual/new-recipe.rst | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst
index 9f00ac198f..d8cedbf7a4 100644
--- a/documentation/dev-manual/new-recipe.rst
+++ b/documentation/dev-manual/new-recipe.rst
@@ -361,7 +361,7 @@ and searches specific directories in a certain order:
``files``. The directories are assumed to be subdirectories of the
directory in which the recipe or append file resides. For another
example that specifies these types of files, see the
-":ref:`dev-manual/new-recipe:building a single .c file package (hello world!)`" section.
+"`building a single .c file package`_" section.
The previous example also specifies a patch file. Patch files are files
whose names usually end in ``.patch`` or ``.diff`` but can end with
@@ -1167,20 +1167,20 @@ Examples
To help summarize how to write a recipe, this section provides some
recipe examples given various scenarios:
-- Building packages from a single local file
+- `Building a single .c file package`_
-- Building a Makefile-based package
+- `Building a Makefile-based package`_
-- Building an Autotooled package
+- `Building an Autotooled package`_
-- Building a Meson package
+- `Building a Meson package`_
-- Splitting an application into multiple packages
+- `Splitting an application into multiple packages`_
-- Adding binaries to an image
+- `Packaging externally produced binaries`_
-Building a Single .c File Package (Hello World!)
-------------------------------------------------
+Building a Single .c File Package
+---------------------------------
Building an application from a single file that is stored locally (e.g. under
``files``) requires a recipe that has the file listed in the :term:`SRC_URI`
--
2.37.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe
2023-02-23 15:37 [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe michael.opdenacker
2023-02-23 15:37 ` [PATCH 2/2] dev-manual: new-recipe.rst: add references to subsections in Examples section michael.opdenacker
@ 2023-02-24 10:17 ` Quentin Schulz
2023-02-24 15:40 ` Michael Opdenacker
1 sibling, 1 reply; 4+ messages in thread
From: Quentin Schulz @ 2023-02-24 10:17 UTC (permalink / raw)
To: michael.opdenacker, docs
Hi Michael,
On 2/23/23 16:37, Michael Opdenacker via lists.yoctoproject.org wrote:
> From: Michael Opdenacker <michael.opdenacker@bootlin.com>
>
> Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
> ---
> documentation/dev-manual/new-recipe.rst | 31 +++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
> diff --git a/documentation/dev-manual/new-recipe.rst b/documentation/dev-manual/new-recipe.rst
> index 143c8b9c3b..9f00ac198f 100644
> --- a/documentation/dev-manual/new-recipe.rst
> +++ b/documentation/dev-manual/new-recipe.rst
> @@ -1173,6 +1173,8 @@ recipe examples given various scenarios:
>
> - Building an Autotooled package
>
> +- Building a Meson package
> +
> - Splitting an application into multiple packages
>
> - Adding binaries to an image
> @@ -1288,6 +1290,35 @@ as described in the ":ref:`dev-manual/licenses:tracking license changes`"
> section in the Yocto Project Overview and Concepts Manual. You can quickly
> create Autotool-based recipes in a manner similar to the previous example.
>
> +Building a Meson Package
> +------------------------
> +
> +Applications built with the `Meson build system <https://urldefense.com/v3/__https://mesonbuild.com/__;!!OOPJP91ZZw!hLxKIQgq28T7YW2MJN7MXVRoRC3TFLq8G2weHzeanzmiYu9JQS0ZsNUDJUCUDpFE9WGcl43l7VZrhhYZGJEczHo866O_aElqIP4L9UTg9UqYB2ZrNqD_$ >`__
> +just need a recipe that has sources described in :term:`SRC_URI` and inherits
> +the :ref:`ref-classes-meson` class.
> +
> +The :oe_git:`ipcalc recipe </meta-openembedded/tree/meta-networking/recipes-support/ipcalc>`
> +is a simple example of an application without dependencies::
> +
> + SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6."
> + HOMEPAGE = "https://urldefense.com/v3/__https://gitlab.com/ipcalc/ipcalc__;!!OOPJP91ZZw!hLxKIQgq28T7YW2MJN7MXVRoRC3TFLq8G2weHzeanzmiYu9JQS0ZsNUDJUCUDpFE9WGcl43l7VZrhhYZGJEczHo866O_aElqIP4L9UTg9UqYB5zP6znR$ "
> +
> + SECTION = "net"
> +
> + LICENSE = "GPL-2.0-only"
> + LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> +
> + SRC_URI = "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master"
> + SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6"
> +
> + S = "${WORKDIR}/git"
> +
> + inherit meson
> +
> +Applications with dependencies are likely to inherit the
> +:ref:`ref-classes-pkgconfig` class, as ``pkg-config`` it is the default method
s/it//
> +that Meson uses to find dependencies and compile applications against them.
> +
I would suggest:
s/that Meson uses to find/used by Meson to find/
but that's a matter of personal taste.
Otherwise,
Reviewed-by: Quentin Schulz <foss+yocto@0leil.net>
Cheers,
Quentin
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe
2023-02-24 10:17 ` [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe Quentin Schulz
@ 2023-02-24 15:40 ` Michael Opdenacker
0 siblings, 0 replies; 4+ messages in thread
From: Michael Opdenacker @ 2023-02-24 15:40 UTC (permalink / raw)
To: quentin.schulz; +Cc: docs
Hi Quentin
Thanks for this new review!
On 24.02.23 at 11:17, Quentin Schulz via lists.yoctoproject.org wrote:
> Hi Michael,
>
> On 2/23/23 16:37, Michael Opdenacker via lists.yoctoproject.org wrote:
>> From: Michael Opdenacker <michael.opdenacker@bootlin.com>
>>
>> Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
>> ---
>> documentation/dev-manual/new-recipe.rst | 31 +++++++++++++++++++++++++
>> 1 file changed, 31 insertions(+)
>>
>> diff --git a/documentation/dev-manual/new-recipe.rst
>> b/documentation/dev-manual/new-recipe.rst
>> index 143c8b9c3b..9f00ac198f 100644
>> --- a/documentation/dev-manual/new-recipe.rst
>> +++ b/documentation/dev-manual/new-recipe.rst
>> @@ -1173,6 +1173,8 @@ recipe examples given various scenarios:
>> - Building an Autotooled package
>> +- Building a Meson package
>> +
>> - Splitting an application into multiple packages
>> - Adding binaries to an image
>> @@ -1288,6 +1290,35 @@ as described in the
>> ":ref:`dev-manual/licenses:tracking license changes`"
>> section in the Yocto Project Overview and Concepts Manual. You can
>> quickly
>> create Autotool-based recipes in a manner similar to the previous
>> example.
>> +Building a Meson Package
>> +------------------------
>> +
>> +Applications built with the `Meson build system
>> <https://urldefense.com/v3/__https://mesonbuild.com/__;!!OOPJP91ZZw!hLxKIQgq28T7YW2MJN7MXVRoRC3TFLq8G2weHzeanzmiYu9JQS0ZsNUDJUCUDpFE9WGcl43l7VZrhhYZGJEczHo866O_aElqIP4L9UTg9UqYB2ZrNqD_$
>> >`__
>> +just need a recipe that has sources described in :term:`SRC_URI` and
>> inherits
>> +the :ref:`ref-classes-meson` class.
>> +
>> +The :oe_git:`ipcalc recipe
>> </meta-openembedded/tree/meta-networking/recipes-support/ipcalc>`
>> +is a simple example of an application without dependencies::
>> +
>> + SUMMARY = "Tool to assist in network address calculations for
>> IPv4 and IPv6."
>> + HOMEPAGE =
>> "https://urldefense.com/v3/__https://gitlab.com/ipcalc/ipcalc__;!!OOPJP91ZZw!hLxKIQgq28T7YW2MJN7MXVRoRC3TFLq8G2weHzeanzmiYu9JQS0ZsNUDJUCUDpFE9WGcl43l7VZrhhYZGJEczHo866O_aElqIP4L9UTg9UqYB5zP6znR$
>> "
>> +
>> + SECTION = "net"
>> +
>> + LICENSE = "GPL-2.0-only"
>> + LIC_FILES_CHKSUM =
>> "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>> +
>> + SRC_URI =
>> "git://gitlab.com/ipcalc/ipcalc.git;protocol=https;branch=master"
>> + SRCREV = "4c4261a47f355946ee74013d4f5d0494487cc2d6"
>> +
>> + S = "${WORKDIR}/git"
>> +
>> + inherit meson
>> +
>> +Applications with dependencies are likely to inherit the
>> +:ref:`ref-classes-pkgconfig` class, as ``pkg-config`` it is the
>> default method
>
> s/it//
Oops, good catch. Fixed.
>
>> +that Meson uses to find dependencies and compile applications
>> against them.
>> +
>
> I would suggest:
> s/that Meson uses to find/used by Meson to find/
> but that's a matter of personal taste.
This suits my personal taste too ;-)
Accepted.
Thanks again
Michael.
--
Michael Opdenacker, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-02-24 15:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-23 15:37 [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe michael.opdenacker
2023-02-23 15:37 ` [PATCH 2/2] dev-manual: new-recipe.rst: add references to subsections in Examples section michael.opdenacker
2023-02-24 10:17 ` [docs] [PATCH 1/2] dev-manual: new-recipe.rst: add Meson example recipe Quentin Schulz
2023-02-24 15:40 ` Michael Opdenacker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox