public inbox for docs@lists.yoctoproject.org
 help / color / mirror / Atom feed
* [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