commit:     19c5c0a12bcd017f5daa0723de4eed982f08adee
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sat Jul 10 14:31:43 2021 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sat Jul 10 14:31:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=19c5c0a1

sys-cluster/extrae: add memkind and spectral

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 ...trae-3.8.3-r5.ebuild => extrae-3.8.3-r6.ebuild} | 42 ++++++++++++----------
 sys-cluster/extrae/metadata.xml                    |  3 +-
 2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/sys-cluster/extrae/extrae-3.8.3-r5.ebuild 
b/sys-cluster/extrae/extrae-3.8.3-r6.ebuild
similarity index 86%
rename from sys-cluster/extrae/extrae-3.8.3-r5.ebuild
rename to sys-cluster/extrae/extrae-3.8.3-r6.ebuild
index a221e2b61..4baf807be 100644
--- a/sys-cluster/extrae/extrae-3.8.3-r5.ebuild
+++ b/sys-cluster/extrae/extrae-3.8.3-r6.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( pypy3 python3_{8,9} )
+PYTHON_COMPAT=( pypy3 python3_{8..10} )
 
 inherit autotools java-pkg-opt-2 python-single-r1
 
@@ -14,25 +14,22 @@ 
SRC_URI="https://github.com/bsc-performance-tools/extrae/archive/${PV}.tar.gz ->
 LICENSE="LGPL-2.1"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="boost clustering doc dwarf elf fft heterogeneous inotify 
+instrument-dynamic-memory +instrument-io +instrument-syscall merge-in-trace 
nanos opencl openmp +parallel-merge pebs-sampling +posix-clock pthread sampling 
+single-mpi-lib sionlib smpss +xml"
+IUSE="boost clustering doc dwarf elf heterogeneous inotify 
+instrument-dynamic-memory
++instrument-io +instrument-syscall memkind merge-in-trace nanos opencl openmp 
+parallel-merge
+pebs-sampling +posix-clock pthread sampling +single-mpi-lib sionlib smpss 
spectral +xml"
+
 #aspectj and aspectj-weaver need to both be enabled at the same time
 #current dev-java/aspectj package only provides aspectj.jar
 #aspectj needs foo/lib/aspectj.jar and foo/bin/ajc
 #aspectj-weaver needs bar/aspectjweaver.jar
-#TODO: find out who is pulling in libpfm
-#TODO: find out which FFT library is used
-#TODO: remove some useflags (boost fft elf dwarf)
-#TODO: pmapi online dyninst cuda spectral cupti openshmem gm mx synapse 
memkind aspectj
+#TODO: remove some useflags (boost elf dwarf)
+#TODO: pmapi online dyninst cuda cupti openshmem gm mx synapse aspectj
 #TODO: support llvm libunwind, llvm rt, elftoolchain
 
 CDEPEND="
        ${PYTHON_DEPS}
-       app-arch/xz-utils
-       dev-libs/icu
-       dev-libs/libpfm
        dev-libs/libxml2
        dev-libs/papi
-       sys-apps/hwloc
        !<sys-cluster/openmpi-4.0.5-r1
        !>=sys-cluster/openmpi-4.0.5-r1[libompitrace]
        sys-libs/zlib
@@ -46,8 +43,13 @@ CDEPEND="
        dwarf? ( dev-libs/libdwarf )
        elf? ( virtual/libelf )
        inotify? ( dev-libs/libevent )
+       memkind? ( dev-libs/memkind )
        opencl? ( dev-util/opencl-headers )
        sionlib? ( sys-cluster/sionlib:= )
+       spectral? (
+               sci-libs/fftw
+               sys-cluster/spectral
+       )
 "
 #      aspectj? ( >=dev-java/aspectj-1.9.6 )
 DEPEND="
@@ -75,7 +77,6 @@ REQUIRED_USE="
 #      dyninst? ( boost dwarf elf )
 #      online? ( synapse )
 #      aspectj? ( java )
-#      spectral? ( fft )
 
 src_prepare() {
        default
@@ -105,9 +106,7 @@ src_configure() {
 
                --without-dyninst
                --without-cupti
-               --without-memkind
                --without-synapse
-               --without-spectral
                --without-openshmem
                --without-gm
                --without-mx
@@ -159,21 +158,28 @@ src_configure() {
        else
                myconf+=( "--without-elf" )
        fi
-       if use fft; then
-               myconf+=( "--with-fft=${EPREFIX}/usr" )
-       else
-               myconf+=( "--without-fft" )
-       fi
        if use java; then
                myconf+=( "--with-java-jdk=$(java-config -O)" )
        else
                myconf+=( "--without-java-jdk" )
        fi
+       if use memkind; then
+               myconf+=( "--with-memkind=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-memkind" )
+       fi
        if use opencl; then
                myconf+=( "--with-opencl=${EPREFIX}/usr" )
        else
                myconf+=( "--without-opencl" )
        fi
+       if use spectral; then
+               myconf+=( "--with-fft=${EPREFIX}/usr" )
+               myconf+=( "--with-spectral=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-fft" )
+               myconf+=( "--without-spectral" )
+       fi
 
        use sionlib && myconf+=( "--with-sionlib=${EPREFIX}/usr" )
 

diff --git a/sys-cluster/extrae/metadata.xml b/sys-cluster/extrae/metadata.xml
index 9c6006a1b..bcef4fe59 100644
--- a/sys-cluster/extrae/metadata.xml
+++ b/sys-cluster/extrae/metadata.xml
@@ -25,7 +25,6 @@ process). Extrae generates trace files that can be later 
visualized with sys-clu
                <flag name="dwarf">Build with 
<pkg>dev-libs/libdwarf</pkg></flag>
                <!--<flag name="dyninst">Build with dyninst</flag>-->
                <flag name="elf">Build with <pkg>virtual/libelf</pkg></flag>
-               <flag name="fft">Search for FFT package (which?)</flag>
                <flag name="heterogeneous">Enable support for heterogeneous 
tracing</flag>
                <flag name="inotify">Enable inotify support</flag>
                <flag name="instrument-dynamic-memory">Enables instrumentation 
for dynamic memory (malloc, free, realloc) calls</flag>
@@ -43,7 +42,7 @@ process). Extrae generates trace files that can be later 
visualized with sys-clu
                <flag name="posix-clock">Use POSIX clock (clock_gettime call) 
instead of low level timing routines. Use this option if the system where you 
install the instrumentation package modifies the frequency of its processors at 
runtime.</flag>
                <flag name="pthread">Enable support for tracing pthread 
library</flag>
                <flag name="sampling">Enable PAPI sampling support</flag>
-               <!--<flag name="spectral">This package enables support for 
on-line spectral analysis.</flag>-->
+               <flag name="spectral">This package enables support for on-line 
spectral analysis.</flag>
                <flag name="single-mpi-lib">Produces a single instrumentation 
library for MPI that contains both Fortran and C wrappers. Applications that 
call the MPI library from both C and Fortran languages need this flag to be 
enabled.</flag>
                <flag name="sionlib">Enable support for 
<pkg>sys-cluster/sionlib</pkg></flag>
                <flag name="smpss">Enable support for tracing 
SMP-superscalar</flag>

Reply via email to