summaryrefslogtreecommitdiff
path: root/dev-libs/mimalloc
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/mimalloc')
-rw-r--r--dev-libs/mimalloc/Manifest4
-rw-r--r--dev-libs/mimalloc/files/mimalloc-1.7.2-GNUInstallDirs.patch29
-rw-r--r--dev-libs/mimalloc/metadata.xml11
-rw-r--r--dev-libs/mimalloc/mimalloc-1.7.2.ebuild32
4 files changed, 76 insertions, 0 deletions
diff --git a/dev-libs/mimalloc/Manifest b/dev-libs/mimalloc/Manifest
new file mode 100644
index 000000000000..943181d5d7e4
--- /dev/null
+++ b/dev-libs/mimalloc/Manifest
@@ -0,0 +1,4 @@
+AUX mimalloc-1.7.2-GNUInstallDirs.patch 1230 BLAKE2B c5fea7af513b0db45be93861ee6f9eefaa8666645ece9c9112adcc34b17d7578503d7409cd6b4005e1c635d7db86755cf4de078966ced0eb0eb7cd29492f604f SHA512 a847164cbe7b64345b09a455bd6776249b697ec2b2222751f0dd96d87252b8bff0182626de1a4b96aa525861c181101f80950cafb18a782cd7af10d50c2d1db5
+DIST mimalloc-1.7.2.tar.gz 903317 BLAKE2B 6983a575c8e3a9ee92acc0042bc229805b7090794de6e693ff1cc344cd50e333d46f23663fbd16647ae4442b28f24bdc2043b46ed2bc16e13c3f8def08b155bb SHA512 5d78c5cc00dfff3dd7eb4bb59e8eff32397f5110d1183b4656cb56c40b88e2e648e3b18338119412b95ba9526937b16fce3aa4732f241a61a546e2bcea1efc9d
+EBUILD mimalloc-1.7.2.ebuild 693 BLAKE2B b6905afe48c8674e813f55027b3f68371a04d9106759167de2bf58324c4a28494155f2a1df904ce200c5f72a3e31f54b6436a3b9fd42c65756297e45834d91bb SHA512 974885203bc9374f10025401e3d47d709128000893de0f0164eac18fdc8149986af95e74617574b4fd4fa6d3859b3361d2668797504678f765755c79664479b9
+MISC metadata.xml 322 BLAKE2B 811930d7bd9b6240b866a9a8e90ff6b4d48ba7e985c61cb475c8b8de67265d8f9b7317a84191cf5b5a9961e130e792b6cfbbdd3cbebe9e3d9128a7a5bcfaaf49 SHA512 b9b3bdc237c9a9f362f90ff72888f5bed80385d3acd27cc1a4c9bcd89939ce3a45593c51481a6529a9aac25a86726e1a0362ce2094e11dce555175e656c293d1
diff --git a/dev-libs/mimalloc/files/mimalloc-1.7.2-GNUInstallDirs.patch b/dev-libs/mimalloc/files/mimalloc-1.7.2-GNUInstallDirs.patch
new file mode 100644
index 000000000000..99b86f311264
--- /dev/null
+++ b/dev-libs/mimalloc/files/mimalloc-1.7.2-GNUInstallDirs.patch
@@ -0,0 +1,29 @@
+https://github.com/microsoft/mimalloc/pull/463
+
+From: Yaroslav Syrytsia <me@ys.lc>
+Date: Tue, 28 Sep 2021 20:34:56 +0300
+Subject: [PATCH] cmake: removed hardcoded names for top level configuration
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,6 +24,7 @@ option(MI_DEBUG_UBSAN "Build with undefined-behavior sanitizer (needs clan
+ option(MI_CHECK_FULL "Use full internal invariant checking in DEBUG mode (deprecated, use MI_DEBUG_FULL instead)" OFF)
+ option(MI_INSTALL_TOPLEVEL "Install directly into $CMAKE_INSTALL_PREFIX instead of PREFIX/lib/mimalloc-version" OFF)
+
++include(GNUInstallDirs)
+ include("cmake/mimalloc-config-version.cmake")
+
+ set(mi_sources
+@@ -208,9 +209,9 @@ endif()
+ # -----------------------------------------------------------------------------
+
+ if (MI_INSTALL_TOPLEVEL)
+- set(mi_install_libdir "lib")
+- set(mi_install_incdir "include")
+- set(mi_install_cmakedir "cmake")
++ set(mi_install_libdir "${CMAKE_INSTALL_LIBDIR}")
++ set(mi_install_incdir "${CMAKE_INSTALL_INCLUDEDIR}")
++ set(mi_install_cmakedir "${CMAKE_INSTALL_LIBDIR}/cmake/mimalloc")
+ else()
+ set(mi_install_libdir "lib/mimalloc-${mi_version}")
+ set(mi_install_incdir "include/mimalloc-${mi_version}")
diff --git a/dev-libs/mimalloc/metadata.xml b/dev-libs/mimalloc/metadata.xml
new file mode 100644
index 000000000000..07fc15aa3a03
--- /dev/null
+++ b/dev-libs/mimalloc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">microsoft/mimalloc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/mimalloc/mimalloc-1.7.2.ebuild b/dev-libs/mimalloc/mimalloc-1.7.2.ebuild
new file mode 100644
index 000000000000..33efb631d03b
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-1.7.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="mimalloc is a compact general purpose allocator with excellent performance"
+HOMEPAGE="https://github.com/microsoft/mimalloc"
+SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.2-GNUInstallDirs.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ # TODO: build hardened variant?
+ #-DMI_SECURE=$(usex hardened)
+
+ -DMI_INSTALL_TOPLEVEL=ON
+ -DMI_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}