# Maintainer: Nazar Mishturak _realname=mbedtls pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.5.2 pkgrel=2 pkgdesc="Portable cryptographic and SSL/TLS library, aka polarssl (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64') url='https://www.trustedfirmware.org/projects/mbed-tls/' msys2_repository_url="https://github.com/ARMmbed/mbedtls" msys2_references=( 'archlinux: mbedtls' "cpe: cpe:/a:arm:mbed_tls" ) license=('spdx:Apache-2.0') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libwinpthread") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("https://github.com/ARMmbed/mbedtls/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" "https://github.com/Mbed-TLS/mbedtls/commit/a4d17b34f354557838e05d2cb47200e8dcaaf59b.patch" "https://github.com/Mbed-TLS/mbedtls/commit/aab7f7f517c01e8d21ff0fb72fdd10378f5a0073.patch" '0001-mbedtls-pkgconfig-add-bcrypt.patch' 'enable-features.patch') sha256sums=('35890edf1a2c7a7e29eac3118d43302c3e1173e0df0ebaf5db56126dabe5bb05' 'bcb05d33186ef37ee46237fe22abc78982300121c6e70b3502766dd4013ffabe' 'd5e628142d44fb3798dab756c32fd1904391e5639f47cabaa6b4356d7cad6610' '52e951aab864c2a4616214bb72f29d5b9558f58c8b8ccc0ef2acb8d6ada65d9c' 'e8ccbbdb60323ebb9f25aa54b1e7b60b5d2f17d30d27dd20c349951fe55dd620') apply_patch_with_msg() { for _patch in "$@" do msg2 "Applying ${_patch}" patch -Nbp1 -i "${srcdir}/${_patch}" done } prepare() { cd "${srcdir}/${_realname}-${pkgver}" apply_patch_with_msg \ a4d17b34f354557838e05d2cb47200e8dcaaf59b.patch \ aab7f7f517c01e8d21ff0fb72fdd10378f5a0073.patch \ 0001-mbedtls-pkgconfig-add-bcrypt.patch \ enable-features.patch } build() { mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" declare -a _extra_config if check_option "debug" "n"; then _extra_config+=("-DCMAKE_BUILD_TYPE=Release") else _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi CXXFLAGS+=" -Wno-documentation" \ MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ "${_extra_config[@]}" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DPython3_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \ -DENABLE_PROGRAMS=ON \ -DENABLE_TESTING=OFF \ -DMBEDTLS_FATAL_WARNINGS=OFF \ -DUSE_SHARED_MBEDTLS_LIBRARY=ON \ -DUSE_STATIC_MBEDTLS_LIBRARY=ON \ -DLINK_WITH_PTHREAD=ON \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake.exe --build ./ } check() { cd "${srcdir}/build-${MSYSTEM}" ${MINGW_PREFIX}/bin/cmake.exe \ -DENABLE_TESTING=ON \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake.exe --build . # Tests are dynamically linked PATH=$PWD/library:$PATH ${MINGW_PREFIX}/bin/ctest || true } package () { cd "${srcdir}/build-${MSYSTEM}" DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake.exe --install . # rename generic utils local _prog _baseprog for _prog in "$pkgdir${MINGW_PREFIX}"/bin/*.exe; do _baseprog=$(basename "$_prog") mv "$_prog" "${_prog//$_baseprog/mbedtls_$_baseprog}" done install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }