diff options
-rw-r--r-- | app-crypt/libscrypt/Manifest | 1 | ||||
-rw-r--r-- | app-crypt/libscrypt/files/libscrypt-1.21-build.patch | 76 | ||||
-rw-r--r-- | app-crypt/libscrypt/libscrypt-1.21.ebuild | 36 |
3 files changed, 113 insertions, 0 deletions
diff --git a/app-crypt/libscrypt/Manifest b/app-crypt/libscrypt/Manifest index d1841cd9bb39..5a1906ee98c6 100644 --- a/app-crypt/libscrypt/Manifest +++ b/app-crypt/libscrypt/Manifest @@ -1 +1,2 @@ DIST libscrypt-1.20.tar.gz 18451 SHA256 6074add2170b7d00e080fe3a58d3dec76850a4f272d488f5e8cc3c4acb6d8e21 SHA512 c7db096c740681c328d4c156372147331c0441906c1f17656a8ddd8345348091295749c4e3105bf26106f826327acac9bda97efec4ce50ac56d64f903c59e9af WHIRLPOOL 5d854936f955fbc08ec7d31e89396d3198ea58cac326ea8ceaedcc360e412cefc9e75b49a959870924cabe79ccf14453209cf450ff0256873c1de744f65706ac +DIST libscrypt-1.21.tar.gz 19425 SHA256 68e377e79745c10d489b759b970e52d819dbb80dd8ca61f8c975185df3f457d3 SHA512 0f894bc2f47016cdd043ea692a4e4b08891b1a961443265230d5ccb76820d40e50b0d4d63588c44c985cd24e214f07b126d30989d3ce4cd79366f3b8f16c4d34 WHIRLPOOL 7fda5f5118c981d595f9f624ae40674c29fba6ee529ec8f4861b88d9bf11321b7a1285fabd1218356b59e889ddb96c4018513441fb4cebd302639085fcc097d0 diff --git a/app-crypt/libscrypt/files/libscrypt-1.21-build.patch b/app-crypt/libscrypt/files/libscrypt-1.21-build.patch new file mode 100644 index 000000000000..236e80730d57 --- /dev/null +++ b/app-crypt/libscrypt/files/libscrypt-1.21-build.patch @@ -0,0 +1,76 @@ +From bdfec26744122e8f52a58bc086c89b27faaf5888 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sat, 1 Jul 2017 23:06:41 +0300 +Subject: [PATCH 1/2] build: move non-essential flags to *_EXTRA + +This enables downstream to selectively add/replace the optimization and +other non-essential flags. + +Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> +--- + Makefile | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 7022a4a..c9313cb 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,21 +5,22 @@ MAKE_DIR ?= install -d + INSTALL_DATA ?= install + + CC?=gcc +-CFLAGS?=-O2 -Wall -g -D_FORTIFY_SOURCE=2 -fstack-protector -fPIC +-LDFLAGS?=-Wl,-z,now -Wl,-z,relro -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version +-CFLAGS_EXTRA?=-Wl,-rpath=. ++CFLAGS?=$(CFLAGS_EXTRA) -D_FORTIFY_SOURCE=2 -fPIC ++LDFLAGS?=$(LDFLAGS_EXTRA) -Wl,-soname,libscrypt.so.0 -Wl,--version-script=libscrypt.version ++CFLAGS_EXTRA?=-Wl,-rpath=. -O2 -Wall -g -fstack-protector ++LDFLAGS_EXTRA?=-Wl,-z,relro + + all: reference + + OBJS= crypto_scrypt-nosse.o sha256.o crypto-mcf.o b64.o crypto-scrypt-saltgen.o crypto_scrypt-check.o crypto_scrypt-hash.o slowequals.o + + libscrypt.so.0: $(OBJS) +- $(CC) $(LDFLAGS) -shared -o libscrypt.so.0 $(OBJS) -lm -lc ++ $(CC) $(LDFLAGS) -shared -o libscrypt.so.0 $(OBJS) -lm -lc + ar rcs libscrypt.a $(OBJS) + + reference: libscrypt.so.0 main.o crypto_scrypt-hexconvert.o + ln -s -f libscrypt.so.0 libscrypt.so +- $(CC) -Wall -o reference main.o b64.o crypto_scrypt-hexconvert.o $(CFLAGS_EXTRA) -L. -lscrypt ++ $(CC) -o reference main.o b64.o crypto_scrypt-hexconvert.o $(CFLAGS) $(LDFLAGS_EXTRA) -L. -lscrypt + + clean: + rm -f *.o reference libscrypt.so* libscrypt.a endian.h +-- +2.13.0 + +From 7899df0447e0fcad32a6cce7439eef1f1295aaeb Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sat, 1 Jul 2017 23:14:29 +0300 +Subject: [PATCH 2/2] build: run tests with local library + +Ensure tests can run and when run are run with current library. + +Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c9313cb..783c537 100644 +--- a/Makefile ++++ b/Makefile +@@ -26,7 +26,7 @@ clean: + rm -f *.o reference libscrypt.so* libscrypt.a endian.h + + check: all +- ./reference ++ LD_LIBRARY_PATH=. ./reference + + devtest: + splint crypto_scrypt-hexconvert.c +-- +2.13.0 + diff --git a/app-crypt/libscrypt/libscrypt-1.21.ebuild b/app-crypt/libscrypt/libscrypt-1.21.ebuild new file mode 100644 index 000000000000..416adce62384 --- /dev/null +++ b/app-crypt/libscrypt/libscrypt-1.21.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit toolchain-funcs + +DESCRIPTION="Shared library to impliment the scrypt algorithm" +HOMEPAGE="https://github.com/technion/libscrypt" +SRC_URI="https://github.com/technion/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-build.patch" +) + +pkg_setup() { + export LIBDIR=${PREFIX}/$(get_libdir) + export CFLAGS_EXTRA="${CFLAGS}" + export LDFLAGS_EXTRA="${LDFLAGS}" + export PREFIX=/usr + unset CFLAGS + unset LDFLAGS +} + +src_compile() { + emake \ + CC=$(tc-getCC) +} |