Update paraver to 4.12.0

Adds a new patch to fix libxml2: the m4 AM_PATH_XML2 macro has been
deprecated and is no longer included in the latest nixpkgs unstable.
Upstream recommends using `PKG_CHECK_MODULES` instead.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
This commit is contained in:
Aleix Boné 2025-07-21 11:43:01 +02:00 committed by Rodrigo Arias Mallo
parent 974bb56dc3
commit 9a48ae45bb
4 changed files with 49 additions and 20 deletions

View File

@ -1,5 +1,6 @@
{ {
stdenv stdenv
, fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost186 , boost186
, libxml2 , libxml2
@ -19,12 +20,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wxparaver"; pname = "wxparaver";
version = "4.11.2"; version = "4.12.0";
src = builtins.fetchGit { src = fetchFromGitHub {
url = "https://github.com/bsc-performance-tools/wxparaver.git"; owner = "bsc-performance-tools";
rev = "129e6b4a4f061e5a319049db8db1620f5de3bd70"; # v4.11.2 (missing tag) repo = "wxparaver";
ref = "master"; rev = "v${version}";
sha256 = "sha256-YsO5gsuEFQdki3lQudEqgo5WXOt/fPdvNw5OxZQ86Zo=";
}; };
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];

View File

@ -11,7 +11,7 @@ diff --git a/api/semanticcolor.cpp b/api/semanticcolor.cpp
index 9f86960..22859eb 100644 index 9f86960..22859eb 100644
--- a/api/semanticcolor.cpp --- a/api/semanticcolor.cpp
+++ b/api/semanticcolor.cpp +++ b/api/semanticcolor.cpp
@@ -232,8 +232,9 @@ rgb CodeColor::getColor( PRV_UINT32 pos ) const @@ -295,8 +295,9 @@ rgb SemanticColor::getColor( PRV_UINT32 pos ) const
{ {
if( pos == 0 && ParaverConfig::getInstance()->getColorsTimelineUseZero() ) if( pos == 0 && ParaverConfig::getInstance()->getColorsTimelineUseZero() )
return ParaverConfig::getInstance()->getColorsTimelineColorZero(); return ParaverConfig::getInstance()->getColorsTimelineColorZero();
@ -22,26 +22,26 @@ index 9f86960..22859eb 100644
+ return colors[ pos + 1 ]; + return colors[ pos + 1 ];
} }
void CodeColor::setColor( PRV_UINT32 whichPos, rgb whichColor ) void SemanticColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
@@ -250,6 +251,12 @@ void CodeColor::setColor( PRV_UINT32 whichPos, rgb whichColor ) @@ -314,6 +315,12 @@ void SemanticColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
colors[ whichPos ] = whichColor; colors[ whichPos ] = whichColor;
} }
+void CodeColor::cutAfter( PRV_UINT32 pos ) +void SemanticColor::cutAfter( PRV_UINT32 pos )
+{ +{
+ if ( pos < colors.size() ) + if ( pos < colors.size() )
+ colors.erase( colors.begin() + pos, colors.end() ); + colors.erase( colors.begin() + pos, colors.end() );
+} +}
+ +
void CodeColor::setCustomColor( TSemanticValue whichValue, rgb color ) void SemanticColor::setCustomColor( TSemanticValue whichValue, rgb color )
{ {
customPalette[ whichValue ] = color; customPalette[ whichValue ] = color;
diff --git a/api/semanticcolor.h b/api/semanticcolor.h diff --git a/api/semanticcolor.h b/api/semanticcolor.h
index a079556..bddf3d8 100644 index a079556..bddf3d8 100644
--- a/api/semanticcolor.h --- a/api/semanticcolor.h
+++ b/api/semanticcolor.h +++ b/api/semanticcolor.h
@@ -98,6 +98,7 @@ class CodeColor: public SemanticColor @@ -114,6 +114,7 @@ class SemanticColor
// Code Color methods
PRV_UINT32 getNumColors() const; PRV_UINT32 getNumColors() const;
void setColor( PRV_UINT32 pos, rgb color ); void setColor( PRV_UINT32 pos, rgb color );
+ void cutAfter( PRV_UINT32 pos ); + void cutAfter( PRV_UINT32 pos );
@ -61,7 +61,7 @@ index b0d2050..ee2ab69 100644
for ( auto it : semanticColors ) for ( auto it : semanticColors )
{ {
std::tie( tmpColor.red, tmpColor.green, tmpColor.blue ) = it.second; std::tie( tmpColor.red, tmpColor.green, tmpColor.blue ) = it.second;
myCodeColor.setColor( it.first, tmpColor ); mySemanticColor.setColor( it.first, tmpColor );
+ if (it.first > maxValue) + if (it.first > maxValue)
+ maxValue = it.first; + maxValue = it.first;
} }
@ -69,7 +69,7 @@ index b0d2050..ee2ab69 100644
+ // Cut the palette after the highest defined value, so there are no + // Cut the palette after the highest defined value, so there are no
+ // extra expanded values + // extra expanded values
+ if ( !pcfParser.expandColors ) + if ( !pcfParser.expandColors )
+ myCodeColor.cutAfter(maxValue); + mySemanticColor.cutAfter(maxValue);
+ +
myEventLabels = EventLabels( pcfParser ); myEventLabels = EventLabels( pcfParser );
myStateLabels = StateLabels( pcfParser ); myStateLabels = StateLabels( pcfParser );

View File

@ -0,0 +1,23 @@
commit 60aa3ffa05f6b40db191a880e9e622d608744c1f
Author: Aleix Boné <aleix.boneribo@bsc.es>
Date: Sun Jul 21 12:11:30 2025 +0200
fix libxml2 deprecated macro
diff --git a/configure.ac b/configure.ac
index 7fe1876..3ce1091 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,10 @@ AC_PROG_CPP
AC_PROG_CXXCPP
AC_PROG_SED
-AM_PATH_XML2
+PKG_PROG_PKG_CONFIG
+PKG_CHECK_MODULES([XML], [libxml-2.0])
+
+AC_SUBST(XML_CPPFLAGS, $XML_CFLAGS)
AX_BOOST_BASE(1.36)
AX_BOOST_SERIALIZATION

View File

@ -1,5 +1,6 @@
{ {
stdenv stdenv
, fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
, libxml2 , libxml2
@ -16,17 +17,20 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "paraver-kernel"; pname = "paraver-kernel";
version = "${src.shortRev}"; version = "4.12.0";
src = builtins.fetchGit { src = fetchFromGitHub {
url = "https://github.com/bsc-performance-tools/paraver-kernel.git"; owner = "bsc-performance-tools";
rev = "2e167da3cee78ca11e31b74faefb23f12bac2b8c"; # master (missing tag) repo = "paraver-kernel";
ref = "master"; rev = "v${version}";
sha256 = "sha256-Xs7g8ITZhPt00v7o2WlTddbou8C8Rc9kBMFpl2WsCS4=";
}; };
patches = [ patches = [
# https://github.com/bsc-performance-tools/paraver-kernel/pull/11 # https://github.com/bsc-performance-tools/paraver-kernel/pull/11
./dont-expand-colors.patch # TODO: add this back if it's still relevant
# ./dont-expand-colors.patch
./fix-libxml2-deprecation.patch
]; ];
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];