mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-23 19:25:25 +03:00
107 lines
3 KiB
Text
107 lines
3 KiB
Text
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
|
# Contributor: Nicolas Lorin <androw95220@gmail.com>
|
|
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
|
|
pkgname=mimalloc1
|
|
_projname=mimalloc
|
|
pkgver=1.7.9
|
|
pkgrel=0
|
|
_pkgdesc="A compact general purpose allocator with excellent performance"
|
|
pkgdesc="$_pkgdesc (in secure mode)"
|
|
url="https://github.com/microsoft/mimalloc"
|
|
# ppc64le: tests segfault in secure mode
|
|
arch="all !ppc64le"
|
|
license="MIT"
|
|
makedepends="cmake samurai"
|
|
provides="mimalloc=$pkgver-r$pkgrel"
|
|
subpackages="
|
|
$pkgname-dev
|
|
$pkgname-insecure
|
|
$pkgname-debug
|
|
"
|
|
source="https://github.com/microsoft/mimalloc/archive/v$pkgver/$_projname-$pkgver.tar.gz
|
|
cmake-add-insecure-suffix.patch
|
|
"
|
|
builddir="$srcdir/$_projname-$pkgver"
|
|
|
|
_buildtypes='debug insecure secure'
|
|
|
|
build() {
|
|
# https://github.com/microsoft/mimalloc/issues/597
|
|
export CFLAGS="$CFLAGS -D__USE_ISOC11"
|
|
_build out/debug -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
|
|
|
|
# This is called "release" build by upstream.
|
|
_build out/insecure -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=OFF
|
|
|
|
_build out/secure -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON
|
|
}
|
|
|
|
_build() {
|
|
local outdir="$1"; shift
|
|
|
|
local crossopts=
|
|
[ "$CBUILD" = "$CHOST" ] \
|
|
|| crossopts='-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux'
|
|
|
|
CFLAGS=${CFLAGS/-Os/} cmake -B "$outdir" -G Ninja \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
|
-DMI_INSTALL_TOPLEVEL=ON \
|
|
$crossopts \
|
|
"$@" .
|
|
cmake --build "$outdir"
|
|
}
|
|
|
|
check() {
|
|
local btype; for btype in $_buildtypes; do
|
|
msg "Testing $btype build"
|
|
|
|
cd "$builddir"/out/$btype
|
|
CTEST_OUTPUT_ON_FAILURE=TRUE ctest --timeout 300
|
|
done
|
|
}
|
|
|
|
package() {
|
|
local btype; for btype in $_buildtypes; do
|
|
DESTDIR="$pkgdir" cmake --install out/$btype
|
|
done
|
|
|
|
cd "$pkgdir"
|
|
ln -s libmimalloc-secure.so usr/lib/libmimalloc.so
|
|
ln -s libmimalloc-secure.so.${pkgver%%.*} usr/lib/libmimalloc.so.${pkgver%%.*}
|
|
ln -s libmimalloc-secure.so.${pkgver%.*} usr/lib/libmimalloc.so.${pkgver%.*}
|
|
ln -s libmimalloc-secure.a usr/lib/libmimalloc.a
|
|
|
|
sed 's/-secure/-insecure/g' usr/lib/cmake/mimalloc/mimalloc-release.cmake \
|
|
> usr/lib/cmake/mimalloc/mimalloc-insecure.cmake
|
|
mv usr/lib/cmake/mimalloc/mimalloc-release.cmake usr/lib/cmake/mimalloc/mimalloc-secure.cmake
|
|
ln -s mimalloc-secure.cmake usr/lib/cmake/mimalloc/mimalloc-release.cmake
|
|
|
|
rm -f usr/lib/*.o
|
|
}
|
|
|
|
dev() {
|
|
provides="mimalloc-dev=$pkgver-r$pkgrel"
|
|
|
|
default_dev
|
|
}
|
|
|
|
insecure() {
|
|
pkgdesc="$_pkgdesc (in insecure mode)"
|
|
provides="mimalloc-insecure=$pkgver-r$pkgrel"
|
|
|
|
amove usr/lib/libmimalloc-insecure.*
|
|
}
|
|
|
|
debug() {
|
|
pkgdesc="$_pkgdesc (debug build)"
|
|
provides="mimalloc-debug=$pkgver-r$pkgrel"
|
|
options="!strip"
|
|
|
|
amove usr/lib/libmimalloc-debug.*
|
|
}
|
|
|
|
sha512sums="
|
|
f2e36dc2b58440356a50a521aa23400f0dae3d4d68fa45f194e35128423a7908829aea3c46ff652fa509e990687f2e88d74931f4969b5e17ee918eba46d3d23f mimalloc-1.7.9.tar.gz
|
|
9cfaa68a6dcf377a52a60e37a1e83f81fc9ba94afb55f10bb089e24561e791c318e7e0860c17944ef2aaa11546a32fa4a3510afe3aefefcc0a393dc2f334ef3d cmake-add-insecure-suffix.patch
|
|
"
|