| Message ID | 20251210110340.3631065-2-adam.duskett@amarulasolutions.com |
|---|---|
| State | New |
| Headers | show |
| Series | [1/5] signing-keys.bb: Fix DISTRO_CODENAME truncation | expand |
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] > -=-=-=-=-=-=-=-=-=-=-=- >
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 \ + file://0001-Remove-whitespace-in-operator.patch \ + file://run-ptest \ +" +SRCREV_FORMAT = "json_doctest" + + +inherit cmake ptest + +EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ + -DTOML11_BUILD_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "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"
DNF5 requires libtoml. As such, copy libtoml from meta-openembedded to openembedded-core. 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