Add paraver with some patches for tiling WM

This commit is contained in:
Rodrigo Arias 2020-11-18 14:00:19 +01:00
parent d2d3ccf332
commit a076d7d3d0
4 changed files with 154 additions and 0 deletions

65
bsc/paraver/default.nix Normal file
View File

@ -0,0 +1,65 @@
{
stdenv
, fetchFromGitHub
, boost
, libxml2
, xml2
, fetchurl
, wxGTK31
, autoconf
, automake
}:
let
wx = wxGTK31;
in
stdenv.mkDerivation rec {
pname = "wxparaver";
version = "4.8.2";
src = fetchurl {
url = "https://ftp.tools.bsc.es/wxparaver/wxparaver-${version}-src.tar.bz2";
sha256 = "0b8rrhnf7h8j72pj6nrxkrbskgg9b5w60nxi47nxg6275qvfq8hd";
};
enableParallelBuilding = true;
# What would we do without the great gamezelda:
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=wxparaver
postPatch = ''
pushd src/wxparaver
sed -i 's|-lparaver-kernel -lparaver-api|-L../../paraver-kernel/src/.libs -L../../paraver-kernel/api/.libs -lparaver-kernel -lparaver-api|g' src/Makefile.am
sed -i 's|^wxparaver_bin_CXXFLAGS =.*|& -I../../paraver-kernel -I../../paraver-kernel/api|' src/Makefile.am
sed -i 's| -L$PARAVER_LIBDIR||g' configure.ac
popd
# Patch shebang as /usr/bin/env is missing in nix
sed -i '1c#!/bin/sh' src/paraver-cfgs/install.sh
sed -i '1524d' src/wxparaver/src/gtimeline.cpp
sed -i '806d' src/wxparaver/src/gtimeline.cpp
sed -i '142d' src/wxparaver/src/paravermain.cpp
'';
#TODO: Move the sed commands to proper patches (and maybe send them upstream?)
preConfigure = ''
pushd src/wxparaver
autoreconf -i -f
popd
'';
configureFlags = [
"--with-boost=${boost}"
"--with-wx-config=${wx}/bin/wx-config"
];
buildInputs = [
boost
xml2
libxml2.dev
wx
autoconf
automake
];
}

35
bsc/paraver/kernel.nix Normal file
View File

@ -0,0 +1,35 @@
{ stdenv
, fetchFromGitHub
, boost
, libxml2
, xml2
, fetchurl
, symlinkJoin
}:
stdenv.mkDerivation rec {
pname = "paraver-kernel";
version = "4.8.2";
src = fetchurl {
url = "https://ftp.tools.bsc.es/wxparaver/wxparaver-${version}-src.tar.bz2";
sha256 = "0b8rrhnf7h8j72pj6nrxkrbskgg9b5w60nxi47nxg6275qvfq8hd";
};
postUnpack = "sourceRoot=$sourceRoot/src/paraver-kernel";
enableParallelBuilding = true;
preConfigure = ''
configureFlagsArray=(
"--with-boost=${boost}"
)
'';
buildInputs = [
boost
xml2
libxml2.dev
];
}

47
bsc/paraver/wxparaver.nix Normal file
View File

@ -0,0 +1,47 @@
{
stdenv
, fetchFromGitHub
, boost
, libxml2
, xml2
, fetchurl
, wxGTK30-gtk3
, paraver-kernel
}:
let
wx = wxGTK30-gtk3;
in
stdenv.mkDerivation rec {
pname = "wxparaver";
version = "4.8.2";
src = fetchurl {
url = "https://ftp.tools.bsc.es/wxparaver/wxparaver-${version}-src.tar.bz2";
sha256 = "0b8rrhnf7h8j72pj6nrxkrbskgg9b5w60nxi47nxg6275qvfq8hd";
};
postUnpack = "sourceRoot=$sourceRoot/src/wxparaver";
enableParallelBuilding = true;
preConfigure = ''
configureFlagsArray=(
"--with-boost=${boost}"
"--with-wx-config=${wx}/bin/wx-config"
--with-wxpropgrid-dir=
"--with-paraver=${paraver-kernel}"
"--enable-debug=yes"
"CXXFLAGS=-g"
"CFLAGS=-g"
)
'';
buildInputs = [
boost
xml2
libxml2.dev
wx
paraver-kernel
];
}

View File

@ -97,6 +97,13 @@ let
fftw = callPackage ./bsc/fftw/default.nix { };
paraver = callPackage ./bsc/paraver/default.nix { };
paraverDebug = bsc.paraver.overrideAttrs (old:
{
dontStrip = true;
enableDebugging = true;
});
extrae = callPackage ./bsc/extrae/default.nix { };
tampi = bsc.tampiRelease;