# Maintainer: David Runge <dvzrv@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - cmake with -DWOLFSSL_SHA3=ON, required and not set by default for v7

# WARNING: This upstream **does not** guarantee ABI stability. Expect soname changes in patch-level version bumps (https://github.com/wolfSSL/wolfssl/issues/6928)
pkgname=wolfssl
pkgver=5.7.6
pkgrel=1
pkgdesc="Lightweight, portable, C-language-based SSL/TLS library"
arch=(x86_64)
url="https://www.wolfssl.com/"
license=(GPL-2.0-or-later)
depends=(glibc)
makedepends=(cmake)
provides=(libwolfssl.so)
source=(
  $pkgname-$pkgver-stable.tar.gz::https://github.com/$pkgname/$pkgname/archive/refs/tags/v$pkgver-stable.tar.gz
  https://github.com/$pkgname/$pkgname/releases/download/v$pkgver-stable/$pkgname-$pkgver-stable.tar.gz.asc
)
sha512sums=('502f01467bcda853a4aed6ce01213d568609444e35e1b7f2faeb19e49e7002d93fd9bfd490c7dd5225812785c32b4308a6594631f5c6a157784d352ef28b508c'
            'SKIP')
b2sums=('9ab591f186cca0d4caff1587f00a43e5e43b441cc793125ef05bd24748a4b9b1d8ca6b27fe5085b7f51a0d4e849ebb4f9bc741da9f9b923833326c48b0290e3d'
        'SKIP')
validpgpkeys=(
  A2A48E7BCB96C5BECB987314EBC80E415CA29677  # wolfSSL <secure@wolfssl.com>
)

build() {
  local cmake_options=(
    -B build
    -D CMAKE_BUILD_TYPE=None
    -D CMAKE_INSTALL_PREFIX=/usr
    -D WOLFSSL_CURVE25519=ON
    -D WOLFSSL_CURVE448=ON
    -D WOLFSSL_ED25519=ON
    -D WOLFSSL_ED448=ON
    -D WOLFSSL_SHA3=ON
    -D WOLFSSL_REPRODUCIBLE_BUILD=ON
    -D WOLFSSL_SNI=ON
    -D WARNING_C_FLAGS="$CFLAGS"
    -W no-dev
    -S $pkgname-$pkgver-stable
  )

  cmake "${cmake_options[@]}"
  cmake --build build --verbose
}

check() {
  cd build
  ./wolfcrypt/test/testwolfcrypt
}

package() {
  DESTDIR="$pkgdir" cmake --install build
  install -vDm 644 $pkgname-$pkgver-stable/{README,ChangeLog}.md -t "$pkgdir/usr/share/doc/$pkgname/"
}