Merge pull request #9551 from neheb/elek
[feed/packages.git] / utils / xz / Makefile
1 #
2 # Copyright (C) 2013-2015 OpenWrt.org
3 # Copyright (C) 2017 Daniel Engberg <daniel.engberg.lists@pyret.net>
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=xz
12 PKG_VERSION:=5.2.4
13 PKG_RELEASE:=4
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=@SF/lzmautils
17 PKG_HASH:=3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf
18
19 PKG_MAINTAINER:=
20 PKG_LICENSE:=Public-Domain LGPL-2.1+ GPL-2.0+ GPL-3.0+
21 PKG_LICENSE_FILES:=COPYING
22 PKG_CPE_ID:=cpe:/a:tukaani:xz
23
24 PKG_BUILD_PARALLEL:=1
25 PKG_INSTALL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/xz/Default
30 SUBMENU:=Compression
31 SECTION:=utils
32 CATEGORY:=Utilities
33 URL:=https://tukaani.org/xz
34 endef
35
36 define Package/xz-utils
37 $(call Package/xz/Default)
38 TITLE:=XZ Utils (meta)
39 MENU:=1
40 endef
41
42 define Package/liblzma
43 $(call Package/xz/Default)
44 SECTION:=libs
45 CATEGORY:=Libraries
46 DEPENDS:=+libpthread
47 TITLE:=liblzma library from XZ Utils
48 endef
49
50 # $(1): package name & command in /usr/bin/
51 # $(2): package dependencies
52 # $(3): symbolic links to $(1) in /usr/bin/
53 define BuildSubPackage
54
55 define Package/$(1)
56 $(call Package/xz/Default)
57 DEPENDS:=xz-utils $(2)
58 TITLE:=$(1) utility from XZ Utils
59 endef
60
61 define Package/$(1)/description
62 Contains: $(1) $(3)
63 endef
64
65 define Package/$(1)/install
66 $(INSTALL_DIR) $$(1)/usr/bin
67 $(CP) $(foreach f,$(1) $(3),$(PKG_INSTALL_DIR)/usr/bin/$(f)) $$(1)/usr/bin/
68 endef
69
70 $$(eval $$(call BuildPackage,$(1)))
71 endef
72
73 TARGET_LDFLAGS += -Wl,--gc-sections -flto
74
75 CONFIGURE_ARGS += \
76 --enable-small \
77 --enable-assume-ram=4 \
78 --disable-assembler \
79 --disable-debug \
80 --disable-doc \
81 --disable-rpath \
82 --disable-symbol-versions \
83 --disable-werror \
84 --with-pic
85
86 CONFIGURE_VARS += \
87 gl_cv_posix_shell=/bin/sh
88
89 define Build/InstallDev
90 $(INSTALL_DIR) $(1)/usr/include
91 $(CP) \
92 $(PKG_INSTALL_DIR)/usr/include/lzma{,.h} \
93 $(1)/usr/include/
94 $(INSTALL_DIR) $(1)/usr/lib
95 $(CP) \
96 $(PKG_INSTALL_DIR)/usr/lib/liblzma.{a,so*} \
97 $(1)/usr/lib/
98 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
99 $(CP) \
100 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/liblzma.pc \
101 $(1)/usr/lib/pkgconfig/
102 endef
103
104 define Package/xz-utils/install
105 true
106 endef
107
108 define Package/liblzma/install
109 $(INSTALL_DIR) $(1)/usr/lib
110 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzma.so.* $(1)/usr/lib/
111 endef
112
113
114 $(eval $(call BuildPackage,xz-utils))
115 $(eval $(call BuildPackage,liblzma))
116 $(eval $(call BuildSubPackage,lzmadec, +liblzma,))
117 $(eval $(call BuildSubPackage,lzmainfo, +liblzma,))
118 $(eval $(call BuildSubPackage,xz, +liblzma, lzcat lzma unlzma unxz xzcat))
119 $(eval $(call BuildSubPackage,xzdec, +liblzma,))
120 $(eval $(call BuildSubPackage,xzdiff, +xz, lzcmp lzdiff xzcmp))
121 $(eval $(call BuildSubPackage,xzgrep, +xz, lzegrep lzfgrep lzgrep xzegrep xzfgrep))
122 $(eval $(call BuildSubPackage,xzless, +xz, lzless))
123 $(eval $(call BuildSubPackage,xzmore, +xz, lzmore))