diff --git a/mingw-w64-mimalloc/PKGBUILD b/mingw-w64-mimalloc/PKGBUILD new file mode 100644 index 0000000000..56bdf7c251 --- /dev/null +++ b/mingw-w64-mimalloc/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Ranieri Althoff +# Contributor (MSYS2): Rafal Brzegowy + +_realname=mimalloc +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=2.0.3 +pkgrel=1 +pkgdesc='General-purpose allocator with excellent performance characteristics (mingw-w64)' +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') +license=('MIT') +url='https://github.com/microsoft/mimalloc' +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +makedepends=("${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-cmake") +source=("https://github.com/microsoft/${_realname}/archive/refs/tags/v${pkgver}.tar.gz") +sha256sums=('5AF497F360879BF9D07A5146961D275A25F4177FBE21EE6C437DB604422ACD60') + +build() { + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + + export=WIN32 + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake --build . +} + +package() { + cd "${srcdir}/build-${MSYSTEM}" + DESTDIR=${pkgdir} cmake --build . --target install + install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE + + #Temporary fix: The DLL gets installed to ../lib/libmimalloc.dll instead of ../bin/libmimalloc.dll + mkdir -p ${pkgdir}${MINGW_PREFIX}/bin/mimalloc-2.0 + mv ${pkgdir}${MINGW_PREFIX}/lib/mimalloc-2.0/*.dll ${pkgdir}${MINGW_PREFIX}/bin/mimalloc-2.0 +}