ncurses: fix hanging installation due to old version of tic
authorThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Fri, 26 Aug 2011 13:01:41 +0000 (15:01 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Fri, 26 Aug 2011 13:01:41 +0000 (15:01 +0200)
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>
CHANGES
package/ncurses/ncurses.mk

diff --git a/CHANGES b/CHANGES
index 2b64c337b54c33b425891415771bd2caa41f2bff..1682a552e37d6b4ddae4ea1b65bd47f056aacd87 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -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:
index ae3f3fb70aabcc4ca7da799bfd09e6f4d4455a10..0d425280b070672e7f85b0ffeb7cf0209c063635 100644 (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))