aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/memkind/Manifest1
-rw-r--r--dev-libs/memkind/memkind-1.10.1.ebuild54
-rw-r--r--dev-libs/memkind/memkind-9999.ebuild54
-rw-r--r--dev-libs/memkind/metadata.xml20
4 files changed, 129 insertions, 0 deletions
diff --git a/dev-libs/memkind/Manifest b/dev-libs/memkind/Manifest
new file mode 100644
index 000000000..e3a69c087
--- /dev/null
+++ b/dev-libs/memkind/Manifest
@@ -0,0 +1 @@
+DIST memkind-1.10.1.tar.gz 1031155 BLAKE2B f51f4011cba5a28ad41d54d5c2c64314ff3d190ac537f0dc7fad9f38198c77fb22963df7ddeb2d95ac5810db00b90622c3e975977c9be78e2a708dc7e0142384 SHA512 9fa2eed4e07d0316ee97fcdb594df4fe2e5cf44a509f658a78986aad9b4f56a9c8fbe281073b93ba3c2870734167ad29b8643d69757733fdce25e45e6f0015a0
diff --git a/dev-libs/memkind/memkind-1.10.1.ebuild b/dev-libs/memkind/memkind-1.10.1.ebuild
new file mode 100644
index 000000000..7aa39135a
--- /dev/null
+++ b/dev-libs/memkind/memkind-1.10.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools linux-info
+
+DESCRIPTION="user extensible heap manager built on top of jemalloc"
+HOMEPAGE="https://memkind.github.io/memkind/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/memkind/memkind"
+else
+ SRC_URI="https://github.com/memkind/memkind/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+heap-manager openmp secure +tls"
+RESTRICT="test"
+
+DEPEND="
+ sys-apps/ndctl
+ sys-process/numactl
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+ cd jemalloc && eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-silent-rules
+ --enable-shared
+ --enable-static
+ --enable-daxctl
+ $(use_enable heap-manager)
+ $(use_enable openmp)
+ $(use_enable secure)
+ $(use_enable tls)
+ )
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ addwrite /proc/sys/vm/nr_hugepages
+ echo 3000 > /proc/sys/vm/nr_hugepages
+ emake check
+}
diff --git a/dev-libs/memkind/memkind-9999.ebuild b/dev-libs/memkind/memkind-9999.ebuild
new file mode 100644
index 000000000..7aa39135a
--- /dev/null
+++ b/dev-libs/memkind/memkind-9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools linux-info
+
+DESCRIPTION="user extensible heap manager built on top of jemalloc"
+HOMEPAGE="https://memkind.github.io/memkind/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/memkind/memkind"
+else
+ SRC_URI="https://github.com/memkind/memkind/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+heap-manager openmp secure +tls"
+RESTRICT="test"
+
+DEPEND="
+ sys-apps/ndctl
+ sys-process/numactl
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+ cd jemalloc && eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-silent-rules
+ --enable-shared
+ --enable-static
+ --enable-daxctl
+ $(use_enable heap-manager)
+ $(use_enable openmp)
+ $(use_enable secure)
+ $(use_enable tls)
+ )
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ addwrite /proc/sys/vm/nr_hugepages
+ echo 3000 > /proc/sys/vm/nr_hugepages
+ emake check
+}
diff --git a/dev-libs/memkind/metadata.xml b/dev-libs/memkind/metadata.xml
new file mode 100644
index 000000000..c61ea0932
--- /dev/null
+++ b/dev-libs/memkind/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@aisha.cc</email>
+ <name>Aisha Tammy</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">memkind/memkind</remote-id>
+ </upstream>
+ <use>
+ <flag name="heap-manager">Allow switching allocator at runtime</flag>
+ <flag name="secure">Build libraries with security enhancements</flag>
+ <flag name="tls">Enable thread local storage</flag>
+ </use>
+</pkgmetadata>