gnutls: updated to 3.5.16
[feed/packages.git] / libs / gnutls / Makefile
1 #
2 # Copyright (C) 2005-2016 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:=gnutls
11 PKG_VERSION:=3.5.16
12 PKG_RELEASE:=1
13 PKG_USE_MIPS16:=0
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5
17 PKG_HASH:=0924dec90c37c05f49fec966eba3672dab4d336d879e5c06e06e13325cbfec25
18 #PKG_FIXUP:=autoreconf gettext-version
19 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
20 PKG_LICENSE:=LGPLv2.1+
21
22 PKG_INSTALL:=1
23 PKG_LIBTOOL_PATHS:=. lib
24 PKG_CHECK_FORMAT_SECURITY:=0
25
26 PKG_CONFIG_DEPENDS:= \
27 CONFIG_GNUTLS_ALPN \
28 CONFIG_GNUTLS_ANON \
29 CONFIG_GNUTLS_CRYPTODEV \
30 CONFIG_GNUTLS_DTLS_SRTP \
31 CONFIG_GNUTLS_EXT_LIBTASN1 \
32 CONFIG_GNUTLS_HEARTBEAT \
33 CONFIG_GNUTLS_OCSP \
34 CONFIG_GNUTLS_OPENPGP \
35 CONFIG_GNUTLS_PKCS11 \
36 CONFIG_GNUTLS_PSK \
37 CONFIG_GNUTLS_SRP \
38 CONFIG_GNUTLS_TPM \
39 CONFIG_LIBNETTLE_MINI \
40
41 include $(INCLUDE_DIR)/package.mk
42
43
44 define Package/gnutls/Default
45 SUBMENU:=SSL
46 SECTION:=libs
47 CATEGORY:=Libraries
48 TITLE:=GNU TLS
49 URL:=http://www.gnutls.org/
50 endef
51
52 define Package/gnutls/Default/description
53 GnuTLS is a secure communications library implementing the SSL, TLS
54 and DTLS protocols and technologies around them. It provides a simple
55 C language application programming interface (API) to access the secure
56 communications protocols as well as APIs to parse and write X.509, PKCS12,
57 OpenPGP and other required structures. It is aimed to be portable and
58 efficient with focus on security and interoperability.
59 endef
60
61
62 define Package/certtool
63 $(call Package/gnutls/Default)
64 SECTION:=utils
65 CATEGORY:=Utilities
66 SUBMENU:=Encryption
67 TITLE+= (certool utility)
68 DEPENDS+= +libgnutls
69 endef
70
71 define Package/certtool/description
72 $(call Package/gnutls/Default/description)
73 This package contains the GnuTLS certtool utility.
74 endef
75
76
77 define Package/gnutls-utils
78 $(call Package/gnutls/Default)
79 SECTION:=utils
80 CATEGORY:=Utilities
81 SUBMENU:=Encryption
82 TITLE+= (utilities)
83 DEPENDS+= +libgnutls
84 endef
85
86 define Package/gnutls-utils/description
87 $(call Package/gnutls/Default/description)
88 This package contains the GnuTLS gnutls-cli, gnutls-serv, psktool,
89 and srptool utilities.
90 endef
91
92 define Package/libgnutls/config
93 source "$(SOURCE)/Config.in"
94 endef
95
96 define Package/libgnutls
97 $(call Package/gnutls/Default)
98 TITLE+= (library)
99 DEPENDS+= +libnettle +!LIBNETTLE_MINI:libgmp +GNUTLS_EXT_LIBTASN1:libtasn1 +GNUTLS_PKCS11:p11-kit +GNUTLS_CRYPTODEV:kmod-cryptodev
100 endef
101
102 define Package/libgnutls/description
103 $(call Package/gnutls/Default/description)
104 This package contains the GnuTLS shared library, needed by other programs.
105 endef
106
107
108 CONFIGURE_ARGS+= \
109 --enable-shared \
110 --enable-static \
111 --disable-rpath \
112 --disable-libdane \
113 --with-included-unistring \
114 --disable-guile \
115 --disable-nls \
116 --without-idn \
117 --without-zlib \
118 --enable-local-libopts \
119 --disable-doc \
120 --disable-tests \
121 --with-default-trust-store-dir=/etc/ssl/certs/ \
122 --disable-crywrap \
123 --with-librt-prefix="$(LIBRT_ROOT_DIR)/"
124
125 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1),y)
126 CONFIGURE_ARGS += --with-included-libtasn1
127 endif
128
129 ifneq ($(CONFIG_GNUTLS_PKCS11),y)
130 CONFIGURE_ARGS += --without-p11-kit
131 endif
132
133 ifeq ($(CONFIG_LIBNETTLE_MINI),y)
134 CONFIGURE_ARGS += --with-nettle-mini
135 endif
136
137 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP),y)
138 CONFIGURE_ARGS += --disable-dtls-srtp-support
139 endif
140
141 ifneq ($(CONFIG_GNUTLS_ALPN),y)
142 CONFIGURE_ARGS += --disable-alpn-support
143 endif
144
145 ifneq ($(CONFIG_GNUTLS_HEARTBEAT),y)
146 CONFIGURE_ARGS += --disable-heartbeat-support
147 endif
148
149 ifneq ($(CONFIG_GNUTLS_SRP),y)
150 CONFIGURE_ARGS += --disable-srp-authentication
151 endif
152
153 ifneq ($(CONFIG_GNUTLS_PSK),y)
154 CONFIGURE_ARGS += --disable-psk-authentication
155 endif
156
157 ifneq ($(CONFIG_GNUTLS_OPENPGP),y)
158 CONFIGURE_ARGS += --disable-openpgp-authentication
159 endif
160
161 ifneq ($(CONFIG_GNUTLS_ANON),y)
162 CONFIGURE_ARGS += --disable-anon-authentication
163 endif
164
165 ifneq ($(CONFIG_GNUTLS_OCSP),y)
166 CONFIGURE_ARGS += --disable-ocsp
167 endif
168
169 ifneq ($(CONFIG_GNUTLS_TPM),y)
170 CONFIGURE_ARGS += --without-tpm
171 endif
172
173 ifeq ($(CONFIG_GNUTLS_CRYPTODEV),y)
174 CONFIGURE_ARGS += --enable-cryptodev
175 endif
176
177 TARGET_CFLAGS += $(FPIC)
178
179 define Build/InstallDev
180 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
181 $(CP) \
182 $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
183 $(1)/usr/lib/
184 $(CP) \
185 $(PKG_INSTALL_DIR)/usr/include/gnutls \
186 $(1)/usr/include/
187 $(CP) \
188 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
189 $(1)/usr/lib/pkgconfig/
190 endef
191
192
193 define Package/certtool/conffiles
194 /etc/gnutls/certtool.cfg
195 endef
196
197 define Package/certtool/install
198 $(INSTALL_DIR) $(1)/etc/gnutls
199 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/certtool.cfg $(1)/etc/gnutls/
200 $(INSTALL_DIR) $(1)/usr/bin
201 $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/
202 endef
203
204
205 define Package/gnutls-utils/install
206 $(INSTALL_DIR) $(1)/usr/bin
207 ifeq ($(CONFIG_GNUTLS_OCSP),y)
208 ifeq ($(CONFIG_GNUTLS_ANON),y)
209 $(CP) \
210 $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} \
211 $(1)/usr/bin/
212 endif
213 $(CP) \
214 $(PKG_INSTALL_DIR)/usr/bin/ocsptool \
215 $(1)/usr/bin/
216 endif
217 ifeq ($(CONFIG_GNUTLS_SRP),y)
218 $(CP) \
219 $(PKG_INSTALL_DIR)/usr/bin/srptool \
220 $(1)/usr/bin/
221 endif
222 ifeq ($(CONFIG_GNUTLS_PSK),y)
223 $(CP) \
224 $(PKG_INSTALL_DIR)/usr/bin/psktool \
225 $(1)/usr/bin/
226 endif
227 ifeq ($(CONFIG_GNUTLS_PKCS11),y)
228 $(CP) \
229 $(PKG_INSTALL_DIR)/usr/bin/p11tool \
230 $(1)/usr/bin/
231 endif
232 ifeq ($(CONFIG_GNUTLS_TPM),y)
233 $(CP) \
234 $(PKG_INSTALL_DIR)/usr/bin/tpmtool \
235 $(1)/usr/bin/
236 endif
237 endef
238
239
240 define Package/libgnutls/install
241 $(INSTALL_DIR) $(1)/usr/lib
242 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
243 endef
244
245
246 $(eval $(call BuildPackage,certtool))
247 $(eval $(call BuildPackage,gnutls-utils))
248 $(eval $(call BuildPackage,libgnutls))