packages: fix parallel build by adding + for every make command that passes the jobserver
[packages.git] / utils / vim / Makefile
index 31ac7cd..0f7a687 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,14 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vim
-PKG_VERSION:=7.1
-PKG_RELEASE:=3
+PKG_VERSION:=7.3
+PKG_RELEASE:=1
+VIMVER:=73
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=ftp://ftp.vim.org/pub/vim/unix/
-PKG_MD5SUM:=44c6b4914f38d6f9aa959640b89da329
+PKG_MD5SUM:=5b9510a17074e2b37d8bb38ae09edbf2
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)71
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(VIMVER)
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -48,6 +50,13 @@ define Package/vim-help
   TITLE+= (help files)
 endef
 
+define Package/xxd
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=make a hexdump or do the reverse
+  URL:=http://www.vim.org/
+endef
+
 define Package/vim-full/conffiles
 /usr/share/vim/vimrc
 endef
@@ -57,46 +66,59 @@ define Package/vim/conffiles
 endef
 
 define Package/vim/description
      Vim is an almost compatible version of the UNIX editor Vi.
      (Tiny build)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Tiny build)
 endef
 
 define Package/vim-full/description
      Vim is an almost compatible version of the UNIX editor Vi.
      (Normal build)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Normal build)
 endef
 
 define Package/vim-runtime/description
      Vim is an almost compatible version of the UNIX editor Vi.
      (Runtime files)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Runtime files)
 endef
 
 define Package/vim-help/description
-       Vim is an almost compatible version of the UNIX editor Vi.
-       (Help files)
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Help files)
+endef
+
+define Package/xxd/description
+ xxd creates a hex dump of a given file or standard input, it can also convert
+ a hex dump back to its original binary form.
 endef
-       
 
 CONFIGURE_ARGS += \
        --disable-gui \
        --disable-gtktest \
        --disable-xim \
        --without-x \
-       --disable-multibyte \
        --disable-netbeans \
        --disable-cscope \
        --disable-gpm \
        --with-tlib=ncurses
 
+CONFIGURE_VARS += \
+       vim_cv_getcwd_broken=no \
+       vim_cv_memmove_handles_overlap=yes \
+       vim_cv_stat_ignores_slash=yes \
+       vim_cv_tgetent=zero \
+       vim_cv_terminfo=yes \
+       vim_cv_toupper_broken=no \
+       vim_cv_tty_group=root \
+       vim_cv_tty_mode=0620
+
 ifneq ($(CONFIG_PACKAGE_vim),)
 define Build/Compile/vim
        $(call Build/Configure/Default, \
-         --with-features=tiny \
-        )
+               --with-features=tiny \
+               --disable-multibyte \
+       )
        $(MAKE) -C $(PKG_BUILD_DIR) clean
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-         DESTDIR="$(PKG_INSTALL_DIR)" \
-         all
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" all
        $(CP) $(PKG_BUILD_DIR)/src/$(PKG_NAME) $(PKG_BUILD_DIR)/vim_tiny
 endef
 endif
@@ -104,30 +126,35 @@ endif
 ifneq ($(CONFIG_PACKAGE_vim-full),)
 define Build/Compile/vim-full
        $(call Build/Configure/Default, \
-         --with-features=normal \
+               --with-features=normal \
+               --enable-multibyte \
        )
        $(MAKE) -C $(PKG_BUILD_DIR) clean
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-         DESTDIR="$(PKG_INSTALL_DIR)" \
-         all
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" all
        $(CP) $(PKG_BUILD_DIR)/src/$(PKG_NAME) $(PKG_BUILD_DIR)/vim_normal
 endef
-endif    
+endif
+
+ifneq ($(CONFIG_PACKAGE_xxd),)
+define Build/Compile/xxd
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" all
+endef
+endif
 
 define Build/Compile/vim-runtime
        $(MAKE) -C $(PKG_BUILD_DIR)/src DESTDIR="$(PKG_INSTALL_DIR)" installrtbase
-       tar -czf $(PKG_BUILD_DIR)/docs.tgz $(PKG_INSTALL_DIR)/usr/share/vim/vim*/doc 
-       rm -rf $(PKG_INSTALL_DIR)/usr/share/vim/vim*/doc
+       (cd $(PKG_INSTALL_DIR) && tar -cf $(PKG_BUILD_DIR)/docs.tar ./usr/share/vim/vim$(VIMVER)/doc)
+       rm -rf $(PKG_INSTALL_DIR)/usr/share/vim/vim$(VIMVER)/doc
        rm -rf $(PKG_INSTALL_DIR)/usr/man
 endef
 
-define Build/Configure
-endef
-
 define Build/Compile
 $(call Build/Compile/vim)
 $(call Build/Compile/vim-full)
 $(call Build/Compile/vim-runtime)
+$(call Build/Compile/xxd)
 endef
 
 define Package/vim/install
@@ -137,7 +164,6 @@ define Package/vim/install
        $(INSTALL_CONF) ./files/vimrc $(1)/usr/share/vim/
 endef
 
-
 define Package/vim-full/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/vim_normal $(1)/usr/bin/vim
@@ -147,15 +173,20 @@ endef
 
 define Package/vim-runtime/install
        $(CP) $(PKG_INSTALL_DIR)/* $(1)
-       rm -rf $(1)/usr/share/vim/vim*/doc
+       rm -rf $(1)/usr/share/vim/vim$(VIMVER)/doc
 endef
 
 define Package/vim-help/install
-       tar -C $(1) -xzf $(PKG_BUILD_DIR)/docs.tgz 
+       tar -C $(1) -xf $(PKG_BUILD_DIR)/docs.tar
+endef
+
+define Package/xxd/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/xxd/xxd $(1)/usr/bin
 endef
 
 $(eval $(call BuildPackage,vim))
 $(eval $(call BuildPackage,vim-full))
 $(eval $(call BuildPackage,vim-runtime))
 $(eval $(call BuildPackage,vim-help))
-
+$(eval $(call BuildPackage,xxd))