ncurses: install lib on host build
[openwrt/openwrt.git] / package / libs / ncurses / Makefile
index 25b3807b29bca617a86febec3bd044ccc0c9cd74..94c968816fdfb866df13ecb12be541af0a981a0f 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ncurses
-PKG_VERSION:=5.9
-PKG_RELEASE:=3
+PKG_VERSION:=6.1
+PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@GNU/ncurses
-PKG_MD5SUM:=8cb9c412e5f2d96bc6f459aa8c6282a1
+PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
+PKG_HASH:=aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=README
@@ -34,13 +34,22 @@ define Package/terminfo
   URL:=http://www.gnu.org/software/ncurses/
 endef
 
-define Package/libncursesw
+define Package/libncurses
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=Terminal handling library (Unicode)
   URL:=http://www.gnu.org/software/ncurses/
-  PROVIDES:=libncurses
+  PROVIDES:=libncursesw
   DEPENDS:= +terminfo
+  ABI_VERSION:=$(PKG_VERSION)
+endef
+
+define Package/libncurses-dev
+  SECTION:=devel
+  CATEGORY:=Development
+  SUBMENU:=Libraries
+  DEPENDS:=zlib
+  TITLE:=Development files for the ncurses library
 endef
 
 TARGET_CFLAGS += $(FPIC)
@@ -63,6 +72,7 @@ CONFIGURE_ARGS += \
        --with-shared \
        --with-terminfo-dirs=/usr/share/terminfo \
        --with-default-terminfo-dir=/usr/share/terminfo \
+       --with-pkg-config-libdir=/usr/lib/pkgconfig \
        --enable-widec \
        --with-build-cppflags=-D_GNU_SOURCE
 
@@ -114,18 +124,37 @@ ifneq ($(HOST_OS),FreeBSD)
 endif
 endef
 
-define Package/libncursesw/install
+define Package/libncurses/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.so* $(1)/usr/lib/
+       for lib in ncurses panel menu form; do \
+               $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$$$${lib}w.so* $(1)/usr/lib/; \
+               ln -s lib$$$${lib}w.so $(1)/usr/lib/lib$$$${lib}.so; \
+       done
+endef
+
+define Package/libncurses-dev/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.a $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig/
 endef
 
 define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       for lib in ncurses panel menu form; do \
+               ln -s lib$$$${lib}w.so $(1)/usr/lib/lib$$$${lib}.so; \
+       done
+       ln -s . $(1)/usr/include/ncursesw
+       $(TARGET_CROSS)ar rc $(1)/usr/lib/libtinfo.a
        $(INSTALL_DIR) $(2)/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncursesw5-config $(2)/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncursesw6-config $(2)/bin/
        $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e 's/$$$$INCS //g' \
-               $(2)/bin/ncursesw5-config
-       ln -sf $(STAGING_DIR)/host/bin/ncursesw5-config $(1)/usr/bin/ncursesw5-config
+               $(2)/bin/ncursesw6-config
+       ln -sf $(STAGING_DIR)/host/bin/ncursesw6-config $(1)/usr/bin/ncursesw6-config
 endef
 
 define Host/Compile
@@ -135,8 +164,11 @@ endef
 
 define Host/Install
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/progs/tic $(STAGING_DIR_HOST)/bin/tic
+       $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/
+       $(INSTALL_DATA) $(HOST_BUILD_DIR)/lib/libncurses.a $(STAGING_DIR_HOSTPKG)/lib/
 endef
 
 $(eval $(call HostBuild))
 $(eval $(call BuildPackage,terminfo))
-$(eval $(call BuildPackage,libncursesw))
+$(eval $(call BuildPackage,libncurses))
+$(eval $(call BuildPackage,libncurses-dev))