| # |
| # Copyright (C) 2006-2015 OpenWrt.org |
| # |
| # This is free software, licensed under the GNU General Public License v2. |
| # See /LICENSE for more information. |
| # |
| |
| include $(TOPDIR)/rules.mk |
| |
| PKG_NAME:=ncurses |
| PKG_CPE_ID:=cpe:/a:gnu:ncurses |
| PKG_VERSION:=6.4 |
| PKG_RELEASE:=2 |
| |
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz |
| PKG_SOURCE_URL:=@GNU/$(PKG_NAME) |
| PKG_HASH:=6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159 |
| |
| PKG_LICENSE:=MIT |
| PKG_LICENSE_FILES:=README |
| |
| PKG_INSTALL:=1 |
| PKG_BUILD_PARALLEL:=1 |
| |
| PKG_BUILD_DEPENDS:=ncurses/host |
| |
| include $(INCLUDE_DIR)/package.mk |
| include $(INCLUDE_DIR)/host-build.mk |
| |
| define Package/terminfo |
| SECTION:=libs |
| CATEGORY:=Libraries |
| TITLE:=Terminal Info Database (ncurses) |
| URL:=http://www.gnu.org/software/ncurses/ |
| endef |
| |
| define Package/libncurses |
| SECTION:=libs |
| CATEGORY:=Libraries |
| TITLE:=Terminal handling library (Unicode) |
| URL:=http://www.gnu.org/software/ncurses/ |
| PROVIDES:=libncursesw |
| DEPENDS:= +terminfo |
| ABI_VERSION:=6 |
| endef |
| |
| define Package/libncurses-dev |
| SECTION:=devel |
| CATEGORY:=Development |
| SUBMENU:=Libraries |
| DEPENDS:=zlib |
| TITLE:=Development files for the ncurses library |
| endef |
| |
| TARGET_CFLAGS += $(FPIC) |
| |
| CONFIGURE_ARGS += \ |
| --enable-echo \ |
| --enable-const \ |
| --enable-overwrite \ |
| --enable-pc-files \ |
| --disable-rpath \ |
| --without-ada \ |
| --without-debug \ |
| --without-manpages \ |
| --without-profile \ |
| --without-progs \ |
| --without-tests \ |
| --disable-big-core \ |
| --disable-home-terminfo \ |
| --with-normal \ |
| --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 |
| |
| CONFIGURE_VARS += \ |
| cf_try_fPIC=no |
| |
| HOST_CFLAGS += $(HOST_FPIC) |
| |
| HOST_CONFIGURE_ARGS += \ |
| --enable-pc-files \ |
| --without-cxx \ |
| --without-cxx-binding \ |
| --without-ada \ |
| --without-debug \ |
| --without-manpages \ |
| --without-profile \ |
| --without-tests \ |
| --without-curses-h |
| |
| |
| ifeq ($(HOST_OS),FreeBSD) |
| CONFIGURE_ARGS += |
| --with-terminfo=/usr/share/terminfo.db |
| endif |
| |
| MAKE_FLAGS += \ |
| BUILD_CC="$(HOSTCC)" \ |
| HOSTCC="$(HOSTCC)" \ |
| HOSTCCFLAGS="" \ |
| PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig \ |
| libs |
| |
| define Build/Install/Default |
| $(MAKE_VARS) \ |
| $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ |
| $(MAKE_INSTALL_FLAGS) \ |
| $(1) install.libs install.data; |
| endef |
| |
| define Package/terminfo/install |
| echo "" |
| ifneq ($(HOST_OS),FreeBSD) |
| $(INSTALL_DIR) $(1)/usr/share/terminfo |
| (cd $(PKG_INSTALL_DIR)/usr/share/terminfo; \ |
| for dir in ??; do \ |
| [ -d "$$$$dir" ] || continue; \ |
| mv $$$$dir $$$$(echo -ne "\x$$$$dir"); \ |
| done \ |
| ) |
| for file in \ |
| a/ansi \ |
| a/alacritty \ |
| d/dumb \ |
| f/foot \ |
| l/linux \ |
| r/rxvt \ |
| r/rxvt-unicode \ |
| s/screen \ |
| s/screen-256color \ |
| t/tmux \ |
| t/tmux-256color \ |
| v/vt100 \ |
| v/vt102 \ |
| x/xterm \ |
| x/xterm-color \ |
| x/xterm-256color; do \ |
| $(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \ |
| $(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \ |
| $(1)/usr/share/terminfo/$$$$file; \ |
| done |
| endif |
| endef |
| |
| define Package/libncurses/install |
| $(INSTALL_DIR) $(1)/usr/lib |
| for lib in ncurses panel menu form; do \ |
| $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$$$${lib}w.so.* $(1)/usr/lib/; \ |
| for so in $(1)/usr/lib/lib$$$${lib}w.so.*; do \ |
| ln -s $$$${so##*/} $$$${so%w.so*}.so$$$${so##*w.so}; \ |
| done; \ |
| 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 \ |
| for so in $(1)/usr/lib/lib$$$${lib}w.so*; do \ |
| ln -s $$$${so##*/} $$$${so%w.so*}.so$$$${so##*w.so}; \ |
| done; \ |
| 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/ncursesw6-config $(2)/bin/ |
| $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e 's/$$$$INCS //g' \ |
| $(2)/bin/ncursesw6-config |
| ln -sf $(STAGING_DIR)/host/bin/ncursesw6-config $(1)/usr/bin/ncursesw6-config |
| $(SED) 's,$(TOOLCHAIN_DIR),$(STAGING_DIR),g' \ |
| $(1)/usr/lib/pkgconfig/ncursesw.pc |
| endef |
| |
| define Host/Compile |
| $(MAKE) -C $(HOST_BUILD_DIR) libs |
| $(MAKE) -C $(HOST_BUILD_DIR)/progs tic |
| endef |
| |
| $(eval $(call HostBuild)) |
| $(eval $(call BuildPackage,terminfo)) |
| $(eval $(call BuildPackage,libncurses)) |
| $(eval $(call BuildPackage,libncurses-dev)) |