From: Dmitry Baryshkov Date: Thu, 30 Oct 2025 11:54:14 +0000 (+0200) Subject: libconfig: import recipe from meta-oe X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a0196a794f8858c4715871558e97c3d69deb19e;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git libconfig: import recipe from meta-oe One of the freedreno tools in the Mesa package depends on libconfig. Recipes from other layers also depend on libconfig. It makes sense to move libconfig to OE-Core in order to reduce inter-layer dependencies. Changes between meta-oe and this recipe: - Upgraded to 1.8.1 - Switched to UPSTREAM_CHECK_GITTAGREGEX - Switched from autotools-brokensep to autotools - Added a patch fixing reproducibility issues Signed-off-by: Dmitry Baryshkov Signed-off-by: Mathieu Dubois-Briand --- diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 9f4e5e2df89..b5031b55af3 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -329,6 +329,7 @@ RECIPE_MAINTAINER:pn-libcgroup = "Unassigned " RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao " RECIPE_MAINTAINER:pn-libclc = "Khem Raj " RECIPE_MAINTAINER:pn-libcomps = "Unassigned " +RECIPE_MAINTAINER:pn-libconfig = "Dmitry Baryshkov " RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling " RECIPE_MAINTAINER:pn-libcxx = "Khem Raj " RECIPE_MAINTAINER:pn-libdaemon = "Unassigned " diff --git a/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch b/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch new file mode 100644 index 00000000000..6e6a9419aeb --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig/0001-Add-missing-dependency-for-scanner.h.patch @@ -0,0 +1,33 @@ +From b9afffcee8809e47d0564f3d6376de724ae820ae Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 29 Oct 2025 22:26:16 +0200 +Subject: [PATCH] Add missing dependency for scanner.h + +Automake doesn't handle the header -> source dependency for lex +scanners. This might result in the out-of-date header or it not being +rebuilt in time. Provide a rule to make sure that the header is built +properly. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Submitted [https://github.com/hyperrealm/libconfig/pull/277] +--- + lib/Makefile.am | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 9ef984323af3..bd5d3dbe5aa3 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -36,6 +36,9 @@ libinc_cpp = libconfig.h++ + + BUILT_SOURCES = scanner.c scanner.h grammar.c grammar.h + ++scanner.h: scanner.c ++ @if test ! -f $@; then rm -f scanner.c; $(MAKE) $(AM_MAKEFLAGS) scanner.c; else :; fi ++ + ## Build mode: C-only or C & C++ + lib_LTLIBRARIES = libconfig.la + +-- +2.51.0 + diff --git a/meta/recipes-extended/libconfig/libconfig_1.8.1.bb b/meta/recipes-extended/libconfig/libconfig_1.8.1.bb new file mode 100644 index 00000000000..37c2504b016 --- /dev/null +++ b/meta/recipes-extended/libconfig/libconfig_1.8.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "C/C++ Configuration File Library" +DESCRIPTION = "Library for manipulating structured configuration files" +HOMEPAGE = "https://hyperrealm.github.io/libconfig/" +BUGTRACKER = "https://github.com/hyperrealm/libconfig/issues" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=17c8e32f0f72580cc2906b409d46b5ac" + +SRC_URI = " \ + git://github.com/hyperrealm/libconfig.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-Add-missing-dependency-for-scanner.h.patch \ +" +SRCREV = "47ec93c588f534d20f6ee8704d2a2cec339db7b7" + +# needed when we modify grammar.y with patches +DEPENDS += "bison-native flex-native" + +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN = "${PN}++" +FILES:${PN}++ = "${libdir}/${BPN}++*${SOLIBS}" + +# remove autogenerated files which seem to trigger reproducibility issues +do_compile:prepend() { + rm -f ${S}/lib/grammar.[ch] + rm -f ${S}/lib/scanner.[ch] +}