commit:     12159ad28ed7d83cdee11e9b76dfc87480a4693f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 29 21:36:02 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 22:22:32 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12159ad2

dev-libs/mimalloc: initial import

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/mimalloc/Manifest                         |  1 +
 .../files/mimalloc-1.7.2-GNUInstallDirs.patch      | 29 ++++++++++++++++++++
 dev-libs/mimalloc/metadata.xml                     | 11 ++++++++
 dev-libs/mimalloc/mimalloc-1.7.2.ebuild            | 32 ++++++++++++++++++++++
 4 files changed, 73 insertions(+)

diff --git a/dev-libs/mimalloc/Manifest b/dev-libs/mimalloc/Manifest
new file mode 100644
index 00000000000..327db3621b9
--- /dev/null
+++ b/dev-libs/mimalloc/Manifest
@@ -0,0 +1 @@
+DIST mimalloc-1.7.2.tar.gz 903317 BLAKE2B 
6983a575c8e3a9ee92acc0042bc229805b7090794de6e693ff1cc344cd50e333d46f23663fbd16647ae4442b28f24bdc2043b46ed2bc16e13c3f8def08b155bb
 SHA512 
5d78c5cc00dfff3dd7eb4bb59e8eff32397f5110d1183b4656cb56c40b88e2e648e3b18338119412b95ba9526937b16fce3aa4732f241a61a546e2bcea1efc9d

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 00000000000..99b86f31126
--- /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 <m...@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 00000000000..07fc15aa3a0
--- /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>s...@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 00000000000..33efb631d03
--- /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
+}

Reply via email to