All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/3] libargon2: add new package
Date: Fri, 8 Nov 2019 10:18:44 +0100	[thread overview]
Message-ID: <20191108101844.4107ab18@windsurf> (raw)
In-Reply-To: <20191108082112.5541-2-p.debruijn@unilogic.nl>

Hello Pascal,

On Fri,  8 Nov 2019 09:21:11 +0100
Pascal de Bruijn <p.debruijn@unilogic.nl> wrote:

> ---

We need your Signed-off-by.

>  package/Config.in                             |  1 +
>  ...argon2-dont-fail-on-existing-symlink.patch | 12 +++++++
>  .../0002-libargon2-fix-cross-compile.patch    | 34 +++++++++++++++++++
>  package/libargon2/Config.in                   |  6 ++++
>  package/libargon2/libargon2.hash              |  3 ++
>  package/libargon2/libargon2.mk                | 25 ++++++++++++++
>  6 files changed, 81 insertions(+)

Could you add an entry in the DEVELOPERS file for this new package ?

> 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
> index 0000000000..1a65486554
> --- /dev/null
> +++ b/package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch
> @@ -0,0 +1,12 @@
> +diff -Nurpd a/Makefile b/Makefile
> +--- a/Makefile	2017-12-27 20:56:31.000000000 +0100
> ++++ b/Makefile	2019-11-07 09:52:49.554284682 +0100
> +@@ -176,7 +176,7 @@ install: $(RUN) libs
> + 	$(INSTALL) -d $(INST_LIBRARY)
> + 	$(INSTALL) $(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)

Since the project is maintained with Git, please use patches generated
with "git format-patch", with a proper commit log and Signed-off-by.

Also, make sure to submit this patch to the upstream project.

> diff --git a/package/libargon2/0002-libargon2-fix-cross-compile.patch b/package/libargon2/0002-libargon2-fix-cross-compile.patch
> new file mode 100644
> index 0000000000..b50b8ddb52
> --- /dev/null
> +++ b/package/libargon2/0002-libargon2-fix-cross-compile.patch
> @@ -0,0 +1,34 @@
> +From cd1c1d8d204e4ec4557e358013567c097cb70562 Mon Sep 17 00:00:00 2001
> +From: Vika <kisik21@fireburn.ru>
> +Date: Mon, 26 Aug 2019 14:05:22 +0300
> +Subject: [PATCH] Fix cross-compilation on some systems
> +
> +Some Linux distributions (e.g. NixOS, where this issue was spotted) don't provide an unprefixed ar when cross-compiling. This PR aims to fix this.
> +
> +See[NixOS/nixpkgs#67490](https://github.com/NixOS/nixpkgs/pull/67490) for information on where did it start.

Please add your Signed-off-by here.

> +---
> + Makefile | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 837e7f7..38f16fc 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -123,6 +123,8 @@ ifdef LINKED_LIB_EXT
> + LINKED_LIB_SH := lib$(LIB_NAME).$(LINKED_LIB_EXT)
> + endif
> + 
> ++# Some systems don't provide an unprefixed ar when cross-compiling.
> ++AR=ar
> + 
> + LIBRARIES = $(LIB_SH) $(LIB_ST)
> + HEADERS = include/argon2.h
> +@@ -182,7 +184,7 @@ $(LIB_SH): 	$(SRC)
> + 		$(CC) $(CFLAGS) $(LIB_CFLAGS) $(LDFLAGS) $(SO_LDFLAGS) $^ -o $@
> + 
> + $(LIB_ST): 	$(OBJ)
> +-		ar rcs $@ $^
> ++		$(AR) rcs $@ $^
> + 
> + .PHONY: clean
> + clean:
> diff --git a/package/libargon2/Config.in b/package/libargon2/Config.in
> new file mode 100644
> index 0000000000..1f9a5f435f
> --- /dev/null
> +++ b/package/libargon2/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBARGON2
> +	bool "libargon2"

No dependencies on toolchain features? Could you test this package with
./utils/test-pkg, just to make sure it builds in most configurations ?

> +	help
> +	  A modern pass hashing algorithm
> +
> +	  https://password-hashing.net/#argon2
> diff --git a/package/libargon2/libargon2.hash b/package/libargon2/libargon2.hash
> new file mode 100644
> index 0000000000..43fdb5467b
> --- /dev/null
> +++ b/package/libargon2/libargon2.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated
> +sha256 eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8  libargon2-20171227.tar.gz

Please add a hash for the license file.

> +
> diff --git a/package/libargon2/libargon2.mk b/package/libargon2/libargon2.mk
> new file mode 100644
> index 0000000000..204af49148
> --- /dev/null
> +++ b/package/libargon2/libargon2.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# libargon2
> +#
> +################################################################################
> +
> +LIBARGON2_VERSION = 20171227		# 20190702 is not recognized by php7.3
> +LIBARGON2_SITE = $(call github,P-H-C,phc-winner-argon2,$(LIBARGON2_VERSION))
> +LIBARGON2_LICENSE = CC0
> +LIBARGON2_LICENSE_FILES = LICENSE
> +LIBARGON2_INSTALL_STAGING = YES
> +
> +define LIBARGON2_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) OPTTARGET=$(GCC_TARGET_ARCH)

Could you give some details about the values expected for OPTTARGET ?
Indeed, GCC_TARGET_ARCH only has a value on MIPS, NDS32, x86 and
RISC-V. On all other architectures, it is empty as far as I can see. So
I am really not sure GCC_TARGET_ARCH is what you want here.

> +define LIBARGON2_INSTALL_STAGING_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR) install
> +endef
> +
> +define LIBARGON2_INSTALL_TARGET_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) install
> +endef

In all these commands, I suppose you have used $(MAKE1) because you
faced some parallel build issues with this package ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2019-11-08  9:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-08  8:21 [Buildroot] [PATCH 1/3] php: libsodium support Pascal de Bruijn
2019-11-08  8:21 ` [Buildroot] [PATCH 2/3] libargon2: add new package Pascal de Bruijn
2019-11-08  9:18   ` Thomas Petazzoni [this message]
2019-11-08  8:21 ` [Buildroot] [PATCH 3/3] php: libargon2 support Pascal de Bruijn
2019-11-08  9:19   ` Thomas Petazzoni
2019-11-08  9:10 ` [Buildroot] [PATCH 1/3] php: libsodium support Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191108101844.4107ab18@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.