[meta-networking][PATCH 107/109] restinio: upgrade 0.6.19 -> 0.7.9.1
Khem Raj <[email protected]>
| Newsgroups | org.openembedded.lists.openembedded-devel |
|---|---|
| Message-ID | <[email protected]> |
restinio 0.7.x is a major architectural change from 0.6.x: the release tarball no longer bundles any of its third-party dependencies (http_parser, expected-lite, fmt, catch2, sobjectizer). They must now be supplied externally and resolved through find_package()/system linkage. This requires two new supporting recipes added in prior commits: llhttp (replacement for the now-dropped http_parser) and expected-lite (nonstd::expected backport, now required unconditionally instead of restinio's old embedded fallback). asio, fmt and catch2 dependencies are already satisfied by existing recipes in the tree. Recipe changes: - Release tag format changed from "v.X.Y.Z" to "vX.Y.Z"; update SRC_URI and SRC_URI[sha256sum] accordingly. - LIC_FILES_CHKSUM md5 updated for the new tarball's root LICENSE file. - DEPENDS: drop http-parser, add llhttp and expected-lite. - EXTRA_OECMAKE: RESTINIO_FIND_DEPS and RESTINIO_USE_EXTERNAL_HTTP_PARSER were removed upstream. RESTINIO_BENCH renamed to RESTINIO_BENCHMARK, RESTINIO_ALLOW_SOBJECTIZER renamed to RESTINIO_WITH_SOBJECTIZER (kept disabled). Added RESTINIO_DEP_STANDALONE_ASIO=find, RESTINIO_DEP_FMT=find and RESTINIO_DEP_EXPECTED_LITE=find so restinio's CMakeLists.txt resolves these via find_package() instead of trying to add_subdirectory() vendored sources that no longer exist in the tarball. RESTINIO_DEP_LLHTTP=system is used instead of "find" because llhttp's own CMakeLists.txt only exports an "llhttp::llhttp_shared" imported target (llhttp::llhttp is just a build-tree ALIAS, never installed/exported), which restinio's dependency-resolution logic does not recognize as a valid find_package() target name. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj <[email protected]> --- ...restinio_0.6.19.bb => restinio_0.7.9.1.bb} | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) rename meta-networking/recipes-connectivity/restinio/{restinio_0.6.19.bb => restinio_0.7.9.1.bb} (38%) diff --git a/meta-networking/recipes-connectivity/restinio/restinio_0.6.19.bb b/meta-networking/recipes-connectivity/restinio/restinio_0.7.9.1.bb similarity index 38% rename from meta-networking/recipes-connectivity/restinio/restinio_0.6.19.bb rename to meta-networking/recipes-connectivity/restinio/restinio_0.7.9.1.bb index 22dd4ada13..193e9de81a 100644 --- a/meta-networking/recipes-connectivity/restinio/restinio_0.6.19.bb +++ b/meta-networking/recipes-connectivity/restinio/restinio_0.7.9.1.bb @@ -5,23 +5,34 @@ DESCRIPTION = "Cross-platform, efficient, customizable, and robust \ HOMEPAGE = "https://stiffstream.com/en/products/restinio.html" SECTION = "libs" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=bfe2747443b7875eaaaa94b55b611f49" -DEPENDS = "asio fmt http-parser" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=d9ef67870895758240c3889695ad2558" +DEPENDS = "asio fmt llhttp expected-lite" -SRC_URI = "https://github.com/Stiffstream/restinio/releases/download/v.${PV}/${BP}.tar.bz2" -SRC_URI[sha256sum] = "7f21eebeb966e170d6ab54e9b198ac927d439090121739e037c0fa3bb367b240" +SRC_URI = "https://github.com/Stiffstream/restinio/releases/download/v${PV}/${BP}.tar.bz2" +SRC_URI[sha256sum] = "4a0429e2ea4ece200228226f0c628ecf9ac111cb6a6b12ad857de84c0576bf80" S = "${UNPACKDIR}/${BP}/dev" inherit cmake +# restinio 0.7.x no longer bundles its third-party dependencies in the +# release tarball (unlike 0.6.x). fmt and expected-lite are resolved via +# find_package() against externally-provided packages. llhttp's upstream +# CMakeLists.txt only exports an "llhttp::llhttp_shared" imported target +# (llhttp::llhttp is merely a build-tree ALIAS, never installed/exported), +# which restinio's dev/restinio/CMakeLists.txt does not recognize as a +# valid find_package() target name, so llhttp is consumed in "system" +# mode instead (plain -lllhttp against the sysroot). The optional +# sobjectizer integration is disabled since we don't need it. EXTRA_OECMAKE += "\ -DRESTINIO_TEST=OFF \ -DRESTINIO_SAMPLE=OFF \ - -DRESTINIO_BENCH=OFF \ - -DRESTINIO_FIND_DEPS=ON \ - -DRESTINIO_ALLOW_SOBJECTIZER=OFF \ - -DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON \ + -DRESTINIO_BENCHMARK=OFF \ + -DRESTINIO_WITH_SOBJECTIZER=OFF \ + -DRESTINIO_DEP_STANDALONE_ASIO=find \ + -DRESTINIO_DEP_LLHTTP=system \ + -DRESTINIO_DEP_FMT=find \ + -DRESTINIO_DEP_EXPECTED_LITE=find \ " # Header-only library