# Maintainer: Nazar Mishturak _realname=mbedtls pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.6.5 pkgrel=1 pkgdesc="Portable cryptographic and SSL/TLS library, aka polarssl (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') 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}-cc-libs" "${MINGW_PACKAGE_PREFIX}-libwinpthread") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-${pkgver}/mbedtls-${pkgver}.tar.bz2" '0001-mbedtls-pkgconfig-add-bcrypt.patch' 'enable-features.patch') sha256sums=('4a11f1777bb95bf4ad96721cac945a26e04bf19f57d905f241fe77ebeddf46d8' '52e951aab864c2a4616214bb72f29d5b9558f58c8b8ccc0ef2acb8d6ada65d9c' '8198722473c24d4d7005d24d1ac0cf76df23a9d783ce48a205ad5b4ed782b04c') 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 \ 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_DLL_NAME_WITH_SOVERSION=ON \ -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" }