Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Gyorgy Sarvari <skandigraun@gmail.com>
To: adam.duskett@amarulasolutions.com,
	openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 2/5] libtoml: new recipe
Date: Wed, 10 Dec 2025 12:41:31 +0100	[thread overview]
Message-ID: <8ae421be-bc8d-4a46-b346-13af5345a671@gmail.com> (raw)
In-Reply-To: <20251210110340.3631065-2-adam.duskett@amarulasolutions.com>

On 12/10/25 12:03, Adam Duskett via lists.openembedded.org wrote:
> DNF5 requires libtoml. As such, copy libtoml from
> meta-openembedded to openembedded-core.

I realize that this recipe is a verbatim copy from meta-oe, but since it
is being touched, maybe it could be improved a bit. Added some comments
below.

> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
>  .../0001-Remove-whitespace-in-operator.patch  | 46 +++++++++++++++++++
>  .../libtoml11/files/run-ptest                 | 12 +++++
>  .../libtoml11/libtoml11_4.4.0.bb              | 40 ++++++++++++++++
>  3 files changed, 98 insertions(+)
>  create mode 100644 meta/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch
>  create mode 100755 meta/recipes-devtools/libtoml11/files/run-ptest
>  create mode 100644 meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
>
> diff --git a/meta/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch b/meta/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch
> new file mode 100644
> index 0000000000..c8c9922d55
> --- /dev/null
> +++ b/meta/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch
> @@ -0,0 +1,46 @@
> +From dee78f822d8a5b985e565e5c1ef42a59557aa8fc Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Fri, 7 Mar 2025 11:35:46 -0800
> +Subject: [PATCH] Remove whitespace in operator""
> +
> +Clang 20+ errors about this whitespace.
> +
> +Fixes
> +include/toml11/impl/../fwd/literal_fwd.hpp:22:26: error: identifier '_toml' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
> +|    22 | ::toml::value operator"" _toml(const char* str, std::size_t len);
> +|       |               ~~~~~~~~~~~^~~~~
> +|       |               operator""_toml
> +
> +Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/285]
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + include/toml11/fwd/literal_fwd.hpp   | 2 +-
> + include/toml11/impl/literal_impl.hpp | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/include/toml11/fwd/literal_fwd.hpp b/include/toml11/fwd/literal_fwd.hpp
> +index e46612c..82f62b7 100644
> +--- a/include/toml11/fwd/literal_fwd.hpp
> ++++ b/include/toml11/fwd/literal_fwd.hpp
> +@@ -19,7 +19,7 @@ inline namespace literals
> + inline namespace toml_literals
> + {
> + 
> +-::toml::value operator"" _toml(const char* str, std::size_t len);
> ++::toml::value operator""_toml(const char* str, std::size_t len);
> + 
> + #if defined(TOML11_HAS_CHAR8_T)
> + // value of u8"" literal has been changed from char to char8_t and char8_t is
> +diff --git a/include/toml11/impl/literal_impl.hpp b/include/toml11/impl/literal_impl.hpp
> +index e8298c2..067d4ed 100644
> +--- a/include/toml11/impl/literal_impl.hpp
> ++++ b/include/toml11/impl/literal_impl.hpp
> +@@ -115,7 +115,7 @@ inline namespace toml_literals
> + {
> + 
> + TOML11_INLINE ::toml::value
> +-operator"" _toml(const char* str, std::size_t len)
> ++operator""_toml(const char* str, std::size_t len)
> + {
> +     if(len == 0)
> +     {
> diff --git a/meta/recipes-devtools/libtoml11/files/run-ptest b/meta/recipes-devtools/libtoml11/files/run-ptest
> new file mode 100755
> index 0000000000..9bc480aa7f
> --- /dev/null
> +++ b/meta/recipes-devtools/libtoml11/files/run-ptest
> @@ -0,0 +1,12 @@
> +#!/bin/sh
> +
> +cd tests
> +for atest in test_* ; do
> +    rm -rf tests.log
> +    ./${atest} > tests.log 2>&1
> +    if [ $? = 0 ] ; then
> +        echo "PASS: ${atest}"
> +    else
> +        echo "FAIL: ${atest}"
> +    fi
> +done
> diff --git a/meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb b/meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
> new file mode 100644
> index 0000000000..b68e787e03
> --- /dev/null
> +++ b/meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
> @@ -0,0 +1,40 @@
> +SUMMARY = "TOML for Modern C++"
> +DESCRIPTION = "toml11 is a feature-rich TOML language library for \
> +               C++11/14/17/20."
> +
> +HOMEPAGE = "https://github.com/ToruNiina/toml11"
> +
> +SECTION = "libs"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=44d1fcf70c7aa6991533c38daf7befa3"
> +
> +PE = "1"
> +
> +SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286"
> +SRCREV_json = "8c391e04fe4195d8be862c97f38cfe10e2a3472e"
> +SRCREV_doctest = "ae7a13539fb71f270b87eb2e874fbac80bc8dda2"
> +
> +SRC_URI = "git://github.com/ToruNiina/toml11;branch=main;protocol=https \
> +           git://github.com/nlohmann/json;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/json;name=json;branch=develop;protocol=https \
> +           git://github.com/doctest/doctest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/doctest;name=doctest;branch=master;protocol=https \

The main and _json SRCREVs point to a tag, so ;tag= could be added to
the corresponding SRC_URIs

> +           file://0001-Remove-whitespace-in-operator.patch \
> +           file://run-ptest \
> +"
> +SRCREV_FORMAT = "json_doctest"

Are json and doctest only part of tests, or are they required by the
main library also, and it's just interesting folder structure?
If the former, then I think the main repo should get a name tag also,
and that should go in the SRCREV_FORMAT instead of these.

> +
> +
> +inherit cmake ptest
> +
> +EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \
> +                  -DTOML11_BUILD_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "ON", "OFF", d)} \

Checking the PTEST_ENABLED variable's value is more idiomatic (and
allows disabling ptests per recipe)

> +"
> +
> +ALLOW_EMPTY:${PN} = "1"
> +
> +do_install_ptest () {
> +    install -d ${D}${PTEST_PATH}/tests
> +    cp -r ${B}/tests/test_* ${D}${PTEST_PATH}/tests
> +}
> +
> +BBCLASSEXTEND = "native nativesdk"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#227467): https://lists.openembedded.org/g/openembedded-core/message/227467
> Mute This Topic: https://lists.openembedded.org/mt/116710027/6084445
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>



  reply	other threads:[~2025-12-10 11:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-10 11:03 [PATCH 1/5] signing-keys.bb: Fix DISTRO_CODENAME truncation Adam Duskett
2025-12-10 11:03 ` [PATCH 2/5] libtoml: new recipe Adam Duskett
2025-12-10 11:41   ` Gyorgy Sarvari [this message]
2025-12-11 11:26   ` [OE-core] " Quentin Schulz
2025-12-10 11:03 ` [PATCH 3/5] libsolv: explicitly enable comps for rpm packageconfig Adam Duskett
2025-12-10 11:03 ` [PATCH 4/5] librepo: add PACKAGECONFIG[sequoia] Adam Duskett
2025-12-10 11:03 ` [PATCH 5/5] dnf5: bump to 5.3.0.0 Adam Duskett
2025-12-10 14:27   ` [OE-core] " Gyorgy Sarvari
2025-12-10 14:40     ` Alexander Kanavin
2025-12-10 17:53       ` Khem Raj
2025-12-10 15:45     ` Adam Duskett
2025-12-10 14:38   ` Paul Barker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ae421be-bc8d-4a46-b346-13af5345a671@gmail.com \
    --to=skandigraun@gmail.com \
    --cc=adam.duskett@amarulasolutions.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox