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 +}