[packages] zsh: add version 5.0.2
authorLuka Perkov <luka@openwrt.org>
Mon, 4 Feb 2013 00:10:08 +0000 (00:10 +0000)
committerLuka Perkov <luka@openwrt.org>
Mon, 4 Feb 2013 00:10:08 +0000 (00:10 +0000)
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>
SVN-Revision: 35474

utils/zsh/Makefile [new file with mode: 0644]

diff --git a/utils/zsh/Makefile b/utils/zsh/Makefile
new file mode 100644 (file)
index 0000000..2282b83
--- /dev/null
@@ -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))