From: Rosen Penev Date: Tue, 2 Jul 2024 00:00:35 +0000 (-0700) Subject: python3: use pkgconfig to find readline X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=d257ffe609e6e226d64139bb1b802cba852c6cfb;p=feed%2Fpackages.git python3: use pkgconfig to find readline When searching for readline, ncurses is needed, which can be ncursesw or ncurses. Use pkgconfig to avoid the whole situation and simplify. Also add readline/host as the OS one may be unusable. Signed-off-by: Rosen Penev --- diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index cd01fc9e41..9a9e2ce82b 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk include ../python3-version.mk PKG_NAME:=python3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz @@ -41,7 +41,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION) HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION) PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host -HOST_BUILD_DEPENDS:=bzip2/host libffi/host +HOST_BUILD_DEPENDS:=bzip2/host libffi/host readline/host include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python3/patches/010-no-ncursesw.patch b/lang/python/python3/patches/010-no-ncursesw.patch new file mode 100644 index 0000000000..137c433527 --- /dev/null +++ b/lang/python/python3/patches/010-no-ncursesw.patch @@ -0,0 +1,52 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -5839,20 +5839,13 @@ if test "$with_readline" != no; then + # library. NOTE: Keep the precedence of listed libraries synchronised + # with setup.py. + AC_MSG_CHECKING([how to link readline libs]) +- for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do +- if test -z "$py_libtermcap"; then +- READLINE_LIBS="-l$LIBREADLINE" +- else +- READLINE_LIBS="-l$LIBREADLINE -l$py_libtermcap" +- fi +- LIBS="$READLINE_LIBS $LIBS_no_readline" +- AC_LINK_IFELSE( +- [AC_LANG_CALL([],[readline])], +- [py_cv_lib_readline=yes]) +- if test $py_cv_lib_readline = yes; then +- break +- fi +- done ++ PKG_CHECK_MODULES_STATIC( ++ [READLINE], [readline], [ ++ py_cv_lib_readline=yes ++ AC_DEFINE(HAVE_LIBREADLINE, 1, ++ [Define to build the readline module.]) ++ ], py_cv_lib_readline=no ++ ) + + # Uncomment this line if you want to use READLINE_LIBS in Makefile or scripts + #AC_SUBST([READLINE_LIBS]) +@@ -5860,8 +5853,6 @@ if test "$with_readline" != no; then + AC_MSG_RESULT([none]) + else + AC_MSG_RESULT([$READLINE_LIBS]) +- AC_DEFINE(HAVE_LIBREADLINE, 1, +- [Define to build the readline module.]) + fi + fi + +@@ -6099,12 +6090,6 @@ then + [Define if you have struct stat.st_mtimensec]) + fi + +-# first curses header check +-ac_save_cppflags="$CPPFLAGS" +-if test "$cross_compiling" = no; then +- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" +-fi +- + AC_CHECK_HEADERS(curses.h ncurses.h) + + # On Solaris, term.h requires curses.h