gnutls: updated to 3.6.8
[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.6.8
12 PKG_RELEASE:=1
13 PKG_USE_MIPS16:=0
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6
17 PKG_HASH:=aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83
18 PKG_FIXUP:=autoreconf gettext-version
19 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
20 PKG_LICENSE:=LGPLv2.1+
21 PKG_CPE_ID:=cpe:/a:gnu:gnutls
22
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=1
25 PKG_LIBTOOL_PATHS:=. lib
26
27 PKG_CONFIG_DEPENDS:= \
28 CONFIG_GNUTLS_ALPN \
29 CONFIG_GNUTLS_ANON \
30 CONFIG_GNUTLS_CRYPTODEV \
31 CONFIG_GNUTLS_DTLS_SRTP \
32 CONFIG_GNUTLS_EXT_LIBTASN1 \
33 CONFIG_GNUTLS_HEARTBEAT \
34 CONFIG_GNUTLS_OCSP \
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 +libatomic
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-doc \
112 --disable-gcc-warnings \
113 --disable-guile \
114 --disable-rpath \
115 --disable-seccomp-tests \
116 --disable-tests \
117 --disable-valgrind-tests \
118 \
119 --disable-libdane \
120 --disable-ssl2-support \
121 --disable-ssl3-support \
122 --enable-local-libopts \
123 --without-idn \
124 --with-default-trust-store-dir=/etc/ssl/certs/ \
125 --with-included-unistring \
126 --with-librt-prefix="$(LIBRT_ROOT_DIR)/" \
127 --with-pic
128
129 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1),y)
130 CONFIGURE_ARGS += --with-included-libtasn1
131 endif
132
133 ifneq ($(CONFIG_GNUTLS_PKCS11),y)
134 CONFIGURE_ARGS += --without-p11-kit
135 endif
136
137 ifeq ($(CONFIG_LIBNETTLE_MINI),y)
138 CONFIGURE_ARGS += --with-nettle-mini
139 endif
140
141 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP),y)
142 CONFIGURE_ARGS += --disable-dtls-srtp-support
143 endif
144
145 ifneq ($(CONFIG_GNUTLS_ALPN),y)
146 CONFIGURE_ARGS += --disable-alpn-support
147 endif
148
149 ifneq ($(CONFIG_GNUTLS_HEARTBEAT),y)
150 CONFIGURE_ARGS += --disable-heartbeat-support
151 endif
152
153 ifneq ($(CONFIG_GNUTLS_SRP),y)
154 CONFIGURE_ARGS += --disable-srp-authentication
155 endif
156
157 ifneq ($(CONFIG_GNUTLS_PSK),y)
158 CONFIGURE_ARGS += --disable-psk-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 define Build/InstallDev
178 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
179 $(CP) \
180 $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
181 $(1)/usr/lib/
182 $(CP) \
183 $(PKG_INSTALL_DIR)/usr/include/gnutls \
184 $(1)/usr/include/
185 $(CP) \
186 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
187 $(1)/usr/lib/pkgconfig/
188 endef
189
190
191 define Package/certtool/conffiles
192 /etc/gnutls/certtool.cfg
193 endef
194
195 define Package/certtool/install
196 $(INSTALL_DIR) $(1)/etc/gnutls
197 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/certtool.cfg $(1)/etc/gnutls/
198 $(INSTALL_DIR) $(1)/usr/bin
199 $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/
200 endef
201
202
203 define Package/gnutls-utils/install
204 $(INSTALL_DIR) $(1)/usr/bin
205 ifeq ($(CONFIG_GNUTLS_OCSP),y)
206 ifeq ($(CONFIG_GNUTLS_ANON),y)
207 $(CP) \
208 $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} \
209 $(1)/usr/bin/
210 endif
211 $(CP) \
212 $(PKG_INSTALL_DIR)/usr/bin/ocsptool \
213 $(1)/usr/bin/
214 endif
215 ifeq ($(CONFIG_GNUTLS_SRP),y)
216 $(CP) \
217 $(PKG_INSTALL_DIR)/usr/bin/srptool \
218 $(1)/usr/bin/
219 endif
220 ifeq ($(CONFIG_GNUTLS_PSK),y)
221 $(CP) \
222 $(PKG_INSTALL_DIR)/usr/bin/psktool \
223 $(1)/usr/bin/
224 endif
225 ifeq ($(CONFIG_GNUTLS_PKCS11),y)
226 $(CP) \
227 $(PKG_INSTALL_DIR)/usr/bin/p11tool \
228 $(1)/usr/bin/
229 endif
230 ifeq ($(CONFIG_GNUTLS_TPM),y)
231 $(CP) \
232 $(PKG_INSTALL_DIR)/usr/bin/tpmtool \
233 $(1)/usr/bin/
234 endif
235 endef
236
237
238 define Package/libgnutls/install
239 $(INSTALL_DIR) $(1)/usr/lib
240 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
241 endef
242
243
244 $(eval $(call BuildPackage,certtool))
245 $(eval $(call BuildPackage,gnutls-utils))
246 $(eval $(call BuildPackage,libgnutls))