squid: update to 6.11
[feed/packages.git] / libs / libsodium / Makefile
1 #
2 # Copyright (C) 2009-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:=libsodium
11 PKG_VERSION:=1.0.19
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://download.libsodium.org/libsodium/releases \
16 https://github.com/jedisct1/libsodium/releases/download/$(PKG_VERSION)
17 PKG_HASH:=018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea
18
19 PKG_MAINTAINER:=Damiano Renfer <x9w2n7xnu@relay.firefox.com>
20 PKG_LICENSE:=ISC
21 PKG_LICENSE_FILES:=LICENSE
22
23 PKG_BUILD_FLAGS:=no-mips16
24 PKG_FIXUP:=autoreconf
25 PKG_INSTALL:=1
26 PKG_BUILD_PARALLEL:=1
27
28 include $(INCLUDE_DIR)/package.mk
29
30 TAR_OPTIONS+= --strip-components 1
31 TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
32
33 define Package/libsodium
34 SECTION:=libs
35 CATEGORY:=Libraries
36 TITLE:=P(ortable|ackageable) NaCl-based crypto library
37 URL:=https://github.com/jedisct1/libsodium
38 endef
39
40 define Package/libsodium/description
41 NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc.
42 NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools.
43 Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API.
44 The design choices, particularly in regard to the Curve25519 Diffie-Hellman function, emphasize security (whereas NIST curves emphasize "performance" at the cost of security), and "magic constants" in NaCl/Sodium have clear rationales.
45 The same cannot be said of NIST curves, where the specific origins of certain constants are not described by the standards.
46 And despite the emphasis on higher security, primitives are faster across-the-board than most implementations of the NIST standards.
47 endef
48
49 define Package/libsodium/config
50 menu "Configuration"
51 depends on PACKAGE_libsodium
52 config LIBSODIUM_MINIMAL
53 bool "Compile only what is required for the high-level API (no aes128ctr), should be fine in most cases."
54 default y
55 endmenu
56 endef
57
58 CONFIGURE_ARGS+= \
59 --disable-ssp \
60 $(if $(CONFIG_LIBSODIUM_MINIMAL),--enable,--disable)-minimal
61
62 define Build/InstallDev
63 $(INSTALL_DIR) $(1)/usr/include/sodium
64 $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium.h $(1)/usr/include
65 $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium/*.h $(1)/usr/include/sodium
66 $(INSTALL_DIR) $(1)/usr/lib
67 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.{a,so*} $(1)/usr/lib
68 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
69 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsodium.pc $(1)/usr/lib/pkgconfig/
70 endef
71
72 define Package/libsodium/install
73 $(INSTALL_DIR) $(1)/usr/lib
74 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.so.* $(1)/usr/lib/
75 endef
76
77 $(eval $(call BuildPackage,libsodium))