From 4ce302b11d99df844f842efa4b5dd10ad57c00cb Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 15 Aug 2018 17:52:08 +0000 Subject: new package: user/bearssl Builds on x86_64. SHOULD build on all other supported architectures. --- user/bearssl/APKBUILD | 42 ++++++++++++++++++++++++++++++++ user/bearssl/bearssl-brssl-dynamic.patch | 13 ++++++++++ 2 files changed, 55 insertions(+) create mode 100644 user/bearssl/APKBUILD create mode 100644 user/bearssl/bearssl-brssl-dynamic.patch diff --git a/user/bearssl/APKBUILD b/user/bearssl/APKBUILD new file mode 100644 index 000000000..1f40633b7 --- /dev/null +++ b/user/bearssl/APKBUILD @@ -0,0 +1,42 @@ +# Maintainer: Laurent Bercot +# Contributor: Laurent Bercot +pkgname=bearssl +pkgver=0.6 +pkgrel=0 +pkgdesc="The BearSSL implementation of the SSL/TLS protocol" +url="https://bearssl.org/" +arch="all" +license="MIT" +builddir="$srcdir/$pkgname-$pkgver" +subpackages="$pkgname-dev" +source="https://bearssl.org/$pkgname-$pkgver.tar.gz" + +# not using the brssl dynamic patch atm, because the ABI can change, +# and bearssl's author recommends against using the .so atm. + +build() { + cd "$builddir" + make \ + CC=gcc \ + LD=gcc \ + LDDLL=gcc \ + LDDLLFLAGS="-shared -Wl,-soname,libbearssl.so.${pkgver%%.*}" \ + D=".so.$pkgver" +} + +package() { + mkdir -p -m 0755 -- "$pkgdir"/bin "$pkgdir"/lib "$pkgdir"/usr/include "$pkgdir"/usr/lib + cp -f "$builddir/build/brssl" "$pkgdir/bin/" + cp -f "$builddir"/inc/* "$pkgdir/usr/include/" + cp -f "$builddir/build/libbearssl.a" "$pkgdir/usr/lib/" + cp -f "$builddir/build/libbearssl.so.$pkgver" "$pkgdir/lib/" + ln -sf "libbearssl.so.$pkgver" "$pkgdir/lib/libbearssl.so.${pkgver%%.*}" + ln -sf "libbearssl.so.${pkgver%%.*}" "$pkgdir/lib/libbearssl.so" +} + +check() { + cd "$builddir/build" + ./testx509 && ./testcrypto all +} + +sha512sums="f9ed25683cfc6c4abe7f1203a2b82ed101ee4c9e0f9ab60755b6a09c8d1e8e4f64d413624e7bb9c4b0033f909a2e4568a1d916cc6ce4736222900691e1f8359a bearssl-0.6.tar.gz" diff --git a/user/bearssl/bearssl-brssl-dynamic.patch b/user/bearssl/bearssl-brssl-dynamic.patch new file mode 100644 index 000000000..e41bb138e --- /dev/null +++ b/user/bearssl/bearssl-brssl-dynamic.patch @@ -0,0 +1,13 @@ +--- bearssl-0.5.old/mk/Rules.mk ++++ bearssl-0.5/mk/Rules.mk +@@ -49,8 +49,8 @@ + $(BEARSSLDLL): $(OBJDIR) $(OBJ) + $(LDDLL) $(LDDLLFLAGS) $(LDDLLOUT)$(BEARSSLDLL) $(OBJ) + +-$(BRSSL): $(BEARSSLLIB) $(OBJBRSSL) +- $(LD) $(LDFLAGS) $(LDOUT)$(BRSSL) $(OBJBRSSL) $(BEARSSLLIB) ++$(BRSSL): $(BEARSSLDLL) $(OBJBRSSL) ++ $(LD) $(LDFLAGS) $(LDOUT)$(BRSSL) $(OBJBRSSL) $(BEARSSLDLL) + + $(TESTCRYPTO): $(BEARSSLLIB) $(OBJTESTCRYPTO) + $(LD) $(LDFLAGS) $(LDOUT)$(TESTCRYPTO) $(OBJTESTCRYPTO) $(BEARSSLLIB) -- cgit v1.2.3-60-g2f50