liboop: fix tcl PACKAGECONFIG

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 <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Gyorgy Sarvari 2025-02-17 09:05:18 +01:00 committed by Khem Raj
parent 0ea9584b84
commit 4461fbe4f7
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 50 additions and 15 deletions

View File

@ -0,0 +1,48 @@
From 5dad843ca0860d6d7be443ddc850566584b8004a Mon Sep 17 00:00:00 2001
From: Gyorgy Sarvari <skandigraun@gmail.com>
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

View File

@ -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,[

View File

@ -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"