2025-09-20 23:20:52 +02:00

96 lines
3.1 KiB
Bash

# Maintainer: Biswapriyo Nath <nathbappai@gmail.com>
_realname=aws-c-common
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.12.5
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}-cc-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=('02d1ab905d43a33008a63f273b27dbe4859e9f090eac6f0e3eeaf8c64a083937'
'38795262538e162465216e1dd22c25e3308391d0773e58847e3680eafd03831f')
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"
}