[meta-oe] unifex: add recipe

Message ID 20211208171543.1234000-1-patrick@stwcx.xyz
State New
Headers show
Series [meta-oe] unifex: add recipe | expand

Commit Message

Patrick Williams Dec. 8, 2021, 5:15 p.m. UTC
libunifex is a library for enabling C++ "Unified Executors" in C++20,
based on current standards work being proposed for C++23 (P2300)[1].
This library provides C++20 support for async and co-routines.

1. https://isocpp.org/files/papers/P2300R3.html

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
---
 meta-oe/recipes-devtools/unifex/unifex_git.bb | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/unifex/unifex_git.bb

Comments

Khem Raj Dec. 8, 2021, 7:27 p.m. UTC | #1
On Wed, Dec 8, 2021 at 9:15 AM Patrick Williams <patrick@stwcx.xyz> wrote:
>
> libunifex is a library for enabling C++ "Unified Executors" in C++20,
> based on current standards work being proposed for C++23 (P2300)[1].
> This library provides C++20 support for async and co-routines.
>
> 1. https://isocpp.org/files/papers/P2300R3.html
>
> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
> ---
>  meta-oe/recipes-devtools/unifex/unifex_git.bb | 26 +++++++++++++++++++
>  1 file changed, 26 insertions(+)
>  create mode 100644 meta-oe/recipes-devtools/unifex/unifex_git.bb
>
> diff --git a/meta-oe/recipes-devtools/unifex/unifex_git.bb b/meta-oe/recipes-devtools/unifex/unifex_git.bb
> new file mode 100644
> index 000000000..09b8c2254
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/unifex/unifex_git.bb
> @@ -0,0 +1,26 @@
> +DESCRIPTION = "C++ Unified Executors library"
> +HOMEPAGE = "https://github.com/facebookexperimental/libunifex"
> +SECTION = "libs"
> +LICENSE = "Apache-2.0-with-LLVM-exception"
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5b86506074cb3cdc493b4f96b73b2909"
> +
> +SRC_URI = "git://github.com/facebookexperimental/libunifex.git;branch=main"

also set protocol=https explicitly in SRC_URI

> +SRCREV = "9df21c58d34ce8a1cd3b15c3a7347495e29417a0"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit cmake pkgconfig
> +
> +DEPENDS = ""

Do we need to empty out DEPENDS ?

> +
> +BBCLASSEXTEND = "native nativesdk"

move this below EXTRA_OECMAKE

> +
> +PACKAGECONFIG ??= "liburing"
> +PACKAGECONFIG[liburing] = ",,liburing"
> +
> +EXTRA_OECMAKE += " \
> +    -DBUILD_SHARED_LIBS=ON \
> +    -DBUILD_TESTING=OFF \
> +    -DCMAKE_CXX_STANDARD=20 \
> +    -DUNIFEX_BUILD_EXAMPLES=OFF \
> +    "
> --
> 2.32.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#94252): https://lists.openembedded.org/g/openembedded-devel/message/94252
> Mute This Topic: https://lists.openembedded.org/mt/87593128/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Patrick Williams Dec. 9, 2021, 3:22 a.m. UTC | #2
On Wed, Dec 08, 2021 at 11:27:35AM -0800, Khem Raj wrote:
> On Wed, Dec 8, 2021 at 9:15 AM Patrick Williams <patrick@stwcx.xyz> wrote:
> >
> > libunifex is a library for enabling C++ "Unified Executors" in C++20,
> > based on current standards work being proposed for C++23 (P2300)[1].
> > This library provides C++20 support for async and co-routines.
> >
> > 1. https://isocpp.org/files/papers/P2300R3.html
> >
> > Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
> > ---
> >  meta-oe/recipes-devtools/unifex/unifex_git.bb | 26 +++++++++++++++++++
> >  1 file changed, 26 insertions(+)
> >  create mode 100644 meta-oe/recipes-devtools/unifex/unifex_git.bb
> >
> > diff --git a/meta-oe/recipes-devtools/unifex/unifex_git.bb b/meta-oe/recipes-devtools/unifex/unifex_git.bb
> > new file mode 100644
> > index 000000000..09b8c2254
> > --- /dev/null
> > +++ b/meta-oe/recipes-devtools/unifex/unifex_git.bb
> > @@ -0,0 +1,26 @@
> > +DESCRIPTION = "C++ Unified Executors library"
> > +HOMEPAGE = "https://github.com/facebookexperimental/libunifex"
> > +SECTION = "libs"
> > +LICENSE = "Apache-2.0-with-LLVM-exception"
> > +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5b86506074cb3cdc493b4f96b73b2909"
> > +
> > +SRC_URI = "git://github.com/facebookexperimental/libunifex.git;branch=main"
> 
> also set protocol=https explicitly in SRC_URI
> 

Ack.

> > +SRCREV = "9df21c58d34ce8a1cd3b15c3a7347495e29417a0"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +inherit cmake pkgconfig
> > +
> > +DEPENDS = ""
> 
> Do we need to empty out DEPENDS ?
> 

Ooops.  I started with the boost-url recipe and deleted 'boost', thinking there
might be some dependency I'd need and I'd add it as I discovered it... and then
forgot to delete this when there weren't any.

> > +
> > +BBCLASSEXTEND = "native nativesdk"
> 
> move this below EXTRA_OECMAKE

Ack.

Patch

diff --git a/meta-oe/recipes-devtools/unifex/unifex_git.bb b/meta-oe/recipes-devtools/unifex/unifex_git.bb
new file mode 100644
index 000000000..09b8c2254
--- /dev/null
+++ b/meta-oe/recipes-devtools/unifex/unifex_git.bb
@@ -0,0 +1,26 @@ 
+DESCRIPTION = "C++ Unified Executors library"
+HOMEPAGE = "https://github.com/facebookexperimental/libunifex"
+SECTION = "libs"
+LICENSE = "Apache-2.0-with-LLVM-exception"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5b86506074cb3cdc493b4f96b73b2909"
+
+SRC_URI = "git://github.com/facebookexperimental/libunifex.git;branch=main"
+SRCREV = "9df21c58d34ce8a1cd3b15c3a7347495e29417a0"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+DEPENDS = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG ??= "liburing"
+PACKAGECONFIG[liburing] = ",,liburing"
+
+EXTRA_OECMAKE += " \
+    -DBUILD_SHARED_LIBS=ON \
+    -DBUILD_TESTING=OFF \
+    -DCMAKE_CXX_STANDARD=20 \
+    -DUNIFEX_BUILD_EXAMPLES=OFF \
+    "