In case tcl PACKAGECONFIG is enabled, autoconf is trying to use tcl libs
and headers from the build system instead of using RECIPE_SYSROOT, and the
do_configure task fails:

ERROR: liboop-1.0.1-r0 do_configure: QA Issue: This autoconf log indicates 
errors, it looked at host include and/or library paths while determining system 
capabilities.
Rerun configure task after fixing this. [configure-unsafe]

The system path is hardcoded in the configure script. To fix this, patch
the configure script to use pkg-config to find tcl in the correct
sysroot.

Since the previous patch was changing the same part of the script, incorporate
that also into the new patch.

Also, set the correct build-time dependency.

The patch's Upstream-Status is "Pending", because
1. The project has been without activity for almost 15 years
2. Couldn't find info on the website on how to contribute
3. The GitLab instance mentioned on the website is password protected
even for read-only access, and registration is enabled only for
specific email addresses.
4. Couldn't find any contact info on the website to reach out
to the maintainers.

Signed-off-by: Gyorgy Sarvari <[email protected]>
---
 .../0001-Use-pkg-config-to-find-tcl.patch     | 48 +++++++++++++++++++
 .../liboop/liboop/tcl_dev.patch               | 13 -----
 .../recipes-support/liboop/liboop_1.0.1.bb    |  4 +-
 3 files changed, 50 insertions(+), 15 deletions(-)
 create mode 100644 
meta-oe/recipes-support/liboop/liboop/0001-Use-pkg-config-to-find-tcl.patch
 delete mode 100644 meta-oe/recipes-support/liboop/liboop/tcl_dev.patch

diff --git 
a/meta-oe/recipes-support/liboop/liboop/0001-Use-pkg-config-to-find-tcl.patch 
b/meta-oe/recipes-support/liboop/liboop/0001-Use-pkg-config-to-find-tcl.patch
new file mode 100644
index 0000000000..24249b9360
--- /dev/null
+++ 
b/meta-oe/recipes-support/liboop/liboop/0001-Use-pkg-config-to-find-tcl.patch
@@ -0,0 +1,48 @@
+From 5dad843ca0860d6d7be443ddc850566584b8004a Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <[email protected]>
+Date: Sun, 16 Feb 2025 21:09:02 +0100
+Subject: [PATCH] Use pkg-config to find tcl
+
+Instead of using hardcoded path for the tcl include folder
+use pkg-config to find the proper values.
+
+That way it won't use the system folders for cross-compilation.
+
+Also, extend the number of tcl versions to check (at the time of
+this commit oe-core provides version 8.6)
+
+Upstream-Status: Pending
+---
+ configure.ac | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e95956e..3d0dc82 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,18 +71,17 @@ if test xno != x$with_glib; then
+ fi
+ 
+ if test xno != x$with_tcl; then
+-  for version in 8.4 8.3 8.2 8.1 8.0 ; do
+-    CPPFLAGS="$save_cppflags -I/usr/include/tcl$version"
+-    AC_CHECK_LIB(tcl$version,Tcl_Main,[
+-    AC_CHECK_HEADER(tcl.h,[
++  save_cppflags="$CPPFLAGS"
++  for version in "" 8.4 8.3 8.2 8.1 8.0 ; do
++    PKG_CHECK_EXISTS(tcl$version,,continue)
++    PKG_CHECK_MODULES(TCL, tcl$version, [
+       LIBOOP_LIBS="liboop-tcl.la $LIBOOP_LIBS"
+       AC_DEFINE(HAVE_TCL)
+-      TCL_INCLUDES="-I/usr/include/tcl$version"
+-      TCL_LIBS="-ltcl$version"
++      TCL_INCLUDES="$TCL_CFLAGS"
++      CPPFLAGS="$save_cppflags $TCL_CFLAGS"
+       break
+-    ])])
++  ])
+   done
+-  CPPFLAGS="$save_cppflags"
+ fi
+ 
+ if test xyes = x$with_libwww; then
diff --git a/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch 
b/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
deleted file mode 100644
index 0521aaeaff..0000000000
--- a/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream-Status: Pending
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -71,7 +71,7 @@
- fi
- 
- if test xno != x$with_tcl; then
--  for version in 8.4 8.3 8.2 8.1 8.0 ; do
-+  for version in "" 8.4 8.3 8.2 8.1 8.0 ; do
-     CPPFLAGS="$save_cppflags -I/usr/include/tcl$version"
-     AC_CHECK_LIB(tcl$version,Tcl_Main,[
-     AC_CHECK_HEADER(tcl.h,[
diff --git a/meta-oe/recipes-support/liboop/liboop_1.0.1.bb 
b/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
index 8df96bcaa5..19da1d1aa9 100644
--- a/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
+++ b/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
@@ -4,7 +4,7 @@ LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=8b54f38ccbd44feb80ab90e01af8b700"
 
 SRC_URI = "http://ftp.lysator.liu.se/pub/liboop/liboop-${PV}.tar.gz \
-           file://tcl_dev.patch \
+           file://0001-Use-pkg-config-to-find-tcl.patch \
 "
 
 SRC_URI[sha256sum] = 
"56af16ad65e7397dadc8268e37ff6f67431db390c60c75e21a33e12b0e0d17e0"
@@ -12,7 +12,7 @@ SRC_URI[sha256sum] = 
"56af16ad65e7397dadc8268e37ff6f67431db390c60c75e21a33e12b0e
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 PACKAGECONFIG[glib] = "--with-glib,--without-glib,glib-2.0 libpcre"
-PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl"
+PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl8"
 
 EXTRA_OECONF += "--without-adns -without-libwww"
 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#115508): 
https://lists.openembedded.org/g/openembedded-devel/message/115508
Mute This Topic: https://lists.openembedded.org/mt/111228171/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to