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
@@ -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
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 <khem.raj@oss.qualcomm.com> --- ...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%)