ncurses: fix hanging installation due to old version of tic

Closes #3685

During installation of ncurses, the 'tic' program from the host is used. In
some cases, this version of tic is too old for the data to be processed, and
the installation hangs indefinitely (already reported in July 2010, see [1])

With this patch, a static version of tic is built and used during the
installation step of target ncurses. This method is based on a similar fix
in Gentoo Linux (see [2] for the report and [3] for the solution).

[1] http://lists.busybox.net/pipermail/buildroot/2010-July/036100.html
[2] http://bugs.gentoo.org/show_bug.cgi?id=249363#c25
[3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-libs/ncurses/ncurses-5.7-r2.ebuild

[Peter: Install into host, don't tweak path]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas De Schampheleire 2011-08-26 15:01:41 +02:00 committed by Peter Korsgaard
parent cb6c2c4278
commit bf446513e7
2 changed files with 18 additions and 2 deletions

View File

@ -7,11 +7,12 @@
(broken).
Updated/fixed packages: barebox, directfb, libsoup,
libxml-parser-perl, mtd, python, ti-utils, udev, usbmount,
util-linux, xfont_font-misc-misc
libxml-parser-perl, mtd, ncurses, python, ti-utils, udev,
usbmount, util-linux, xfont_font-misc-misc
Issues resolved (http://bugs.uclibc.org):
#3685: ncurses installation hangs due to old version of tic
#4093: Grub fails to install bz2 patch after conversion to...
2011.08-rc1, Released August 4th, 2011:

View File

@ -26,6 +26,7 @@
NCURSES_VERSION = 5.7
NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses
NCURSES_INSTALL_STAGING = YES
NCURSES_DEPENDENCIES = host-ncurses
NCURSES_CONF_OPT = \
--with-shared \
@ -120,4 +121,18 @@ define NCURSES_INSTALL_TARGET_CMDS
$(NCURSES_INSTALL_TARGET_DEVFILES)
endef # NCURSES_INSTALL_TARGET_CMDS
#
# On systems with an older version of tic, the installation of ncurses hangs
# forever. To resolve the problem, build a static version of tic on host
# ourselves, and use that during installation.
#
define HOST_NCURSES_BUILD_CMDS
$(MAKE1) -C $(@D) sources
$(MAKE) -C $(@D)/progs tic
endef
HOST_NCURSES_CONF_OPT = \
--without-shared
$(eval $(call AUTOTARGETS,package,ncurses))
$(eval $(call AUTOTARGETS,package,ncurses,host))