123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- #
- # 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 += \
- --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 \
- 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
- 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))
|