# Maintainer: Biswapriyo Nath _realname=aws-c-common pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=0.9.13 pkgrel=1 pkgdesc="Core c99 package for AWS SDK for C. Includes cross-platform primitives, configuration, data structures, and error handling (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://github.com/awslabs/aws-c-common" msys2_reference=( 'archlinux: aws-c-common' ) license=('spdx:Apache-2.0') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") conflicts=("${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp<1.8.149") source=("${url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" 001-fix-build-on-mingw-aarch64.patch) sha256sums=('6d2044fc58e5d7611610976602f3fc2173676726b00eed026526962c599ece1d' '557d98a656070bb9b15112c36c1fbc4162bbc100e1b211c97807ca99f431dd3d') noextract=("${_realname}-${pkgver}.tar.gz") prepare() { tar -xf "${srcdir}/${_realname}-${pkgver}.tar.gz" -C "${srcdir}" 2>/dev/null || true cd "${srcdir}/${_realname}-${pkgver}" patch -p1 -i "${srcdir}"/001-fix-build-on-mingw-aarch64.patch # Workaround for build failure in clang due to non-ascii file names rm -f tests/resources/* || true } build() { declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") else extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static" CFLAGS+=" -Wno-format" \ MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_TESTING=OFF \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake.exe --build ./ mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared" CFLAGS+=" -Wno-format" \ MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTING=OFF \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake.exe --build ./ } check() { cd "${srcdir}/build-${MSYSTEM}-static" ${MINGW_PREFIX}/bin/cmake -DBUILD_TESTING=ON ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake --build . ${MINGW_PREFIX}/bin/ctest.exe ./ || warning "Tests failed" cd "${srcdir}/build-${MSYSTEM}-shared" ${MINGW_PREFIX}/bin/cmake -DBUILD_TESTING=ON ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake --build . PATH=$PWD:$PATH ${MINGW_PREFIX}/bin/ctest.exe ./ || warning "Tests failed" } package() { cd "${srcdir}/build-${MSYSTEM}-static" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ cd "${srcdir}/build-${MSYSTEM}-shared" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ cd "${srcdir}/${_realname}-${pkgver}" install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }