Fresh pull from upstream (stable) package feed
[librecmc/package-feed.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.11
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://download.libsodium.org/libsodium/releases
16 PKG_MD5SUM:=b58928d035064b2a46fb564937b83540
17
18 PKG_FIXUP:=libtool autoreconf
19 PKG_USE_MIPS16:=0
20 PKG_INSTALL:=1
21
22 PKG_MAINTAINER:=Damiano Renfer <damiano.renfer@gmail.com>
23 PKG_LICENSE:=ISC
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/libsodium
28   SECTION:=libs
29   CATEGORY:=Libraries
30   TITLE:=P(ortable|ackageable) NaCl-based crypto library
31   URL:=https://github.com/jedisct1/libsodium
32   MAINTAINER:=Damiano Renfer <damiano.renfer@gmail.com>
33 endef
34
35 define Package/libsodium/description
36   NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc.
37   NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools.
38   Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API.
39   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.
40   The same cannot be said of NIST curves, where the specific origins of certain constants are not described by the standards.
41   And despite the emphasis on higher security, primitives are faster across-the-board than most implementations of the NIST standards.
42 endef
43
44 define Package/libsodium/config
45 menu "Configuration"
46         depends on PACKAGE_libsodium
47         config LIBSODIUM_MINIMAL
48                 bool "Compile only what is required for the high-level API (no aes128ctr), should be fine in most cases."
49                 default y
50 endmenu
51 endef
52
53 CONFIGURE_ARGS+= \
54         --disable-ssp \
55         $(if $(CONFIG_LIBSODIUM_MINIMAL),--enable-minimal=yes,--enable-minimal=no)
56
57 define Build/InstallDev
58         $(INSTALL_DIR) $(1)/usr/include/sodium
59         $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium.h $(1)/usr/include
60         $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium/*.h $(1)/usr/include/sodium
61         $(INSTALL_DIR) $(1)/usr/lib
62         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.{a,so*} $(1)/usr/lib
63         $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
64         $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsodium.pc $(1)/usr/lib/pkgconfig/
65 endef
66
67 define Package/libsodium/install
68         $(INSTALL_DIR) $(1)/usr/lib
69         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.so.* $(1)/usr/lib/
70 endef
71
72 $(eval $(call BuildPackage,libsodium))