LIU Hao a2e49aa2b7
mcfgthread: Update to 2.2.1 (#25593)
Signed-off-by: LIU Hao <lh_mouse@126.com>
2025-09-19 10:27:20 +01:00

80 lines
2.3 KiB
Bash

# Maintainer: LH_Mouse <lh_mouse@126.com>
_realname=mcfgthread
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-${_realname}"-libs)
pkgver=2.2.1
pkgrel=1
pkgdesc="An efficient gthread implementation, providing C++11 threading support (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/lhmouse/mcfgthread"
license=('spdx:LGPL-3.0-or-later WITH GCC-exception-3.1')
options=('!buildflags')
makedepends=(
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-crt"
"${MINGW_PACKAGE_PREFIX}-headers"
"git"
)
source=("git+https://github.com/lhmouse/mcfgthread.git#tag=v${pkgver%.*}-ga.${pkgver##*.}")
sha256sums=('939f830db452a649f51838bdcae22d606dda1cb21b744cd53905fb384a07c7d9')
build() {
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
MSYS2_ARG_CONV_EXCL="--prefix=" \
meson setup \
--prefix="${MINGW_PREFIX}" \
-Dbuildtype=plain \
-Dc_args='-Os -g' \
-Dc_link_args='-Os' \
. \
../${_realname}
# Build the DLL first, as Meson creates the DLL in the working directory,
# which might get picked up by cc1.exe when it is only half-baked.
ninja libmcfgthread-${pkgver%%.*}.dll
meson compile
rm -rf "${srcdir}${MINGW_PREFIX}"
DESTDIR="${srcdir}" meson install
}
check() {
cd "${srcdir}/build-${MSYSTEM}"
meson test
}
package_mcfgthread() {
pkgdesc+=" (devel)"
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-libs=${pkgver}")
mkdir -p "${pkgdir}${MINGW_PREFIX}"
cd "${srcdir}${MINGW_PREFIX}"
cp --parents -r include -t "${pkgdir}${MINGW_PREFIX}"
cp --parents -r lib -t "${pkgdir}${MINGW_PREFIX}"
}
package_mcfgthread-libs() {
pkgdesc+=" (libs)"
mkdir -p "${pkgdir}${MINGW_PREFIX}"
cd "${srcdir}${MINGW_PREFIX}"
cp --parents -r bin/libmcfgthread-${pkgver%%.*}.dll -t "${pkgdir}${MINGW_PREFIX}"
cp --parents -r bin/libmcfgthread-minimal-${pkgver%%.*}.dll -t "${pkgdir}${MINGW_PREFIX}"
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;