package/libargon2: new package
authorPascal de Bruijn <p.debruijn@unilogic.nl>
Thu, 21 Nov 2019 08:12:23 +0000 (09:12 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 26 Nov 2019 22:07:57 +0000 (23:07 +0100)
Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch [new file with mode: 0644]
package/libargon2/Config.in [new file with mode: 0644]
package/libargon2/libargon2.hash [new file with mode: 0644]
package/libargon2/libargon2.mk [new file with mode: 0644]

index 544e3ac1c3ff1bc1d7661523c526b7cf23c7ec6d..78387c0468ef0f97c22d542f53bb838f3d4d3460 100644 (file)
@@ -1806,6 +1806,9 @@ F:        package/checksec/
 N:     Parnell Springmeyer <parnell@digitalmentat.com>
 F:     package/scrypt/
 
+N:     Pascal de Bruijn <p.debruijn@unilogic.nl>
+F:     package/libargon2/
+
 N:     Pascal Huerst <pascal.huerst@gmail.com>
 F:     package/google-breakpad/
 
index 5f913316d8337226969ae81ca657f0aaed3bfd0d..37861387e8e49f00288494b00e1f626f9c113115 100644 (file)
@@ -1250,6 +1250,7 @@ menu "Crypto"
        source "package/cryptodev/Config.in"
        source "package/gcr/Config.in"
        source "package/gnutls/Config.in"
+       source "package/libargon2/Config.in"
        source "package/libassuan/Config.in"
        source "package/libgcrypt/Config.in"
        source "package/libgpg-error/Config.in"
diff --git a/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch b/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch
new file mode 100644 (file)
index 0000000..43a6deb
--- /dev/null
@@ -0,0 +1,23 @@
+From b997b9e7d4744020409223afddc7299a771eb52d Mon Sep 17 00:00:00 2001
+From: Pascal de Bruijn <pmjdebruijn@pcode.nl>
+Date: Thu, 7 Nov 2019 09:55:32 +0100
+Subject: [PATCH] Don't fail on existing symlink
+
+Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 837e7f7..7c116c9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -238,7 +238,7 @@ install: $(RUN) libs
+       $(INSTALL) -d $(INST_LIBRARY)
+       $(INSTALL) -m 0644 $(LIBRARIES) $(INST_LIBRARY)
+ ifdef LINKED_LIB_SH
+-      cd $(INST_LIBRARY) && ln -s $(notdir $(LIB_SH) $(LINKED_LIB_SH))
++      cd $(INST_LIBRARY) && ln -sf $(notdir $(LIB_SH) $(LINKED_LIB_SH))
+ endif
+       $(INSTALL) -d $(INST_BINARY)
+       $(INSTALL) $(RUN) $(INST_BINARY)
diff --git a/package/libargon2/Config.in b/package/libargon2/Config.in
new file mode 100644 (file)
index 0000000..aea861a
--- /dev/null
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBARGON2
+       bool "libargon2"
+       depends on BR2_USE_MMU
+       depends on !BR2_STATIC_LIBS
+       help
+         A modern password hashing algorithm
+
+         https://password-hashing.net/#argon2
diff --git a/package/libargon2/libargon2.hash b/package/libargon2/libargon2.hash
new file mode 100644 (file)
index 0000000..c524b42
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8  libargon2-20171227.tar.gz
+sha256 220f8736a89ff51c92ef3d497f413b48e6cf1df3d6278bc909c6308c78e1718e  LICENSE
diff --git a/package/libargon2/libargon2.mk b/package/libargon2/libargon2.mk
new file mode 100644 (file)
index 0000000..e10343a
--- /dev/null
@@ -0,0 +1,40 @@
+################################################################################
+#
+# libargon2
+#
+################################################################################
+
+# 20190702 is not recognized by php7.3
+LIBARGON2_VERSION = 20171227
+LIBARGON2_SITE = $(call github,P-H-C,phc-winner-argon2,$(LIBARGON2_VERSION))
+LIBARGON2_LICENSE = CC0-1.0 or Apache-2.0
+LIBARGON2_LICENSE_FILES = LICENSE
+LIBARGON2_INSTALL_STAGING = YES
+
+# GCC_TARGET_ARCH is not defined for all architectures, but libargon2
+# only uses it to detect if some x86 optimizations can be used, and
+# GCC_TARGET_ARCH is defined on x86.
+ifneq ($(GCC_TARGET_ARCH),)
+LIBARGON2_OPTS = OPTTARGET=$(GCC_TARGET_ARCH)
+endif
+
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
+LIBARGON2_OPTS += NO_THREADS=1
+endif
+
+define LIBARGON2_BUILD_CMDS
+       $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+               $(LIBARGON2_OPTS)
+endef
+
+define LIBARGON2_INSTALL_STAGING_CMDS
+       $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+               DESTDIR=$(STAGING_DIR) install
+endef
+
+define LIBARGON2_INSTALL_TARGET_CMDS
+       $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+               DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))