commit 63318ba6605292ba716f59685fac3ccf1d356b70 Author: Josef Miegl Date: Tue Jun 9 21:40:01 2020 +0200 libsodium-git diff --git a/libsodium/Makefile b/libsodium/Makefile new file mode 100644 index 0000000..0416a71 --- /dev/null +++ b/libsodium/Makefile @@ -0,0 +1,74 @@ +# +# Copyright (C) 2009-2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libsodium +PKG_VERSION:=c6506e64415173fb89b91b29ff4d32d7db48bb6d +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/jedisct1/libsodium.git +PKG_SOURCE_DATE:=2020-06-09 +PKG_SOURCE_VERSION:=c6506e64415173fb89b91b29ff4d32d7db48bb6d +PKG_MIRROR_HASH:=skip + +PKG_MAINTAINER:=Damiano Renfer +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=LICENSE + +PKG_USE_MIPS16:=0 +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libsodium + SECTION:=libs + CATEGORY:=Libraries + TITLE:=P(ortable|ackageable) NaCl-based crypto library + URL:=https://github.com/jedisct1/libsodium +endef + +define Package/libsodium/description + NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. + NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools. + Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API. + 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. + The same cannot be said of NIST curves, where the specific origins of certain constants are not described by the standards. + And despite the emphasis on higher security, primitives are faster across-the-board than most implementations of the NIST standards. +endef + +define Package/libsodium/config +menu "Configuration" + depends on PACKAGE_libsodium + config LIBSODIUM_MINIMAL + bool "Compile only what is required for the high-level API (no aes128ctr), should be fine in most cases." + default y +endmenu +endef + +CONFIGURE_ARGS+= \ + --disable-ssp \ + $(if $(CONFIG_LIBSODIUM_MINIMAL),--enable,--disable)-minimal + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/sodium + $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium.h $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium/*.h $(1)/usr/include/sodium + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.{a,so*} $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsodium.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libsodium/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libsodium))