treewide: build CMake projects with Ninja
[feed/packages.git] / libs / libarchive / Makefile
1 #
2 # Copyright (C) 2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=libarchive
11 PKG_VERSION:=3.5.1
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://www.libarchive.org/downloads
16 PKG_HASH:=0e17d3a8d0b206018693b27f08029b598f6ef03600c2b5d10c94ce58692e299b
17
18 PKG_MAINTAINER:=Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
19 PKG_LICENSE:=BSD-2-Clause
20 PKG_LICENSE_FILES:=COPYING
21 PKG_CPE_ID:=cpe:/a:libarchive:libarchive
22
23 include $(INCLUDE_DIR)/package.mk
24 include ../../devel/ninja/ninja-cmake.mk
25
26 define Package/libarchive/Default
27 SECTION:=libs
28 CATEGORY:=Libraries
29 DEPENDS:=+zlib +liblzma +libbz2 +libexpat
30 TITLE:=Multi-format archive and compression library
31 URL:=https://www.libarchive.org/
32 endef
33
34 define Package/libarchive
35 $(call Package/libarchive/Default)
36 DEPENDS += +libopenssl
37 endef
38
39 define Package/libarchive-noopenssl
40 $(call Package/libarchive/Default)
41 TITLE += (without OpenSSL dependency)
42 VARIANT:=noopenssl
43 endef
44
45 define Package/bsdtar/Default
46 SECTION:=utils
47 CATEGORY:=Utilities
48 SUBMENU:=Compression
49 TITLE:=tar BSD variant
50 URL:=https://www.libarchive.org/
51 endef
52
53 define Package/bsdtar
54 $(call Package/bsdtar/Default)
55 DEPENDS:= +libarchive
56 endef
57
58 define Package/bsdtar-noopenssl
59 $(call Package/bsdtar/Default)
60 TITLE += (without OpenSSL dependency)
61 DEPENDS:= +libarchive-noopenssl
62 VARIANT:=noopenssl
63 endef
64
65 define Package/bsdtar/description
66 Reads a variety of formats including tar, pax, zip, xar, lha, ar,
67 cab, mtree, rar, warc, 7z and ISO images. Writes tar, pax, zip,
68 xar, ar, ISO, mtree and shar archives. Automatically handles
69 archives compressed with gzip, bzip2, lzip, xz, lzma or compress.
70 endef
71
72 CMAKE_OPTIONS += \
73 -DENABLE_MBEDTLS=OFF \
74 -DENABLE_NETTLE=OFF \
75 -DENABLE_LIBB2=OFF \
76 -DENABLE_LZ4=OFF \
77 -DENABLE_LZO=OFF \
78 -DENABLE_LZMA=ON \
79 \
80 -DENABLE_ZSTD=OFF \
81 -DENABLE_ZLIB=ON \
82 -DENABLE_BZip2=ON \
83 -DENABLE_LIBXML2=OFF \
84 -DENABLE_EXPAT=ON \
85 -DENABLE_PCREPOSIX=OFF \
86 -DENABLE_LibGCC=OFF \
87 -DENABLE_CNG=OFF \
88 \
89 -DENABLE_TAR=ON \
90 -DENABLE_TAR_SHARED=ON \
91 -DENABLE_CPIO=OFF \
92 -DENABLE_CAT=OFF \
93 -DENABLE_XATTR=OFF \
94 -DENABLE_ACL=OFF \
95 -DENABLE_ICONV=OFF \
96 -DENABLE_TEST=OFF \
97 -DENABLE_COVERAGE=OFF \
98 -DENABLE_INSTALL=ON
99
100 ifeq ($(BUILD_VARIANT),noopenssl)
101 CMAKE_OPTIONS += -DENABLE_OPENSSL=OFF
102 else
103 CMAKE_OPTIONS += -DENABLE_OPENSSL=ON
104 endif
105
106 define Build/InstallDev
107 $(INSTALL_DIR) $(1)/usr/include
108 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
109 $(INSTALL_DIR) $(1)/usr/lib
110 $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
111 endef
112
113 define Package/libarchive/install
114 $(INSTALL_DIR) $(1)/usr/lib
115 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
116 endef
117
118 define Package/bsdtar/install
119 $(INSTALL_DIR) $(1)/usr/bin
120 $(CP) $(PKG_INSTALL_DIR)/usr/bin/bsdtar $(1)/usr/bin
121 endef
122
123 Package/libarchive-noopenssl/install = $(Package/libarchive/install)
124 Package/bsdtar-noopenssl/install = $(Package/bsdtar/install)
125
126 $(eval $(call BuildPackage,libarchive))
127 $(eval $(call BuildPackage,libarchive-noopenssl))
128 $(eval $(call BuildPackage,bsdtar))
129 $(eval $(call BuildPackage,bsdtar-noopenssl))