xz: import from old packages feed
authorNicolas Thill <nico@openwrt.org>
Fri, 17 Apr 2015 23:14:14 +0000 (01:14 +0200)
committerNicolas Thill <nico@openwrt.org>
Fri, 17 Apr 2015 23:14:14 +0000 (01:14 +0200)
 - update to latest version (v5.2.1)
 - add license info
 - add myself as maintainer
 - put everything in a "Compression" submenu
 - reduce the number of packages (put symlinks with their matching target)

Signed-off-by: Nicolas Thill <nico@openwrt.org>
utils/xz/Makefile [new file with mode: 0644]

diff --git a/utils/xz/Makefile b/utils/xz/Makefile
new file mode 100644 (file)
index 0000000..e08ef95
--- /dev/null
@@ -0,0 +1,112 @@
+#
+# Copyright (C) 2013-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:=xz
+PKG_VERSION:=5.2.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://tukaani.org/xz
+PKG_MD5SUM:=d484910b26fec5aff99ee66350589e29
+
+PKG_LICENSE:=Public-Domain LGPL-2.1+ GPL-2.0+ GPL-3.0+
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xz/Default
+  SUBMENU:=Compression
+  SECTION:=utils
+  CATEGORY:=Utilities
+  URL:=http://tukaani.org/xz
+endef
+
+define Package/xz-utils
+$(call Package/xz/Default)
+  TITLE:=XZ Utils (meta)
+  MENU:=1
+endef
+
+define Package/liblzma
+$(call Package/xz/Default)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libpthread
+  TITLE:=liblzma library from XZ Utils
+endef
+
+# $(1): package name & command in /usr/bin/
+# $(2): package dependencies
+# $(3): symbolic links to $(1) in /usr/bin/
+define BuildSubPackage
+
+  define Package/$(1)
+  $(call Package/xz/Default)
+    DEPENDS:=xz-utils $(2)
+    TITLE:=$(1) utility from XZ Utils
+  endef
+
+  define Package/$(1)/description
+   Contains: $(1) $(3)
+  endef
+
+  define Package/$(1)/install
+       $(INSTALL_DIR) $$(1)/usr/bin
+       $(CP) $(foreach f,$(1) $(3),$(PKG_INSTALL_DIR)/usr/bin/$(f)) $$(1)/usr/bin/
+  endef
+
+  $$(eval $$(call BuildPackage,$(1)))
+endef
+
+
+CONFIGURE_ARGS += \
+       --enable-small \
+       --enable-assume-ram=4 \
+       --disable-assembler \
+       --disable-werror \
+
+# API uses "restrict" keyword introduced in C99 standard
+TARGET_CFLAGS += \
+       -std=c99 \
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/include/lzma{,.h} \
+               $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/liblzma.{a,so*} \
+               $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/liblzma.pc \
+               $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/liblzma/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzma.so.* $(1)/usr/lib/
+endef
+
+
+$(eval $(call BuildPackage,xz-utils))
+$(eval $(call BuildPackage,liblzma))
+$(eval $(call BuildSubPackage,lzmadec, +liblzma,))
+$(eval $(call BuildSubPackage,lzmainfo, +liblzma,))
+$(eval $(call BuildSubPackage,xz, +liblzma, lzcat lzma unlzma unxz xzcat))
+$(eval $(call BuildSubPackage,xzdec, +liblzma,))
+$(eval $(call BuildSubPackage,xzdiff, +bash +xz, lzcmp lzdiff xzcmp))
+$(eval $(call BuildSubPackage,xzgrep, +bash +xz, lzegrep lzfgrep lzgrep xzegrep xzfgrep))
+$(eval $(call BuildSubPackage,xzless, +bash +xz, lzless))
+$(eval $(call BuildSubPackage,xzmore, +bash +xz, lzmore))