From d7a76fc351f7c33292202dedd4f9ab48b698212a Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 4 Jul 2024 12:12:33 -0700 Subject: [PATCH] readline: fix pkgconfig usage ncurses is built with wide support enabled, which enables libncursesw. The problem is, the ncurses build system only supplies ncursesw or ncurses.pc but not both. The other problem is, the readline build tests for libncurses before the w variant, making its pc file unusable as there is no ncurses.pc file to satisfy the Required: ncurses section. Just override the library. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/15864 Signed-off-by: Robert Marko --- package/libs/readline/Makefile | 3 ++- .../readline/patches/010-ncursesw-first.patch | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 package/libs/readline/patches/010-ncursesw-first.patch diff --git a/package/libs/readline/Makefile b/package/libs/readline/Makefile index 015a1ae2da..3ab28712af 100644 --- a/package/libs/readline/Makefile +++ b/package/libs/readline/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=readline PKG_VERSION:=8.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/readline @@ -51,6 +51,7 @@ CONFIGURE_ARGS += --with-curses --disable-install-examples CONFIGURE_VARS += \ bash_cv_wcwidth_broken=no \ bash_cv_func_sigsetjmp=yes \ + bash_cv_termcap_lib=libncursesw TARGET_CFLAGS += $(FPIC) HOST_CFLAGS += $(FPIC) diff --git a/package/libs/readline/patches/010-ncursesw-first.patch b/package/libs/readline/patches/010-ncursesw-first.patch new file mode 100644 index 0000000000..d66cc04622 --- /dev/null +++ b/package/libs/readline/patches/010-ncursesw-first.patch @@ -0,0 +1,20 @@ +--- a/configure ++++ b/configure +@@ -7305,6 +7305,9 @@ TERMCAP_DEP= + elif test $bash_cv_termcap_lib = libncurses; then + TERMCAP_LIB=-lncurses + TERMCAP_DEP= ++elif test $bash_cv_termcap_lib = libncursesw; then ++TERMCAP_LIB=-lncursesw ++TERMCAP_DEP= + elif test $bash_cv_termcap_lib = libc; then + TERMCAP_LIB= + TERMCAP_DEP= +@@ -7340,6 +7343,7 @@ case "$TERMCAP_LIB" in + -ltinfo) TERMCAP_PKG_CONFIG_LIB=tinfo ;; + -lcurses) TERMCAP_PKG_CONFIG_LIB=ncurses ;; + -lncurses) TERMCAP_PKG_CONFIG_LIB=ncurses ;; ++-lncursesw) TERMCAP_PKG_CONFIG_LIB=ncursesw ;; + -ltermcap) TERMCAP_PKG_CONFIG_LIB=termcap ;; + *) TERMCAP_PKG_CONFIG_LIB=termcap ;; + esac