# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Kyle Keen <keenerd@gmail.com>
# Contributor: Mihai Militaru <mihai militaru at xmpp dot ro>
# Contributor: carstene1ns <arch carsten-teibes.de>

pkgname=mbedtls2
pkgver=2.28.10
pkgrel=2
pkgdesc='An open source, portable, easy to use, readable and flexible TLS library'
arch=(aarch64 x86_64)
url=https://tls.mbed.org
license=(Apache-2.0)
depends=(glibc)
makedepends=(
  cmake
  git
  ninja
)
provides=(
  libmbedcrypto.so
  libmbedtls.so
  libmbedx509.so
)
_tag=2fc8413bfcb51354c8e679141b17b3f1a5942561
source=(git+https://github.com/Mbed-TLS/mbedtls.git#tag=${_tag})
b2sums=('5556a44b7df49fb6cabf046915218cdd3f1176b5e63febae3697d7d5e701d1e0d97d0cb107c5ad4f852d8f4296ff1fe1bbfd21fe822b2a153ceccaf9849290d1')

pkgver() {
  cd mbedtls
  git describe --tags | sed 's/^v//; s/^mbedtls-//'
}

build() {
  export CFLAGS+=' -ffat-lto-objects'
  cmake -S mbedtls -B build -G Ninja \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_INCLUDEDIR=include/mbedtls2 \
    -DCMAKE_INSTALL_LIBDIR=lib/mbedtls2 \
    -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
    -DCMAKE_SKIP_RPATH=ON \
    -DENABLE_PROGRAMS=OFF \
    -DMBEDTLS_FATAL_WARNINGS=OFF \
    -DUSE_SHARED_MBEDTLS_LIBRARY=ON \
    -DUSE_STATIC_MBEDTLS_LIBRARY=OFF \
    -Wno-dev
  cmake --build build
}

package() {
  DESTDIR="${pkgdir}" cmake --install build
  install -dm 755 "${pkgdir}"/usr/include/mbedtls2
  mv "${pkgdir}"/usr/include/{everest,mbedtls,psa} "${pkgdir}"/usr/include/mbedtls2/
  mv "${pkgdir}"/usr/lib/mbedtls2/*.so.* "${pkgdir}"/usr/lib/
  ln -sf ../libmbedcrypto.so.7 "${pkgdir}"/usr/lib/mbedtls2/libmbedcrypto.so
  ln -sf ../libmbedtls.so.14 "${pkgdir}"/usr/lib/mbedtls2/libmbedtls.so
  ln -sf ../libmbedx509.so.1 "${pkgdir}"/usr/lib/mbedtls2/libmbedx509.so
}
