commit:     083107b1546a15db147df96697e5f954a16a920d
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed Aug 18 00:37:17 2021 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Aug 18 02:22:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=083107b1

sys-cluster/paraver-kernel: initial import

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

 sys-cluster/paraver-kernel/Manifest                |   1 +
 ...kernel-4.9.0-fix-gcc-11-compilation-error.patch |  20 ++
 .../paraver-kernel-unbundle-libbsctools.patch      | 264 +++++++++++++++++++++
 sys-cluster/paraver-kernel/metadata.xml            |  19 ++
 .../paraver-kernel/paraver-kernel-4.9.0.ebuild     |  75 ++++++
 5 files changed, 379 insertions(+)

diff --git a/sys-cluster/paraver-kernel/Manifest 
b/sys-cluster/paraver-kernel/Manifest
new file mode 100644
index 000000000..db4733fe4
--- /dev/null
+++ b/sys-cluster/paraver-kernel/Manifest
@@ -0,0 +1 @@
+DIST paraver-kernel-4.9.0.tar.gz 2144621 BLAKE2B 
93cb6a751462ff0f39261e89fba11664ac07ff20f557e41a899cf958fa5bc7751bca5fc7d1bb3c734cb3ba60e84e7c113ed86641e985a807814b0be039a943ac
 SHA512 
efd781c2288e4b7ce847d6010fd79b83c9db32f5f9b4696009feaa56558aa1f20f86955e920dec6a6355377fe4cf09f9ed23caa55e63596dc0ebb289933cc149

diff --git 
a/sys-cluster/paraver-kernel/files/paraver-kernel-4.9.0-fix-gcc-11-compilation-error.patch
 
b/sys-cluster/paraver-kernel/files/paraver-kernel-4.9.0-fix-gcc-11-compilation-error.patch
new file mode 100644
index 000000000..a007d1b35
--- /dev/null
+++ 
b/sys-cluster/paraver-kernel/files/paraver-kernel-4.9.0-fix-gcc-11-compilation-error.patch
@@ -0,0 +1,20 @@
+From 6ed43d980aba622e27402efdaaf32591fcb72b02 Mon Sep 17 00:00:00 2001
+From: Eloy Martinez <eloy.marti...@bsc.es>
+Date: Wed, 30 Jun 2021 11:27:15 +0200
+Subject: [PATCH] Fixed GCC 11 compilation error
+
+---
+ api/recordlist.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/api/recordlist.h
++++ b/api/recordlist.h
+@@ -142,7 +142,7 @@ struct RLRecord
+ // r1 is less than r2?
+ struct ltrecord
+ {
+-  bool operator()( const RLRecord& r1, const RLRecord& r2 )
++  bool operator()( const RLRecord& r1, const RLRecord& r2 ) const
+   {
+     if ( r1.getTime() < r2.getTime() )
+       return true;

diff --git 
a/sys-cluster/paraver-kernel/files/paraver-kernel-unbundle-libbsctools.patch 
b/sys-cluster/paraver-kernel/files/paraver-kernel-unbundle-libbsctools.patch
new file mode 100644
index 000000000..f760dd06a
--- /dev/null
+++ b/sys-cluster/paraver-kernel/files/paraver-kernel-unbundle-libbsctools.patch
@@ -0,0 +1,264 @@
+--- a/api/eventlabels.cpp
++++ b/api/eventlabels.cpp
+@@ -24,11 +24,6 @@
+ 
+ #include "eventlabels.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverEventType.h"
+-#include "utils/pcfparser/old/ParaverEventValue.h"
+-#endif
+-
+ using namespace std;
+ 
+ const string EventLabels::unknownLabel = "Unknown";
+--- a/api/eventlabels.h
++++ b/api/eventlabels.h
+@@ -29,11 +29,7 @@
+ #include <map>
+ #include "paraverkerneltypes.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ using namespace libparaver;
+ 
+--- a/api/Makefile.am
++++ b/api/Makefile.am
+@@ -1,22 +1,7 @@
+-
+ pkglib_LTLIBRARIES = libparaver-api.la
+ 
+-
+-if MAKE_OLD_PCFPARSER
+-  PCFPARSER_FILES=  ../utils/pcfparser/old/LibException.cpp \
+-                    ../utils/pcfparser/old/ParaverEventType.cpp \
+-                    ../utils/pcfparser/old/ParaverEventValue.cpp \
+-                    ../utils/pcfparser/old/ParaverGradientColor.cpp \
+-                    ../utils/pcfparser/old/ParaverGradientNames.cpp \
+-                    ../utils/pcfparser/old/ParaverState.cpp \
+-                    ../utils/pcfparser/old/ParaverStatesColor.cpp \
+-                    ../utils/pcfparser/old/ParaverTraceConfig.cpp \
+-                    ../utils/pcfparser/old/ParaverTraceConfigGrammar.cpp 
+-else
+-  PCFPARSER_FILES=../utils/pcfparser/ParaverTraceConfig.cpp \
+-                  ../utils/pcfparser/UIParaverTraceConfig.cpp
+-endif
+-
++libparaver_api_la_LIBADD = -lparavertraceconfig
++libparaver_api_la_LDFLAGS = -lparavertraceconfig
+ 
+ libparaver_api_la_SOURCES = \
+                     cfg.cpp \
+@@ -53,8 +38,7 @@
+                     tracesoftwarecounters.cpp \
+                     window.cpp \
+                     workspace.cpp \
+-                    workspacemanager.cpp \
+-                    $(PCFPARSER_FILES)
++                    workspacemanager.cpp
+ 
+ include_HEADERS = \
+                   cfg.h\
+@@ -110,18 +94,6 @@
+                   traceeditstates.cpp\
+                   zoomhistory.cpp
+ 
+-install-data-hook:
+-      $(mkdir_p) $(DESTDIR)$(includedir)/utils/pcfparser
+-      cp -f ../utils/pcfparser/UIParaverTraceConfig.h 
$(DESTDIR)$(includedir)/utils/pcfparser
+-      cp -f ../utils/pcfparser/UIParaverTraceConfig.ipp 
$(DESTDIR)$(includedir)/utils/pcfparser
+-
+-      $(mkdir_p) $(DESTDIR)$(includedir)/utils/pcfparser/old
+-      cp -f ../utils/pcfparser/old/ParaverTraceConfig.h 
$(DESTDIR)$(includedir)/utils/pcfparser/old
+-
+-uninstall-hook:
+-      test -d $(DESTDIR)$(includedir)/utils/pcfparser && rm -rf 
$(DESTDIR)$(includedir)/utils/pcfparser
+-
+-
+ # Erases everything which should not be uploaded to CVS
+ mrproper: distclean
+       rm -fr Makefile.in
+--- a/api/paramedir.cpp
++++ b/api/paramedir.cpp
+@@ -54,11 +54,7 @@
+ #include "eventdrivencutter.h"
+ #include "eventtranslator.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ // PARAMEDIR OPTIONS
+ typedef struct TOptionParamedir
+--- a/api/statelabels.cpp
++++ b/api/statelabels.cpp
+@@ -24,10 +24,6 @@
+ 
+ #include "statelabels.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverState.h"
+-#endif
+-
+ using namespace std;
+ 
+ const string StateLabels::unknownLabel = "Unknown";
+--- a/api/statelabels.h
++++ b/api/statelabels.h
+@@ -28,11 +28,7 @@
+ #include <map>
+ #include "paraverkerneltypes.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ using namespace libparaver;
+ 
+--- a/api/trace.cpp
++++ b/api/trace.cpp
+@@ -24,13 +24,7 @@
+ #include "kernelconnection.h"
+ #include "trace.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#include "utils/pcfparser/old/ParaverStatesColor.h"
+-#include "utils/pcfparser/old/ParaverGradientColor.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ #include "progresscontroller.h"
+ #include <sstream>
+--- a/api/tracecutter.cpp
++++ b/api/tracecutter.cpp
+@@ -28,11 +28,7 @@
+ //#include "ktracecutter.h"
+ #include "kernelconnection.h"
+ 
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ using namespace libparaver;
+ 
+--- a/configure.ac
++++ b/configure.ac
+@@ -52,7 +52,6 @@
+ AC_CONFIG_HEADERS(config_traits.h)
+ AX_PROG_ENABLE_DEPENDENCIES_AWARE_INSTALL
+ AX_PROG_ENABLE_EXTENDED_OBJECTS
+-AX_PROG_ENABLE_OLD_PCFPARSER
+ AX_PROG_ENABLE_OMPSS
+ AX_PROG_ENABLE_OPENMP
+ AX_PROG_ENABLE_MINGW
+@@ -82,4 +81,4 @@
+ CXXFLAGS="-I../include/ -I../api/ -I../ -I../../ $CXXFLAGS $BOOST_CPPFLAGS 
$CXXFLAGS_EXTRAE $XML_CPPFLAGS $MINGW_CPPFLAGS -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE64_SOURCE -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS $BOOST_SERIALIZATION_LIB 
$BOOST_DATE_TIME_LIB $LDFLAGS_EXTRAE $BOOST_RPATH $XML_LIBS $MINGW_LIBS"
+ 
+-AC_OUTPUT([Makefile src/Makefile api/Makefile include/Makefile utils/Makefile 
utils/include/Makefile utils/src/Makefile utils/pcfparser/Makefile 
utils/pcfparser/old/Makefile])
++AC_OUTPUT([Makefile src/Makefile api/Makefile include/Makefile utils/Makefile 
utils/include/Makefile utils/src/Makefile])
+--- a/m4/macros.m4
++++ b/m4/macros.m4
+@@ -36,29 +36,6 @@
+ 
+ 
+ 
+-# AX_PROG_ENABLE_OLD_PCFPARSER
+-# ----------------------------
+-AC_DEFUN([AX_PROG_ENABLE_OLD_PCFPARSER],
+-[
+-   AC_ARG_ENABLE(old_pcfparser,
+-      AC_HELP_STRING(
+-         [--enable-old-pcfparser],
+-         [enable compilation with old pcfparser (default: disabled)]
+-      ),
+-      [enable_old_pcfparser="${enableval}"],
+-      [enable_old_pcfparser="no"]
+-   )
+-
+-   if test "${enable_old_pcfparser}" = "yes" ; then
+-      AC_MSG_NOTICE([Using old pcfparser.])
+-      AC_DEFINE([OLD_PCFPARSER], 1, [Old pcfparser enabled by user.])
+-   fi
+-
+-   AM_CONDITIONAL(MAKE_OLD_PCFPARSER, test "${enable_old_pcfparser}" = "yes" )
+-])
+-
+-
+-
+ # AX_PROG_ENABLE_OMPSS
+ # --------------------
+ AC_DEFUN([AX_PROG_ENABLE_OMPSS],
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -15,7 +15,7 @@
+       api/paramedir.cpp
+ 
+ paramedir_bin_LDADD = \
+-      -lz \
++      -lz -lparavertraceconfig \
+       api/libparaver-api.la \
+       src/libparaver-kernel.la
+ 
+--- a/src/ktraceeditactions.cpp
++++ b/src/ktraceeditactions.cpp
+@@ -42,11 +42,7 @@
+ #include "traceoptions.h"
+ #include "ParaverMetadataManager.h"
+ #include "ktrace.h"
+-#ifdef OLD_PCFPARSER
+-#include "utils/pcfparser/old/ParaverTraceConfig.h"
+-#else
+-#include "utils/pcfparser/UIParaverTraceConfig.h"
+-#endif
++#include "UIParaverTraceConfig.h"
+ 
+ using std::set;
+ 
+@@ -841,4 +837,4 @@
+   tmpSequence->executeNextAction( whichTrace );
+ 
+   return true;
+-}
+\ Manca newline alla fine del file
++}
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -58,7 +58,10 @@
+     traceeditblocks.cpp \
+     traceheaderexception.cpp\
+     tracestream.cpp
+-          
++
++libparaver_kernel_la_LIBADD = -lparavertraceconfig
++libparaver_kernel_la_LDFLAGS = -lparavertraceconfig
++
+ noinst_HEADERS = \
+     cell.cpp \
+     column.cpp \
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -1,6 +1,5 @@
+ SUBDIRS = \
+       include \
+-      pcfparser \
+       src
+ 
+ 

diff --git a/sys-cluster/paraver-kernel/metadata.xml 
b/sys-cluster/paraver-kernel/metadata.xml
new file mode 100644
index 000000000..b2e04beb0
--- /dev/null
+++ b/sys-cluster/paraver-kernel/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>lssndrbarbi...@gmail.com</email>
+               <name>Alessandro Barbieri</name>
+       </maintainer>
+       <use>
+               <flag name="extended-objects">Enable extra number of 
objects</flag>
+               <flag name="extrae">Enable extrae support</flag>
+               <flag name="ompss">Enable OmpSs parallel version</flag>
+               <flag name="openmp">Enable OpenMP parallel version</flag>
+               <flag name="otf2">Enable otf2 support</flag>
+       </use>
+       <upstream>
+               
<bugs-to>https://github.com/bsc-performance-tools/paraver-kernel/issues</bugs-to>
+               <remote-id 
type="github">bsc-performance-tools/paraver-kernel</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/sys-cluster/paraver-kernel/paraver-kernel-4.9.0.ebuild 
b/sys-cluster/paraver-kernel/paraver-kernel-4.9.0.ebuild
new file mode 100644
index 000000000..dde04b0a4
--- /dev/null
+++ b/sys-cluster/paraver-kernel/paraver-kernel-4.9.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="paraver kernel library"
+HOMEPAGE="
+       http://tools.bsc.es/paraver
+       https://github.com/bsc-performance-tools/paraver-kernel
+"
+SRC_URI="https://github.com/bsc-performance-tools/paraver-kernel/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+#S="${WORKDIR}/clustering-suite-${PV}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="extended-objects extrae ompss openmp otf2"
+
+RDEPEND="
+       dev-libs/boost:=
+       dev-libs/libxml2
+       sys-libs/zlib
+       sys-cluster/libbsctools:=
+       extrae? ( sys-cluster/extrae )
+       otf2? ( sys-cluster/otf2 )
+"
+
+DEPEND="${RDEPEND}"
+
+DOCS=( README NEWS AUTHORS ChangeLog )
+REQUIRED_USE="extrae? ( openmp )"
+PATCHES=(
+       "${FILESDIR}/${PN}-unbundle-libbsctools.patch"
+       "${FILESDIR}/${P}-fix-gcc-11-compilation-error.patch"
+)
+
+src_prepare() {
+       rm -r utils/pcfparser || die
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --disable-static
+               --enable-shared
+               --with-boost="${EPREFIX}/usr"
+               --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)"
+               $(use_enable extended-objects)
+               $(use_enable ompss)
+               $(use_enable openmp)
+       )
+
+       if use extrae; then
+               myconf+=( "--with-extrae=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-extrae" )
+       fi
+       if use otf2; then
+               myconf+=( "--with-otf2=${EPREFIX}/usr" )
+       else
+               myconf+=( "--without-otf2" )
+       fi
+
+       econf "${myconf[@]}" || die
+}
+
+src_install() {
+       default
+       einstalldocs
+       mv "${ED}/usr/$(get_libdir)/paraver-kernel"/* "${ED}/usr/$(get_libdir)" 
|| die
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to