8d83b154e7e63c52be5acb4e9e2453191a822882
[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.4.4
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=@SF/lzmautils
17 PKG_HASH:=0b6fcde1ac38e90433a2556f500c065950b9bcd2d602006efc334782bdfe6296
18
19 PKG_MAINTAINER:=
20 PKG_LICENSE:=Public-Domain LGPL-2.1-or-later GPL-2.0-or-later GPL-3.0-or-later
21 PKG_LICENSE_FILES:=COPYING
22 PKG_CPE_ID:=cpe:/a:tukaani:xz
23
24 PKG_BUILD_PARALLEL:=1
25 PKG_INSTALL:=1
26 PKG_BUILD_FLAGS:=lto
27
28 include $(INCLUDE_DIR)/package.mk
29
30 define Package/xz/Default
31 SUBMENU:=Compression
32 SECTION:=utils
33 CATEGORY:=Utilities
34 URL:=https://tukaani.org/xz
35 endef
36
37 define Package/xz-utils
38 $(call Package/xz/Default)
39 TITLE:=XZ Utils (meta)
40 MENU:=1
41 endef
42
43 define Package/liblzma
44 $(call Package/xz/Default)
45 SECTION:=libs
46 CATEGORY:=Libraries
47 DEPENDS:=+libpthread
48 TITLE:=liblzma library from XZ Utils
49 endef
50
51 # $(1): package name & command in /usr/bin/
52 # $(2): package dependencies
53 # $(3): symbolic links to $(1) in /usr/bin/
54 define BuildSubPackage
55
56 define Package/$(1)
57 $(call Package/xz/Default)
58 DEPENDS:=xz-utils $(2)
59 TITLE:=$(1) utility from XZ Utils
60 $(if $(3),ALTERNATIVES:=$(foreach f,$(1) $(3),300:/usr/bin/$(f):/usr/libexec/$(1)-lzmautils))
61 endef
62
63 define Package/$(1)/description
64 Contains: $(1) $(3)
65 endef
66
67 define Package/$(1)/install
68 $(INSTALL_DIR) $$(1)$(if $(3),/usr/libexec,/usr/bin)
69 $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)$(if $(3),/usr/libexec/$(1)-lzmautils,/usr/bin/$(1))
70 endef
71
72 $$(eval $$(call BuildPackage,$(1)))
73 endef
74
75 TARGET_LDFLAGS += -Wl,--gc-sections
76
77 CONFIGURE_ARGS += \
78 --enable-small \
79 --enable-assume-ram=4 \
80 --disable-assembler \
81 --disable-debug \
82 --disable-doc \
83 --disable-rpath \
84 --disable-symbol-versions \
85 --disable-werror \
86 --with-pic
87
88 CONFIGURE_VARS += \
89 gl_cv_posix_shell=/bin/sh
90
91 define Build/InstallDev
92 $(INSTALL_DIR) $(1)/usr/include
93 $(CP) \
94 $(PKG_INSTALL_DIR)/usr/include/lzma{,.h} \
95 $(1)/usr/include/
96 $(INSTALL_DIR) $(1)/usr/lib
97 $(CP) \
98 $(PKG_INSTALL_DIR)/usr/lib/liblzma.{a,so*} \
99 $(1)/usr/lib/
100 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
101 $(CP) \
102 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/liblzma.pc \
103 $(1)/usr/lib/pkgconfig/
104 endef
105
106 define Package/xz-utils/install
107 true
108 endef
109
110 define Package/liblzma/install
111 $(INSTALL_DIR) $(1)/usr/lib
112 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzma.so.* $(1)/usr/lib/
113 endef
114
115
116 $(eval $(call BuildPackage,xz-utils))
117 $(eval $(call BuildPackage,liblzma))
118 $(eval $(call BuildSubPackage,lzmadec, +liblzma,))
119 $(eval $(call BuildSubPackage,lzmainfo, +liblzma,))
120 $(eval $(call BuildSubPackage,xz, +liblzma, lzcat lzma unlzma unxz xzcat))
121 $(eval $(call BuildSubPackage,xzdec, +liblzma,))
122 $(eval $(call BuildSubPackage,xzdiff, +xz, lzcmp lzdiff xzcmp))
123 $(eval $(call BuildSubPackage,xzgrep, +xz, lzegrep lzfgrep lzgrep xzegrep xzfgrep))
124 $(eval $(call BuildSubPackage,xzless, +xz, lzless))
125 $(eval $(call BuildSubPackage,xzmore, +xz, lzmore))