Переглянути джерело

readline: Update to 8.0 and various fixes

Update (lib)readline to 8.0
Remove autoreconf
Remove blankspace at the end of the lines in description
Remove --enable-shared and --enable-static as they're enabled by default
Remove TARGET_CPPFLAGS
Simplify install sections
Install readline.pc (pkgconfig)
Add patch for linking (lib)ncurses

Source:
https://git.buildroot.net/buildroot/plain/package/readline/0000-curses-link.patch

Signed-off-by: Daniel Engberg <[email protected]>
Daniel Engberg 6 роки тому
батько
коміт
166b335e6e

+ 14 - 21
package/libs/readline/Makefile

@@ -8,19 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=readline
-PKG_VERSION:=7.0
+PKG_VERSION:=8.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/readline
-PKG_HASH:=750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334
+PKG_HASH:=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:gnu:readline
 
 PKG_BUILD_PARALLEL:=1
-PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -30,45 +29,39 @@ define Package/libreadline
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=Command lines edition library
+  DEPENDS:=+libncursesw
   URL:=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
-  ABI_VERSION:=7
+  ABI_VERSION:=8
 endef
 
 define Package/libreadline/description
-	The Readline library provides a set of functions for use by applications 
-	that allow users to edit command lines as they are typed in. Both Emacs 
-	and vi editing modes are available. The Readline library includes 
-	additional functions to maintain a list of previously-entered command 
-	lines, to recall and perhaps reedit those lines, and perform csh-like 
+	The Readline library provides a set of functions for use by applications
+	that allow users to edit command lines as they are typed in. Both Emacs
+	and vi editing modes are available. The Readline library includes
+	additional functions to maintain a list of previously-entered command
+	lines, to recall and perhaps reedit those lines, and perform csh-like
 	history expansion on previous commands.
 endef
 
-# prevent "autoreconf" from removing "aclocal.m4"
-PKG_REMOVE_FILES:=
-
-CONFIGURE_ARGS += \
-	--enable-shared \
-	--enable-static \
-	--with-curses \
+CONFIGURE_ARGS += --with-curses --disable-install-examples
 
 CONFIGURE_VARS += \
 	bash_cv_wcwidth_broken=no \
 	bash_cv_func_sigsetjmp=yes \
 
-TARGET_CPPFLAGS:=-I. -I.. $(TARGET_CPPFLAGS)
-
 TARGET_CFLAGS += $(FPIC)
 
 define Build/InstallDev
 	$(INSTALL_DIR) $(1)/usr/include
 	$(CP) $(PKG_INSTALL_DIR)/usr/include/readline $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.{a,so,so.7,so.7.0} $(1)/usr/lib/
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.{a,so*} $(1)/usr/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/readline.pc $(1)/usr/lib/pkgconfig/
 endef
 
 define Package/libreadline/install
 	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.{so,so.7,so.7.0} $(1)/usr/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.so.* $(1)/usr/lib/
 endef
 
 $(eval $(call HostBuild))

+ 16 - 0
package/libs/readline/patches/001-curses-link.patch

@@ -0,0 +1,16 @@
+link readline directly to ncurses since it needs symbols from it
+
+upstream readline does this on purpose (no direct linking), but
+it doesn't make much sense in a Linux world
+
+--- a/support/shobj-conf
++++ b/support/shobj-conf
+@@ -42,7 +42,7 @@ SHOBJ_XLDFLAGS=
+ SHOBJ_LIBS=
+ 
+ SHLIB_XLDFLAGS=
+-SHLIB_LIBS=
++SHLIB_LIBS=-lncurses
+ 
+ SHLIB_DOT='.'
+ SHLIB_LIBPREF='lib'

+ 0 - 11
package/libs/readline/patches/001-install_perm.patch

@@ -1,11 +0,0 @@
---- a/support/shlib-install
-+++ b/support/shlib-install
-@@ -73,7 +73,7 @@ fi
- case "$host_os" in
- hpux*|darwin*|macosx*|linux*|solaris2*)
- 	if [ -z "$uninstall" ]; then
--		chmod 555 ${INSTALLDIR}/${LIBNAME}
-+		chmod +x ${INSTALLDIR}/${LIBNAME}
- 	fi ;;
- cygwin*|mingw*)
- 	IMPLIBNAME=`echo ${LIBNAME} \