ncurses: add target progs option
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Tue, 3 Dec 2013 18:03:20 +0000 (15:03 -0300)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 4 Dec 2013 09:36:38 +0000 (10:36 +0100)
Closes bug #5072
Based on work from Stefan Meißner, thanks!

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ncurses/Config.in
package/ncurses/ncurses.mk

index 613b5b53847333b345857f103ebefc076168358b..e8ab7102228dc32665d602c8130020095562e47b 100644 (file)
@@ -8,20 +8,26 @@ config BR2_PACKAGE_NCURSES
 
          http://www.gnu.org/software/ncurses/
 
+if BR2_PACKAGE_NCURSES
+
 config BR2_PACKAGE_NCURSES_TARGET_PANEL
        bool "ncurses libpanel in target"
-       depends on BR2_PACKAGE_NCURSES
        help
          Includes ncurses dynamic libpanel in target
 
 config BR2_PACKAGE_NCURSES_TARGET_FORM
        bool "ncurses libform in target"
-       depends on BR2_PACKAGE_NCURSES
        help
          Includes ncurses dynamic libform in target
 
 config BR2_PACKAGE_NCURSES_TARGET_MENU
        bool "ncurses libmenu in target"
-       depends on BR2_PACKAGE_NCURSES
        help
          Includes ncurses dynamic libmenu in target
+
+config BR2_PACKAGE_NCURSES_TARGET_PROGS
+       bool "ncurses programs"
+       help
+         Include ncurses programs in traget (clear, reset, tput, ...)
+
+endif
index dbb514e78c75e95de0ec9f9a0811832b8e2c9db9..f33197630e7895368a196c41271ce5888f326aa6 100644 (file)
@@ -8,6 +8,8 @@ NCURSES_VERSION = 5.9
 NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses
 NCURSES_INSTALL_STAGING = YES
 NCURSES_DEPENDENCIES = host-ncurses
+HOST_NCURSES_DEPENDENCIES =
+NCURSES_PROGS = clear infocmp tabs tic toe tput tset
 NCURSES_LICENSE = MIT with advertising clause
 NCURSES_LICENSE_FILES = README
 NCURSES_CONFIG_SCRIPTS = ncurses5-config
@@ -17,7 +19,6 @@ NCURSES_CONF_OPT = \
        --without-cxx \
        --without-cxx-binding \
        --without-ada \
-       --without-progs \
        --without-tests \
        --disable-big-core \
        --without-profile \
@@ -27,13 +28,18 @@ NCURSES_CONF_OPT = \
        --enable-const \
        --enable-overwrite \
        --enable-pc-files \
+       $(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
        $(if $(BR2_HAVE_DOCUMENTATION),,--without-manpages)
 
+# Install after busybox for the full-blown versions
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+       NCURSES_DEPENDENCIES += busybox
+endif
+
 ifneq ($(BR2_ENABLE_DEBUG),y)
 NCURSES_CONF_OPT += --without-debug
 endif
 
-
 define NCURSES_BUILD_CMDS
        $(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR)
 endef
@@ -60,12 +66,23 @@ endif
 
 endif
 
+ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
+define NCURSES_INSTALL_TARGET_PROGS
+       for x in $(NCURSES_PROGS); do \
+               $(INSTALL) -m 0755 $(NCURSES_DIR)/progs/$$x \
+                       $(TARGET_DIR)/usr/bin/$$x; \
+       done
+       ln -sf tset $(TARGET_DIR)/usr/bin/reset
+endef
+endif
+
 define NCURSES_INSTALL_TARGET_CMDS
        mkdir -p $(TARGET_DIR)/usr/lib
        $(if $(BR2_PREFER_STATIC_LIB),,cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/usr/lib/)
        $(NCURSES_INSTALL_TARGET_PANEL)
        $(NCURSES_INSTALL_TARGET_FORM)
        $(NCURSES_INSTALL_TARGET_MENU)
+       $(NCURSES_INSTALL_TARGET_PROGS)
        ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
        mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
        cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x