diff --git a/sys-cluster/nanox/Manifest b/sys-cluster/nanox/Manifest
index c23f35be7d..e7287fb88d 100644
--- a/sys-cluster/nanox/Manifest
+++ b/sys-cluster/nanox/Manifest
@@ -1 +1 @@
-DIST nanox-0.15_p20210222.tar.gz 1185393 BLAKE2B 8837221120cd2fd61ef3f02c6e382f3ca5533e64054447b57e11878f31310e556f28c440e22a9cbb031ee4f67ee6bca7715e6faa45c18c1943391933802f6564 SHA512 1155c9ff0885014900fddfd3d410bed2b8551c90b44aaf90e8bf3c0c866b9b41e2a812bed27592f8f55b728c65f1d091d211574f1186109c787eab3f94a9789a
+DIST nanox-0.15_p20210818.tar.gz 1185402 BLAKE2B e390f1780d6f2c68e08cf8784bfb37da777e86b2790dc056f79fefd68b36e7b321b2fb865137e4fe7d5c2d10e7b094cf0abdcb3e65c0122c6e38b81de39d9a4a SHA512 7cc897291a050588a9b0e9b5a42fff2e75baf6ac6a2ca9dabb6ad7a38eeb5f3d9542cc4052b3cdd812e8ce45d2f1d5409216f690c8c6fae55aa13859dfa328e6
diff --git a/sys-cluster/nanox/files/nanox-no-jemalloc.patch b/sys-cluster/nanox/files/nanox-no-jemalloc.patch
deleted file mode 100644
index f7a4b1c2a1..0000000000
--- a/sys-cluster/nanox/files/nanox-no-jemalloc.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/m4/ax_check_memkind.m4
-+++ b/m4/ax_check_memkind.m4
-@@ -25,17 +25,10 @@
- # DESCRIPTION
- #
- # Check whether Memkind path to the headers and libraries are correctly specified.
--# Also checks Jemalloc library availability (required by libmemkind).
- #
-
- AC_DEFUN([AX_CHECK_MEMKIND],[
-
--AC_ARG_WITH(jemalloc,
--[AS_HELP_STRING([--with-jemalloc,--with-jemalloc=PATH],
-- [search in system directories or specify prefix directory for installed jemalloc package.])],
--[],
--[with_jemalloc=no])
--
- AC_ARG_WITH(memkind,
- [AS_HELP_STRING([--with-memkind,--with-memkind=PATH],
- [search in system directories or specify prefix directory for installed memkind package.])],
-@@ -45,7 +38,7 @@
- AS_IF([test "$with_memkind" != no],[
-
- memkindinc=-I$with_memkind/include
-- memkindlib="-L$with_jemalloc/lib -Wl,-rpath,$with_jemalloc/lib -L$with_memkind/lib -Wl,-rpath,$with_memkind/lib"
-+ memkindlib="-L$with_memkind/lib -Wl,-rpath,$with_memkind/lib"
-
- AC_LANG_PUSH([C++])
-
-@@ -54,16 +47,6 @@
- AX_VAR_PUSHVALUE([LDFLAGS],[$LDFLAGS $memkindlib])
- AX_VAR_PUSHVALUE([LIBS],[])
-
-- AC_SEARCH_LIBS([je_malloc], [jemalloc], [
-- jemalloc=yes
-- ],[
-- AC_SEARCH_LIBS([jemk_malloc], [jemalloc],
-- [jemalloc=yes],
-- [jemalloc=no])
-- ])
--
-- AS_IF([test "$jemalloc" = yes],[
--
- AC_CHECK_HEADERS([memkind.h],
- [memkind=yes],
- [memkind=no])
-@@ -74,14 +57,6 @@
- [memkind=no])
- ])dnl
-
-- ],[
-- AC_MSG_ERROR([
--------------------------------
--Could not find libjemalloc (required by memkind)
--Please, check that the provided directories are correct.
--------------------------------])
-- ])dnl
--
- AS_IF([test "$memkind" = yes],[
- AC_DEFINE([MEMKIND_SUPPORT],[],[Enables memkind support])
- ],[
diff --git a/sys-cluster/nanox/metadata.xml b/sys-cluster/nanox/metadata.xml
index 94aba73049..d1592a53aa 100644
--- a/sys-cluster/nanox/metadata.xml
+++ b/sys-cluster/nanox/metadata.xml
@@ -19,14 +19,16 @@ The main purpose of Nanos++ RTL is to be used in research of parallel programmin
Enables Allocator module
Enables ayudame support from sys-cluster/temanejo
- Enable generation of debug version
build with sys-cluster/dlb library support
build with sys-cluster/extrae support
Enable sys-cluster/gasnet support
Enable sys-apps/hwloc support
- Enable generation of instrumentation version
Enables dev-libs/memkind support
Enables Memtracker module
+ Enable generation of debug version
+ Enable generation of instrumentation version
+ Enable generation of instrumentation-debug version
+ Enable generation of performance version
Enables openCL support
enable dev-libs/papi support
Enables task-level resiliency
diff --git a/sys-cluster/nanox/nanox-0.15_p20210222.ebuild b/sys-cluster/nanox/nanox-0.15_p20210818.ebuild
similarity index 68%
rename from sys-cluster/nanox/nanox-0.15_p20210222.ebuild
rename to sys-cluster/nanox/nanox-0.15_p20210818.ebuild
index 023bc14c98..7759978471 100644
--- a/sys-cluster/nanox/nanox-0.15_p20210222.ebuild
+++ b/sys-cluster/nanox/nanox-0.15_p20210818.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-COMMIT="2220ba975b0d4173512749141498083dd3999bd0"
+COMMIT="a9df6936128ebe10374350c719a0fba74bc89803"
DOCS_BUILDER="doxygen"
DOCS_CONFIG_NAME="doxy-nanox"
DOCS_DIR="doc"
@@ -21,7 +21,14 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="allocator ayudame debug dlb +extrae gasnet +instrumentation hwloc memkind memtracker mpi opencl papi sqlite resiliency task-callback +threads"
+IUSE_NANOX="
+ nanox-debug
+ +nanox-instrumentation
+ nanox-instrumentation-debug
+ +nanox-performance
+"
+IUSE_EXPAND="NANOX"
+IUSE="${IUSE_NANOX} allocator ayudame dlb +extrae gasnet hwloc memkind memtracker mpi opencl papi sqlite resiliency task-callback +threads"
CDEPEND="
ayudame? ( sys-cluster/temanejo )
@@ -43,11 +50,12 @@ DEPEND="
opencl? ( dev-util/opencl-headers )
"
-PATCHES=(
- "${FILESDIR}/${PN}-no-jemalloc.patch"
- "${FILESDIR}/${PN}-no-Werror.patch"
-)
-REQUIRED_USE="instrumentation? ( extrae )"
+PATCHES=( "${FILESDIR}/${PN}-no-Werror.patch" )
+REQUIRED_USE="
+ ^^ ( ${IUSE_NANOX//+/} )
+ nanox-instrumentation? ( extrae )
+ nanox-instrumentation-debug? ( extrae )
+"
src_prepare() {
default
@@ -64,25 +72,35 @@ src_configure() {
--enable-performance
--enable-shared
--without-cellsdk
+ --without-chapel
--without-cuda
--without-mcc
+ --without-nextsim
--without-xdma
$(use_enable allocator)
- $(use_enable debug)
- $(use_enable instrumentation)
$(use_enable memtracker)
+ $(use_enable nanox-debug debug)
+ $(use_enable nanox-instrumentation instrumentation)
+ $(use_enable nanox-instrumentation-debug instrumentation-debug)
+ $(use_enable nanox-performance performance)
$(use_enable resiliency)
$(use_enable task-callback)
$(use_enable threads ult)
- $(use_with dlb)
$(use_with opencl)
)
- use ayudame && myconf+=( "--with-ayudame=${EPREFIX}/usr" )
- use hwloc && myconf+=( "--with-hwloc=${EPREFIX}/usr" )
- use debug && use instrumentation && myconf+=( "--enable-instrumentation-debug" )
+ if use ayudame; then
+ myconf+=( "--with-ayudame=${EPREFIX}/usr" )
+ else
+ myconf+=( "--without-ayudame" )
+ fi
+ if use dlb; then
+ myconf+=( "--with-dlb=${EPREFIX}/usr" )
+ else
+ myconf+=( "--without-dlb" )
+ fi
if use extrae; then
myconf+=( "--with-extrae=${EPREFIX}/usr" )
else
@@ -93,6 +111,11 @@ src_configure() {
else
myconf+=( "--without-gasnet" )
fi
+ if use hwloc; then
+ myconf+=( "--with-hwloc=${EPREFIX}/usr" )
+ else
+ myconf+=( "--without-hwloc" )
+ fi
if use memkind; then
myconf+=( "--with-memkind=${EPREFIX}/usr" )
else
@@ -117,9 +140,6 @@ src_configure() {
econf "${myconf[@]}"
}
-# --without-chapel
-# --without-nextsim
-
src_compile() {
default
docs_compile