diff mbox series

[meta-oe,master] avro-c++: Use fmt from oe-core instead of bundling fmt 10.2.1

Message ID 20260917064505.1037383-1-UpStream_IP-SK@bmwtechworks.in
State New
Headers show
Series [meta-oe,master] avro-c++: Use fmt from oe-core instead of bundling fmt 10.2.1 | expand

Commit Message

Sana Kazi Sept. 17, 2026, 6:45 a.m. UTC
From: Sana Kazi <Kazi.S@bmwtechworks.in>

avro-c++'s CMakeLists.txt calls find_package(fmt) and only falls
back to fetching fmt 10.2.1 via FetchContent if fmt isn't found.
The recipe never added fmt to DEPENDS, so find_package fallback
is always triggered. The recipe then had to stage it into
${B}/_deps/fmt-src.

oe-core already provides fmt_12.1.0, and avro-c++ only
uses a small, stable part of its API (fmt::format_string,
fmt::format, fmt::formatter<T>) that is unchanged between 10.x and
12.x.

Add fmt to DEPENDS so find_package(fmt) succeeds and avro-c++ links
oe-core's fmt instead, and drop the fmt SRC_URI, SRCREV_fmt and
do_configure:prepend()

Following tests provided by avro-c++ use fmt headers:
CodecTests DataFileTests SchemaTests buffertest unittest
No tests are breaking after using fmt_12.1.0.

Signed-off-by: Sana Kazi <Kazi.S@bmwtechworks.in>
---
 meta-oe/recipes-support/avro/avro-c++_1.12.1.bb | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/avro/avro-c++_1.12.1.bb b/meta-oe/recipes-support/avro/avro-c++_1.12.1.bb
index fdc7303280..e5368a3d43 100644
--- a/meta-oe/recipes-support/avro/avro-c++_1.12.1.bb
+++ b/meta-oe/recipes-support/avro/avro-c++_1.12.1.bb
@@ -5,26 +5,18 @@  SECTION = "libs"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=34cb96edab958a981837bf6f44bf654d"
 
-DEPENDS = "boost"
+DEPENDS = "boost fmt"
 
 SRC_URI = "git://github.com/apache/avro.git;branch=branch-1.12;protocol=https;name=avro-c++;tag=release-${PV} \
-           git://github.com/fmtlib/fmt.git;branch=10.x;protocol=https;name=fmt;destsuffix=_deps/fmt-src \
            "
 
-SRCREV_FORMAT = "avro-c++_fmt"
 SRCREV_avro-c++ = "9110c693767c1dde2665b2b57939333478b12036"
-# Tag 10.2.1
-SRCREV_fmt = "e69e5f977d458f2650bb346dadf2ad30c5320281"
 
 S = "${UNPACKDIR}/${BP}/lang/c++"
 
 inherit cmake pkgconfig
 
 EXTRA_OECMAKE += "-DAVRO_BUILD_TESTS=OFF"
-do_configure:prepend() {
-        install -d ${B}/_deps
-        cp -r ${UNPACKDIR}/_deps/fmt-src ${B}/_deps/
-}
 
 # Workaround for 32-bit build failures due to -Werror:
 # 'useless-cast' in Symbol.cc and 'conversion' in FileStream.cc