diff mbox series

[2/2] libcheck: disable subunit support

Message ID 20250617141649.378910-2-ross.burton@arm.com
State New
Headers show
Series [1/2] libcheck: remove obsolete patch | expand

Commit Message

Ross Burton June 17, 2025, 2:16 p.m. UTC
We don't have a recipe for subunit in core (or any layer in the layer
index), and unfortunately a bug in the CMakeLists means that the native
build can detect subunit on the host (so host contamination) and only
half-enable it, so the build fails.

Take a patch from upstream's github to add an option for subunit, and
explicitly disable it.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../libcheck/libcheck/subunit.patch           | 43 +++++++++++++++++++
 .../libcheck/libcheck_0.15.2.bb               |  5 ++-
 2 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-support/libcheck/libcheck/subunit.patch
diff mbox series

Patch

diff --git a/meta/recipes-support/libcheck/libcheck/subunit.patch b/meta/recipes-support/libcheck/libcheck/subunit.patch
new file mode 100644
index 00000000000..29c4b156011
--- /dev/null
+++ b/meta/recipes-support/libcheck/libcheck/subunit.patch
@@ -0,0 +1,43 @@ 
+From a6cd376b9ebcb4afc9ab06bce23b9bd909811ece Mon Sep 17 00:00:00 2001
+From: Christopher Obbard <christopher.obbard@linaro.org>
+Date: Thu, 13 Jun 2024 09:49:53 +0100
+Subject: [PATCH] Allow disabling autodetection of subunit library
+
+It can be useful to avoid linking to subunit when we are building the check
+library for the host, e.g. in a buildroot recipe, where the built check is
+linked into other applications which are used on the host to build images.
+
+These applications are built with the host's cross-compiler and can use
+the host's pkgconfig to determine if libraries are available. When check
+is linked against other libraries, it can fail this check for subunit.
+
+Allow disabling the autodetection of subunit with a configure flag
+-DENABLE_SUBUNIT_EXT=OFF
+
+Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
+
+Upstream-Status: Submitted [https://github.com/libcheck/check/pull/353/]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2ee580bc..6b36015b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -393,7 +393,13 @@ if (HAVE_LIBRT)
+   ADD_DEFINITIONS(-DHAVE_LIBRT=1)
+ endif (HAVE_LIBRT)
+ 
+-check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT)
++# Allow disabling subunit
++IF(ENABLE_SUBUNIT_EXT)
++  check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT)
++ELSE(ENABLE_SUBUNIT_EXT)
++  set(HAVE_SUBUNIT, false)
++ENDIF(ENABLE_SUBUNIT_EXT)
++
+ if (HAVE_SUBUNIT)
+   set(SUBUNIT "subunit")
+   set(ENABLE_SUBUNIT 1)
diff --git a/meta/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
index ea0453a1667..2e56a1ab00c 100644
--- a/meta/recipes-support/libcheck/libcheck_0.15.2.bb
+++ b/meta/recipes-support/libcheck/libcheck_0.15.2.bb
@@ -11,7 +11,8 @@  LICENSE  = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/check-${PV}.tar.gz \
-           file://automake-output.patch"
+           file://automake-output.patch \
+           file://subunit.patch"
 SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a"
 GITHUB_BASE_URI = "https://github.com/libcheck/check/releases/"
 
@@ -22,6 +23,7 @@  inherit cmake pkgconfig texinfo github-releases
 RREPLACES:${PN} = "check (<= 0.9.5)"
 
 EXTRA_OECMAKE:append:class-target = " -DAWK_PATH=${bindir}/awk"
+EXTRA_OECMAKE = "-DENABLE_SUBUNIT_EXT=OFF"
 
 do_install:append:class-native() {
     create_cmdline_shebang_wrapper ${D}${bindir}/checkmk
@@ -34,4 +36,3 @@  PACKAGES =+ "checkmk"
 FILES:checkmk = "${bindir}/checkmk"
 
 RDEPENDS:checkmk = "gawk"
-