diff mbox series

[meta-oe,2/2] liboop: fix tcl PACKAGECONFIG

Message ID 20250217080518.1759732-2-skandigraun@gmail.com
State Accepted
Headers show
Series [meta-oe,1/2] liboop: set correct LICENSE | expand

Commit Message

Gyorgy Sarvari Feb. 17, 2025, 8:05 a.m. UTC
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>
---
 .../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 mbox series

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