mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-11-14 03:57:15 +00:00
libgnt: upgrade 2.14.3 -> 2.15.0
Drop 0001-meson-use-pkg-config-to-find-ncursesw-panelw.patch, upstream now uses pkg-config for ncursesw and panelw, and the python2 meson option, which was removed. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
2 files changed
+2
-114
No files matched your search
-111
@@ -1,111 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 4 Aug 2026 00:00:00 +0000
|
||||
Subject: [PATCH] meson: use pkg-config to find ncursesw/panelw
|
||||
|
||||
The hand-rolled ncurses detection hardcodes the absolute host paths
|
||||
/usr/include/ncursesw and /usr/include when probing for ncurses.h and adds
|
||||
the matching -I to the compile line. When cross-compiling this leaks the
|
||||
build host's ncurses headers into the target compile:
|
||||
|
||||
gntwm.c:170:21: error: incomplete definition of type 'PANEL'
|
||||
|
||||
because the host's panel.h keeps PANEL opaque while the target sysroot's
|
||||
does not.
|
||||
|
||||
Use pkg-config (ncursesw/panelw, falling back to ncurses/panel) so meson
|
||||
takes the include directories from the target sysroot. libgnt 3.0 solves
|
||||
this the same way upstream.
|
||||
|
||||
Upstream-Status: Inappropriate [libgnt 2.x is a maintenance-only branch;
|
||||
addressed differently in libgnt 3.0]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
meson.build | 68 ++++++++---------------------------------------------
|
||||
1 file changed, 10 insertions(+), 58 deletions(-)
|
||||
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -69,68 +69,28 @@
|
||||
#######################################################################
|
||||
# Check for ncurses and other things used by it
|
||||
#######################################################################
|
||||
-ncurses_available = true
|
||||
-ncurses_inc = []
|
||||
-# The order of this list is important to the condition that follows.
|
||||
-ncurses_libs = [
|
||||
- compiler.find_library('ncursesw', required : false),
|
||||
- compiler.find_library('panelw', required : false),
|
||||
- compiler.find_library('tinfow', required : false),
|
||||
+# Use pkg-config so that cross builds pick up the include directories from
|
||||
+# the target sysroot rather than the build host's /usr/include.
|
||||
+ncurses_deps = [
|
||||
+ dependency('ncursesw', required : false),
|
||||
+ dependency('panelw', required : false),
|
||||
]
|
||||
-if not ncurses_libs[0].found() or not ncurses_libs[1].found()
|
||||
- ncurses_available = false
|
||||
-endif
|
||||
-
|
||||
-if host_machine.system() == 'windows'
|
||||
- # FIXME: $host ?
|
||||
- ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
|
||||
-else
|
||||
- ncurses_sys_prefix = '/usr'
|
||||
-endif
|
||||
+ncurses_available = ncurses_deps[0].found() and ncurses_deps[1].found()
|
||||
|
||||
-ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
|
||||
- ncurses_sys_prefix + '/include']
|
||||
-
|
||||
-if ncurses_available
|
||||
- # Some distros put the headers in ncursesw/, some don't
|
||||
- found_ncurses_h = false
|
||||
- foreach location : ncurses_sys_dirs
|
||||
- f = location + '/ncurses.h'
|
||||
- if not found_ncurses_h
|
||||
- if compiler.has_header_symbol(f, 'get_wch',
|
||||
- prefix : '#define _XOPEN_SOURCE_EXTENDED')
|
||||
- if location != '.'
|
||||
- ncurses_inc += [include_directories(location)]
|
||||
- endif
|
||||
- found_ncurses_h = true
|
||||
- endif
|
||||
- endif
|
||||
- endforeach
|
||||
-
|
||||
- if not found_ncurses_h
|
||||
- ncurses_inc = []
|
||||
- ncurses_libs = []
|
||||
- ncurses_available = false
|
||||
- endif
|
||||
-else
|
||||
- # ncursesw was not found. Look for plain old ncurses
|
||||
- # The order of this list is important to the condition that follows.
|
||||
- ncurses_libs = [
|
||||
- compiler.find_library('ncurses', required : false),
|
||||
- compiler.find_library('panel', required : false),
|
||||
- compiler.find_library('tinfo', required : false),
|
||||
+if not ncurses_available
|
||||
+ # ncursesw was not found. Look for plain old ncurses.
|
||||
+ ncurses_deps = [
|
||||
+ dependency('ncurses', required : false),
|
||||
+ dependency('panel', required : false),
|
||||
]
|
||||
- ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
|
||||
+ ncurses_available = ncurses_deps[0].found() and ncurses_deps[1].found()
|
||||
gnt_config.set('NO_WIDECHAR', true)
|
||||
endif
|
||||
if not ncurses_available
|
||||
error('ncurses could not be found!')
|
||||
endif
|
||||
|
||||
-ncurses = declare_dependency(
|
||||
- include_directories : ncurses_inc,
|
||||
- dependencies : ncurses_libs
|
||||
-)
|
||||
+ncurses = declare_dependency(dependencies : ncurses_deps)
|
||||
|
||||
libgnt_SOURCES = [
|
||||
'gntwidget.c',
|
||||
+2
-3
@@ -11,13 +11,12 @@ inherit meson pkgconfig
|
||||
# SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/pidgin/${BPN}/${PV}/${BP}.tar.xz \
|
||||
file://0001-meson-use-pkg-config-to-find-ncursesw-panelw.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "57f5457f72999d0bb1a139a37f2746ec1b5a02c094f2710a339d8bcea4236123"
|
||||
SRC_URI[sha256sum] = "6dce3d4f2fb33c242d8223ddda5f1042f3dfb0ad7c395d4e33a73f92423a58a3"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/pidgin/files/libgnt/"
|
||||
UPSTREAM_CHECK_REGEX = "${BPN}/(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
EXTRA_OEMESON = "-Dpython2=false -Ddoc=false"
|
||||
EXTRA_OEMESON = "-Ddoc=false"
|
||||
|
||||
FILES:${PN} += "${libdir}/gnt/s.so ${libdir}/gnt/irssi.so"
|
||||
Reference in new issue
Block a user