diff mbox series

[v9,2/5] libtoml11: new recipe

Message ID 20260907135607.4132821-2-adam.duskett@amarulasolutions.com
State Under Review
Headers show
Series [v9,1/5] json-c: add patch to fix compiling with a C++ compiler | expand

Commit Message

Adam Duskett Sept. 7, 2026, 1:56 p.m. UTC
DNF5 requires libtoml. As such, copy libtoml verbatim from
meta-openembedded to openembedded-core.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 .../distro/include/ptest-packagelists.inc     |  1 +
 ...move-more-whitespaces-after-operator.patch | 34 ++++++++++++++
 .../0001-Remove-whitespace-in-operator.patch  | 46 +++++++++++++++++++
 .../libtoml11/files/run-ptest                 | 13 ++++++
 .../libtoml11/libtoml11_4.4.0.bb              | 39 ++++++++++++++++
 6 files changed, 134 insertions(+)
 create mode 100644 meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
 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

Comments

Khem Raj Sept. 7, 2026, 4:10 p.m. UTC | #1
Please do not forget to send a patch to delete it to oe-devel, once it is
merged in core.

On Mon, Sep 7, 2026 at 6:56 AM Adam Duskett via lists.openembedded.org
<adam.duskett=amarulasolutions.com@lists.openembedded.org> wrote:

> DNF5 requires libtoml. As such, copy libtoml verbatim from
> meta-openembedded to openembedded-core.
>
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
>  meta/conf/distro/include/maintainers.inc      |  1 +
>  .../distro/include/ptest-packagelists.inc     |  1 +
>  ...move-more-whitespaces-after-operator.patch | 34 ++++++++++++++
>  .../0001-Remove-whitespace-in-operator.patch  | 46 +++++++++++++++++++
>  .../libtoml11/files/run-ptest                 | 13 ++++++
>  .../libtoml11/libtoml11_4.4.0.bb              | 39 ++++++++++++++++
>  6 files changed, 134 insertions(+)
>  create mode 100644
> meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
>  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/conf/distro/include/maintainers.inc
> b/meta/conf/distro/include/maintainers.inc
> index 3c1a4ffa43..8f47ea6001 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -403,6 +403,7 @@ RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <
> unassigned@yoctoproject.org>"
>  RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER:pn-libstd-rs = "Randy MacLeod <
> Randy.MacLeod@windriver.com>"
>  RECIPE_MAINTAINER:pn-libtasn1 = "Unassigned <unassigned@yoctoproject.org
> >"
> +RECIPE_MAINTAINER:pn-libtoml11 = "Unassigned <unassigned@yoctoproject.org
> >"
>  RECIPE_MAINTAINER:pn-libtest-fatal-perl = "Tim Orling <
> tim.orling@konsulko.com>"
>  RECIPE_MAINTAINER:pn-libtest-needs-perl = "Tim Orling <
> tim.orling@konsulko.com>"
>  RECIPE_MAINTAINER:pn-libtest-warnings-perl = "Tim Orling <
> tim.orling@konsulko.com>"
> diff --git a/meta/conf/distro/include/ptest-packagelists.inc
> b/meta/conf/distro/include/ptest-packagelists.inc
> index ce6c0a2d76..351d47d6ee 100644
> --- a/meta/conf/distro/include/ptest-packagelists.inc
> +++ b/meta/conf/distro/include/ptest-packagelists.inc
> @@ -48,6 +48,7 @@ PTESTS_FAST = "\
>      libtest-needs-perl \
>      libtest-warnings-perl \
>      libtimedate-perl \
> +    libtoml11 \
>      libtry-tiny-perl \
>      libusb1 \
>      libxml-namespacesupport-perl \
> diff --git
> a/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
> b/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
> new file mode 100644
> index 0000000000..5bff81eaf6
> --- /dev/null
> +++
> b/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
> @@ -0,0 +1,34 @@
> +From 6af7de3d5eaae59c53c42aab8eca1e1e9a365da5 Mon Sep 17 00:00:00 2001
> +From: Steffen Winter <steffen.winter@proton.me>
> +Date: Thu, 25 Dec 2025 20:48:02 +0100
> +Subject: [PATCH] Remove more whitespaces after operator""
> +
> +Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/306]
> +Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
> +---
> + include/toml11/fwd/literal_fwd.hpp   | 4 ++--
> + include/toml11/impl/literal_impl.hpp | 4 ++--
> + 2 files changed, 4 insertions(+), 4 deletions(-)
> +
> +--- a/include/toml11/fwd/literal_fwd.hpp
> ++++ b/include/toml11/fwd/literal_fwd.hpp
> +@@ -24,7 +24,7 @@ inline namespace toml_literals
> + #if defined(TOML11_HAS_CHAR8_T)
> + // value of u8"" literal has been changed from char to char8_t and
> char8_t is
> + // NOT compatible to char
> +-::toml::value operator"" _toml(const char8_t* str, std::size_t len);
> ++::toml::value operator""_toml(const char8_t* str, std::size_t len);
> + #endif
> +
> + } // toml_literals
> +--- a/include/toml11/impl/literal_impl.hpp
> ++++ b/include/toml11/impl/literal_impl.hpp
> +@@ -146,7 +146,7 @@ operator""_toml(const char* str, std::si
> + // value of u8"" literal has been changed from char to char8_t and
> char8_t is
> + // NOT compatible to char
> + TOML11_INLINE ::toml::value
> +-operator"" _toml(const char8_t* str, std::size_t len)
> ++operator""_toml(const char8_t* str, std::size_t len)
> + {
> +     if(len == 0)
> +     {
> 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..9516ee5cb1
> --- /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: Backport [
> https://github.com/ToruNiina/toml11/commit/dee78f822d8a5b985e565e5c1ef42a59557aa8fc
> ]
> +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..4da9e68cc5
> --- /dev/null
> +++ b/meta/recipes-devtools/libtoml11/files/run-ptest
> @@ -0,0 +1,13 @@
> +#!/usr/bin/env sh
> +
> +cd tests || exit 1
> +
> +rm -rf tests.log
> +
> +for atest in test_* ; do
> +    if ./"${atest}" >> tests.log 2>&1; 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..49f9840f06
> --- /dev/null
> +++ b/meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
> @@ -0,0 +1,39 @@
> +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"
> +BUGTRACKER = "https://github.com/ToruNiina/toml11/issues"
> +CVE_PRODUCT = "libtoml11"
> +
> +SECTION = "libs"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=44d1fcf70c7aa6991533c38daf7befa3"
> +
> +PE = "1"
> +
> +SRC_URI = "\
> +    gitsm://
> github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV}
> <http://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v$%7BPV%7D>
> \
> +    file://0001-Remove-whitespace-in-operator.patch \
> +    file://0001-Remove-more-whitespaces-after-operator.patch \
> +    file://run-ptest \
> +"
> +SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286"
> +
> +inherit cmake ptest
> +
> +CXXFLAGS:append:toolchain-clang = " -Wno-error=c2y-extensions"
> +
> +EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \
> +
> -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON",
> "OFF", d)} \
> +"
> +
> +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"
> --
> 2.55.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#245295):
> https://lists.openembedded.org/g/openembedded-core/message/245295
> Mute This Topic: https://lists.openembedded.org/mt/121128671/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 3c1a4ffa43..8f47ea6001 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -403,6 +403,7 @@  RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-libstd-rs = "Randy MacLeod <Randy.MacLeod@windriver.com>"
 RECIPE_MAINTAINER:pn-libtasn1 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-libtoml11 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-libtest-fatal-perl = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-libtest-needs-perl = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-libtest-warnings-perl = "Tim Orling <tim.orling@konsulko.com>"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index ce6c0a2d76..351d47d6ee 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -48,6 +48,7 @@  PTESTS_FAST = "\
     libtest-needs-perl \
     libtest-warnings-perl \
     libtimedate-perl \
+    libtoml11 \
     libtry-tiny-perl \
     libusb1 \
     libxml-namespacesupport-perl \
diff --git a/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch b/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
new file mode 100644
index 0000000000..5bff81eaf6
--- /dev/null
+++ b/meta/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch
@@ -0,0 +1,34 @@ 
+From 6af7de3d5eaae59c53c42aab8eca1e1e9a365da5 Mon Sep 17 00:00:00 2001
+From: Steffen Winter <steffen.winter@proton.me>
+Date: Thu, 25 Dec 2025 20:48:02 +0100
+Subject: [PATCH] Remove more whitespaces after operator""
+
+Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/306]
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+ include/toml11/fwd/literal_fwd.hpp   | 4 ++--
+ include/toml11/impl/literal_impl.hpp | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/include/toml11/fwd/literal_fwd.hpp
++++ b/include/toml11/fwd/literal_fwd.hpp
+@@ -24,7 +24,7 @@ inline namespace toml_literals
+ #if defined(TOML11_HAS_CHAR8_T)
+ // value of u8"" literal has been changed from char to char8_t and char8_t is
+ // NOT compatible to char
+-::toml::value operator"" _toml(const char8_t* str, std::size_t len);
++::toml::value operator""_toml(const char8_t* str, std::size_t len);
+ #endif
+ 
+ } // toml_literals
+--- a/include/toml11/impl/literal_impl.hpp
++++ b/include/toml11/impl/literal_impl.hpp
+@@ -146,7 +146,7 @@ operator""_toml(const char* str, std::si
+ // value of u8"" literal has been changed from char to char8_t and char8_t is
+ // NOT compatible to char
+ TOML11_INLINE ::toml::value
+-operator"" _toml(const char8_t* str, std::size_t len)
++operator""_toml(const char8_t* str, std::size_t len)
+ {
+     if(len == 0)
+     {
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..9516ee5cb1
--- /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: Backport [https://github.com/ToruNiina/toml11/commit/dee78f822d8a5b985e565e5c1ef42a59557aa8fc]
+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..4da9e68cc5
--- /dev/null
+++ b/meta/recipes-devtools/libtoml11/files/run-ptest
@@ -0,0 +1,13 @@ 
+#!/usr/bin/env sh
+
+cd tests || exit 1
+
+rm -rf tests.log
+
+for atest in test_* ; do
+    if ./"${atest}" >> tests.log 2>&1; 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..49f9840f06
--- /dev/null
+++ b/meta/recipes-devtools/libtoml11/libtoml11_4.4.0.bb
@@ -0,0 +1,39 @@ 
+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"
+BUGTRACKER = "https://github.com/ToruNiina/toml11/issues"
+CVE_PRODUCT = "libtoml11"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=44d1fcf70c7aa6991533c38daf7befa3"
+
+PE = "1"
+
+SRC_URI = "\
+    gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \
+    file://0001-Remove-whitespace-in-operator.patch \
+    file://0001-Remove-more-whitespaces-after-operator.patch \
+    file://run-ptest \
+"
+SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286"
+
+inherit cmake ptest
+
+CXXFLAGS:append:toolchain-clang = " -Wno-error=c2y-extensions"
+
+EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \
+                  -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \
+"
+
+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"