[packages] zsh: add version 5.0.2

Installs the shell binary, and all applicable completion functions.
Completion functions specific for other systems (e.g. AIX/Solaris/Redhat/etc)
are not installed.

Compiled against ncurses. Notice the "--with-term-lib=..." at Build/Configure
forcing the preference for ncurses (against ncursesw). To build with ncursesw,
(i) change the dependencies, (ii) remove the '--with-term-lib=...' (iii) add
CPPFLAGS=-I$(STAGING_DIR)/usr/include/ncursesw to the configure command.

Signed-off-by: Francisco Borges <francisco.borges@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@35474 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
luka 2013-02-04 00:10:08 +00:00
parent ba29e584e0
commit 4d499de94a

75
utils/zsh/Makefile Normal file
View File

@ -0,0 +1,75 @@
#
# Copyright (C) 2013 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:=zsh
PKG_VERSION:=5.0.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/zsh
PKG_MD5SUM:=b8f2ad691acf58b3252225746480dcad
include $(INCLUDE_DIR)/package.mk
define Package/zsh
SECTION:=utils
CATEGORY:=Utilities
TITLE:=The Z shell
DEPENDS:=+libncurses +librt
URL:=http://www.zsh.org/
endef
define Package/zsh/description
Zsh is a UNIX command interpreter (shell) usable as an interactive
login shell and as a shell script command processor. Of the standard
shells, zsh most closely resembles ksh but includes many enhancements.
Zsh has command line editing, builtin spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and a host of other features.
endef
define Build/Configure
$(call Build/Configure/Default, \
--bindir=/bin \
--disable-etcdir \
--with-term-lib="ncurses ncursesw" \
)
# Do not install these functions:
$(SED) 's, Completion/AIX/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/BSD/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Cygwin/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Darwin/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Debian/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Mandriva/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Redhat/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/Solaris/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/X/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
$(SED) 's, Completion/openSUSE/\*/\*,,g' $(PKG_BUILD_DIR)/config.modules
# After mucking with 'config.modules', one must call
$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" prep
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
endef
define Package/zsh/postinst
#!/bin/sh
grep zsh $${IPKG_INSTROOT}/etc/shells || \
echo "/bin/zsh" >> $${IPKG_INSTROOT}/etc/shells
endef
define Package/zsh/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/zsh $(1)/bin/
$(INSTALL_DIR) $(1)/usr/share/zsh/$(PKG_VERSION)
$(CP) $(PKG_INSTALL_DIR)/usr/share/zsh/$(PKG_VERSION)/* $(1)/usr/share/zsh/$(PKG_VERSION)/
endef
$(eval $(call BuildPackage,zsh))