forked from rarias/bscpkgs
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6e5e572ddb | |||
| 439242f669 | |||
| 551b1b9e45 | |||
| 49ac6e6468 | |||
| 9db82cee49 | |||
| 109f4c8374 | |||
| ac559aa7d7 | |||
| f74a92ebd8 | |||
| 1f09f8cac2 | |||
| 1666c14a35 | |||
| b29f03ba6e | |||
| ae2ef1d2df | |||
| 9a48ae45bb | |||
| 974bb56dc3 | |||
| 88d4d8e317 | |||
| 885e04e446 | |||
| 26f52aa27d | |||
| 52fe43bfe1 | |||
| f0637b4569 | |||
| 6ddfea0a3a | |||
| e7adef1ffa | |||
| e82d3c3b9f | |||
| 4442b6a706 | |||
| 2d0b014dc7 | |||
| 867ba3ec5a | |||
| 2cacc2b265 | |||
| e4abd8d8f6 | |||
| a87b99d0a4 | |||
| 43d32ac16d | |||
| 9d1944c658 | |||
| 8e5b2dc5cc | |||
| f89cd4d7e2 |
22
default.nix
22
default.nix
@ -1,11 +1,19 @@
|
||||
let
|
||||
bscOverlay = import ./overlay.nix;
|
||||
|
||||
# Pin the nixpkgs
|
||||
nixpkgsPath = import ./nixpkgs.nix;
|
||||
|
||||
pkgs = import nixpkgsPath {
|
||||
overlays = [ bscOverlay ];
|
||||
# read flake.lock and determine revision from there
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
inherit (lock.nodes.nixpkgs.locked) rev narHash;
|
||||
fetchedNixpkgs = builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
|
||||
sha256 = narHash;
|
||||
};
|
||||
|
||||
in pkgs
|
||||
in
|
||||
{ overlays ? [ ]
|
||||
, nixpkgs ? fetchedNixpkgs
|
||||
, ...
|
||||
}@attrs:
|
||||
import nixpkgs (
|
||||
(builtins.removeAttrs attrs [ "overlays" "nixpkgs" ]) //
|
||||
{ overlays = [ bscOverlay ] ++ overlays; }
|
||||
)
|
||||
|
||||
8
flake.lock
generated
8
flake.lock
generated
@ -2,10 +2,10 @@
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1736867362,
|
||||
"narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=",
|
||||
"path": "/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source",
|
||||
"rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc",
|
||||
"lastModified": 1752436162,
|
||||
"narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
|
||||
"path": "/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source",
|
||||
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
let
|
||||
commit = "e4ad989506ec7d71f7302cc3067abd82730a4beb";
|
||||
in builtins.fetchTarball {
|
||||
# Descriptive name to make the store path easier to identify
|
||||
name = "nixpkgs-${commit}";
|
||||
url = "https://github.com/nixos/nixpkgs/archive/${commit}.tar.gz";
|
||||
# Hash obtained using `nix-prefetch-url --unpack <url>`
|
||||
sha256 = "sha256-de9KYi8rSJpqvBfNwscWdalIJXPo8NjdIZcEJum1mH0=";
|
||||
}
|
||||
21
overlay.nix
21
overlay.nix
@ -13,15 +13,16 @@ let
|
||||
bench6 = callPackage ./pkgs/bench6/default.nix { };
|
||||
bigotes = callPackage ./pkgs/bigotes/default.nix { };
|
||||
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { };
|
||||
clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nanos6; };
|
||||
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmp; };
|
||||
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
|
||||
clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { useNanos6 = true; };
|
||||
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmp = true; };
|
||||
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmpV = true; };
|
||||
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
||||
|
||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||
#gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7
|
||||
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
||||
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { };
|
||||
#lmbench = callPackage ./pkgs/lmbench/default.nix { }; # Broken
|
||||
lmbench = callPackage ./pkgs/lmbench/default.nix { };
|
||||
mcxx = callPackage ./pkgs/mcxx/default.nix { };
|
||||
nanos6 = callPackage ./pkgs/nanos6/default.nix { };
|
||||
nanos6Debug = final.nanos6.override { enableDebug = true; };
|
||||
@ -40,11 +41,11 @@ let
|
||||
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
|
||||
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
|
||||
sonar = callPackage ./pkgs/sonar/default.nix { };
|
||||
stdenvClangOmpss2 = final.stdenv.override { cc = final.clangOmpss2; allowedRequisites = null; };
|
||||
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
||||
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
||||
stdenvClangOmpss2 = final.stdenv.override { cc = final.buildPackages.clangOmpss2; allowedRequisites = null; };
|
||||
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nanos6; allowedRequisites = null; };
|
||||
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nodes; allowedRequisites = null; };
|
||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.buildPackages.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||
#tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; # Broken due gpi-2
|
||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
||||
};
|
||||
|
||||
@ -1,14 +1,20 @@
|
||||
{
|
||||
stdenv
|
||||
, bigotes
|
||||
, cmake
|
||||
, clangOmpss2
|
||||
, openmp
|
||||
, openmpv
|
||||
, nanos6
|
||||
, nodes
|
||||
, nosv
|
||||
, mpi
|
||||
, tampi
|
||||
, openblas
|
||||
, ovni
|
||||
, gitBranch ? "master"
|
||||
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
||||
, gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d"
|
||||
, gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -21,9 +27,28 @@ stdenv.mkDerivation rec {
|
||||
rev = gitCommit;
|
||||
};
|
||||
|
||||
buildInputs = [ cmake clangOmpss2 nanos6 nodes mpi tampi ];
|
||||
buildInputs = [
|
||||
bigotes
|
||||
cmake
|
||||
clangOmpss2
|
||||
openmp
|
||||
openmpv
|
||||
nanos6
|
||||
nodes
|
||||
nosv
|
||||
mpi
|
||||
tampi
|
||||
openblas
|
||||
openblas.dev
|
||||
ovni
|
||||
];
|
||||
|
||||
env = {
|
||||
NANOS6_HOME = nanos6;
|
||||
NODES_HOME = nodes;
|
||||
NOSV_HOME = nosv;
|
||||
};
|
||||
|
||||
enableParallelBuilding = false;
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_C_COMPILER=clang"
|
||||
"-DCMAKE_CXX_COMPILER=clang++"
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, ncurses
|
||||
, lib
|
||||
, dpkg
|
||||
, rsync
|
||||
@ -10,12 +9,9 @@
|
||||
, hwloc
|
||||
, zlib
|
||||
, autoPatchelfHook
|
||||
, symlinkJoin
|
||||
, libfabric
|
||||
, gcc
|
||||
, gcc7
|
||||
, gcc13
|
||||
, wrapCCWith
|
||||
, linuxHeaders
|
||||
}:
|
||||
|
||||
# The distribution of intel packages is a mess. We are doing the installation
|
||||
@ -30,6 +26,8 @@
|
||||
|
||||
let
|
||||
|
||||
gcc = gcc13;
|
||||
|
||||
v = {
|
||||
hpckit = "2023.1.0";
|
||||
compiler = "2023.1.0";
|
||||
@ -314,6 +312,7 @@ let
|
||||
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime-${version}"
|
||||
"intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}"
|
||||
];
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
# From https://aur.archlinux.org/packages/intel-oneapi-compiler:
|
||||
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb
|
||||
# + intel-oneapi-compiler-dpcpp-cpp-2023.0.0-2023.0.0-25370_amd64.deb
|
||||
@ -399,7 +398,9 @@ let
|
||||
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
||||
|
||||
# Need the gcc in the path
|
||||
echo 'export "PATH=${mygcc}/bin:$PATH"' >> $out/nix-support/cc-wrapper-hook
|
||||
# FIXME: We should find a better way to modify the PATH instead of using
|
||||
# this ugly hack. See https://jungle.bsc.es/git/rarias/bscpkgs/issues/9
|
||||
echo 'path_backup="${mygcc}/bin:$path_backup"' >> $out/nix-support/cc-wrapper-hook
|
||||
|
||||
# Disable hardening by default
|
||||
echo "" > $out/nix-support/add-hardening.sh
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
llvmPackages_latest
|
||||
stdenv
|
||||
, llvmPackages_latest
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
@ -11,24 +12,26 @@
|
||||
, libffi
|
||||
, zlib
|
||||
, pkg-config
|
||||
, gcc # needed to set the rpath of libstdc++ for clang-tblgen
|
||||
, enableDebug ? false
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "8c0d267c04d7fc3fb923078f510fcd5f4719a6cc"
|
||||
, gitCommit ? "880e2341c56bad1dc14e8c369fb3356bec19018e"
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv = llvmPackages_latest.stdenv;
|
||||
llvmPackages = llvmPackages_latest;
|
||||
llvmStdenv = llvmPackages.stdenv;
|
||||
# needed to set the rpath of libstdc++ for clang-tblgen
|
||||
gcc = stdenv.cc;
|
||||
|
||||
release = rec {
|
||||
version = "2024.11";
|
||||
version = "2025.06";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "llvm";
|
||||
rev = "refs/tags/github-release-${version}";
|
||||
hash = "sha256-pF0qa987nLkIJPUrXh1srzBkLPfb31skIegD0bl34Kg=";
|
||||
hash = "sha256-ww9PpRmtz/M9IyLiZ8rAehx2UW4VpQt+svf4XfKBzKo=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -43,7 +46,7 @@ let
|
||||
|
||||
source = if (useGit) then git else release;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
in llvmStdenv.mkDerivation rec {
|
||||
pname = "clang-ompss2";
|
||||
inherit (source) src version;
|
||||
|
||||
@ -57,20 +60,23 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
isClangWithOmpss = true;
|
||||
|
||||
nativeBuildInputs = [ zlib ];
|
||||
nativeBuildInputs = [
|
||||
zlib
|
||||
gcc.cc.lib # Required for libstdc++.so.6
|
||||
cmake
|
||||
python3
|
||||
llvmPackages.lld
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
which
|
||||
bash
|
||||
python3
|
||||
perl
|
||||
cmake
|
||||
llvmPackages_latest.lld
|
||||
llvmPackages.lld
|
||||
elfutils
|
||||
libffi
|
||||
pkg-config
|
||||
zlib
|
||||
gcc.cc.lib # Required for libstdc++.so.6
|
||||
];
|
||||
|
||||
# Error with -D_FORTIFY_SOURCE=2, see https://bugs.gentoo.org/636604:
|
||||
@ -86,6 +92,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
dontUseCmakeBuildDir = true;
|
||||
|
||||
|
||||
# Fix the host triple, as it has changed in a newer config.guess:
|
||||
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=commitdiff;h=ca9bfb8cc75a2be1819d89c664a867785c96c9ba
|
||||
preConfigure = ''
|
||||
@ -93,8 +100,13 @@ in stdenv.mkDerivation rec {
|
||||
cd build
|
||||
cmakeDir="../llvm"
|
||||
cmakeFlagsArray=(
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.targetPlatform.config}"
|
||||
"-DLLVM_HOST_TRIPLE=${llvmStdenv.targetPlatform.config}"
|
||||
'' + (if "${llvmStdenv.targetPlatform.config}" == "riscv64-unknown-linux-gnu" then ''
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=riscv64-unknown-linux-gnu"
|
||||
"-DLLVM_TARGETS_TO_BUILD=RISCV"
|
||||
'' else ''
|
||||
"-DLLVM_TARGETS_TO_BUILD=host"
|
||||
'') + ''
|
||||
"-DLLVM_BUILD_LLVM_DYLIB=ON"
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
# Required to run clang-ast-dump and clang-tblgen during build
|
||||
@ -103,7 +115,8 @@ in stdenv.mkDerivation rec {
|
||||
"-DCMAKE_CXX_FLAGS_DEBUG=-g -ggnu-pubnames"
|
||||
"-DCMAKE_EXE_LINKER_FLAGS_DEBUG=-Wl,--gdb-index"
|
||||
"-DLLVM_LIT_ARGS=-sv --xunit-xml-output=xunit.xml"
|
||||
"-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;lld"
|
||||
"-DLLVM_ENABLE_PROJECTS=clang;lld"
|
||||
#"-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;lld"
|
||||
"-DLLVM_ENABLE_ASSERTIONS=ON"
|
||||
"-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON"
|
||||
"-DCMAKE_INSTALL_BINDIR=bin"
|
||||
@ -113,8 +126,8 @@ in stdenv.mkDerivation rec {
|
||||
# install
|
||||
"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON"
|
||||
"-DCMAKE_INSTALL_RPATH=${zlib}/lib:${gcc.cc.lib}/lib"
|
||||
"-DLLVM_APPEND_VC_REV=ON"
|
||||
"-DLLVM_FORCE_VC_REVISION=${source.version}"
|
||||
#"-DLLVM_APPEND_VC_REV=ON"
|
||||
#"-DLLVM_FORCE_VC_REVISION=${source.version}"
|
||||
)
|
||||
'';
|
||||
|
||||
|
||||
@ -3,23 +3,43 @@
|
||||
, lib
|
||||
, gcc
|
||||
, clangOmpss2Unwrapped
|
||||
, openmp ? null
|
||||
|
||||
, openmp
|
||||
, useOpenmp ? false
|
||||
, openmpv
|
||||
, useOpenmpV ? false
|
||||
, nanos6
|
||||
, useNanos6 ? false
|
||||
, nodes
|
||||
, useNodes ? false
|
||||
|
||||
, wrapCCWith
|
||||
, llvmPackages_latest
|
||||
, ompss2rt ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
||||
sameNosv = openmp.nosv == ompss2rt.nosv;
|
||||
getSplice = target: pkg: if pkg ? "__spliced" && pkg.__spliced ? target then pkg.__spliced."${target}" else pkg;
|
||||
#getSpliceTargetTarget = pkg: if pkg ? "__spliced" && pkg.__spliced ? "targetTarget" then pkg.__spliced.targetTarget else pkg;
|
||||
getSpliceTargetTarget = getSplice "targetTarget";
|
||||
omp = if useOpenmp then openmp else if useOpenmpV then openmpv else null;
|
||||
ompss2rtUnspliced = if useNanos6 then nanos6 else if useNodes then nodes else null;
|
||||
ompss2rt = getSpliceTargetTarget ompss2rtUnspliced;
|
||||
usingNodesAndOmpv = (omp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
||||
sameNosvUnspliced = omp.nosv == ompss2rtUnspliced.nosv;
|
||||
sameNosvSpliced = (getSpliceTargetTarget omp.nosv) == ompss2rt.nosv;
|
||||
in
|
||||
|
||||
assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
|
||||
assert assertMsg (usingNodesAndOmpv -> sameNosvUnspliced) "OpenMP-V and NODES must share the same nOS-V before splice";
|
||||
assert assertMsg (usingNodesAndOmpv -> sameNosvSpliced) "OpenMP-V and NODES must share the same nOS-V after splice";
|
||||
assert assertMsg (useOpenmp -> !useOpenmpV) "Either OpenMP or OpenMP-V may be enabled, but not both";
|
||||
assert assertMsg (useNanos6 -> !useNodes) "Either Nanos6 or NODES may be enabled, but not both";
|
||||
|
||||
let
|
||||
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
|
||||
rtname = if ompss2rt.pname == "nanos6" then "libnanos6" else "libnodes";
|
||||
ompname = if openmp.pname == "openmp-v" then "libompv" else "libomp";
|
||||
ompname = if omp.pname == "openmp-v" then "libompv" else "libomp";
|
||||
|
||||
|
||||
# We need to replace the lld linker from bintools with our linker just built,
|
||||
@ -34,14 +54,16 @@ let
|
||||
targetConfig = stdenv.targetPlatform.config;
|
||||
inherit gcc;
|
||||
cc = clangOmpss2Unwrapped;
|
||||
in wrapCCWith {
|
||||
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||
in (wrapCCWith {
|
||||
inherit cc bintools;
|
||||
# extraPackages adds packages to depsTargetTargetPropagated
|
||||
extraPackages = lib.optional (openmp != null) openmp;
|
||||
extraPackages = optional (omp != null) omp;
|
||||
extraBuildCommands = ''
|
||||
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
|
||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||
#echo "-fuse-ld=lld" >> $out/nix-support/cc-cflags
|
||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags
|
||||
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
||||
|
||||
for dir in ${gcc.cc}/include/c++/*; do
|
||||
@ -53,15 +75,17 @@ in wrapCCWith {
|
||||
|
||||
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
||||
|
||||
wrap clang++ $wrapper $ccPath/clang++
|
||||
wrap ${targetConfig}clang++ $wrapper $ccPath/clang++
|
||||
wrap ${targetConfig}clang $wrapper $ccPath/clang
|
||||
|
||||
'' + lib.optionalString (openmp != null) ''
|
||||
'' + optionalString (omp != null) ''
|
||||
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
||||
'' + lib.optionalString (ompss2rt != null) ''
|
||||
'' + optionalString (ompss2rt != null) ''
|
||||
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
||||
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
||||
'' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
||||
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||
echo "export NOSV_HOME=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
||||
'';
|
||||
}
|
||||
}) // { inherit ompss2rt; }
|
||||
|
||||
|
||||
|
||||
@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
] ++ lib.optionals enableNosv [
|
||||
nosv
|
||||
] ++ lib.optionals enableOvni [
|
||||
@ -68,6 +71,7 @@ stdenv.mkDerivation rec {
|
||||
rm -f $out/lib/libiomp*
|
||||
'' + lib.optionalString enableNosv ''
|
||||
rm -f $out/lib/libomp.*
|
||||
rm -f $out/libllvmrt/libomp.*
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@ -1,35 +1,41 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
libtirpc,
|
||||
fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lmbench";
|
||||
version = "701c6c35";
|
||||
version = "941a0dcc";
|
||||
|
||||
# We use the intel repo as they have fixed some problems
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = pname;
|
||||
rev = "701c6c35b0270d4634fb1dc5272721340322b8ed";
|
||||
sha256 = "0sf6zk03knkardsfd6qx7drpm56nhg53n885cylkggk83r38idyr";
|
||||
rev = "941a0dcc0e7bdd9bb0dee05d7f620e77da8c43af";
|
||||
sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
export sourceRoot="$sourceRoot/src"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
sed -i "s@/bin/rm@rm@g" $(find . -name Makefile)
|
||||
'';
|
||||
|
||||
buildInputs = [ libtirpc ];
|
||||
patches = [ ./fix-install.patch ./gcc-14.patch ];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=(BASE=$out)
|
||||
makeFlagsArray+=(
|
||||
-C src
|
||||
BASE=$out
|
||||
CFLAGS=-Wno-implicit-int
|
||||
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
|
||||
LDFLAGS=-ltirpc
|
||||
)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
10
pkgs/lmbench/fix-install.patch
Normal file
10
pkgs/lmbench/fix-install.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -144,6 +144,7 @@ install-target:
|
||||
if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
|
||||
if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
|
||||
cp $(EXES) $(BASE)/bin
|
||||
+ cp $(OPT_EXES) $(BASE)/bin
|
||||
cp $(INCS) $(BASE)/include
|
||||
cp $O/lmbench.a $(BASE)/lib/libmbench.a
|
||||
cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
|
||||
77
pkgs/lmbench/gcc-14.patch
Normal file
77
pkgs/lmbench/gcc-14.patch
Normal file
@ -0,0 +1,77 @@
|
||||
From a3c6e7d303cd8368e8d4e35be7cbc1997e801257 Mon Sep 17 00:00:00 2001
|
||||
From: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
|
||||
Date: Mon, 21 Jul 2025 17:38:58 +0200
|
||||
Subject: [PATCH] Misc fixes to build with gcc 14
|
||||
|
||||
---
|
||||
src/bench.h | 2 ++
|
||||
src/lat_select.c | 2 +-
|
||||
src/lib_debug.c | 1 +
|
||||
src/lib_sched.c | 2 +-
|
||||
src/lib_timing.c | 2 +-
|
||||
5 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/bench.h b/src/bench.h
|
||||
index 8166408..4da9079 100644
|
||||
--- a/src/bench.h
|
||||
+++ b/src/bench.h
|
||||
@@ -320,4 +320,6 @@ extern int handle_scheduler(int childno, int benchproc, int nbenchprocs);
|
||||
extern char *rpc_xact_1();
|
||||
extern char *client_rpc_xact_1();
|
||||
|
||||
+void lmbench_usage(int argc, char *argv[], char* usage);
|
||||
+
|
||||
#endif /* _BENCH_H */
|
||||
diff --git a/src/lat_select.c b/src/lat_select.c
|
||||
index 583b505..39df369 100644
|
||||
--- a/src/lat_select.c
|
||||
+++ b/src/lat_select.c
|
||||
@@ -164,7 +164,7 @@ doit(iter_t iterations, void * cookie)
|
||||
state_t * state = (state_t *)cookie;
|
||||
fd_set nosave;
|
||||
static struct timeval tv;
|
||||
- static count = 0;
|
||||
+ static int count = 0;
|
||||
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = 0;
|
||||
diff --git a/src/lib_debug.c b/src/lib_debug.c
|
||||
index e8347dd..cf65312 100644
|
||||
--- a/src/lib_debug.c
|
||||
+++ b/src/lib_debug.c
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "bench.h"
|
||||
#include "lib_debug.h"
|
||||
+#include <math.h>
|
||||
|
||||
/*
|
||||
* return micro-seconds / iteration at the the fraction point.
|
||||
diff --git a/src/lib_sched.c b/src/lib_sched.c
|
||||
index aa83ae0..4f16bbf 100644
|
||||
--- a/src/lib_sched.c
|
||||
+++ b/src/lib_sched.c
|
||||
@@ -91,7 +91,7 @@ handle_scheduler(int childno, int benchproc, int nbenchprocs)
|
||||
childno * (nbenchprocs + 1) + benchproc);
|
||||
} else {
|
||||
/* default action: do nothing */
|
||||
- return;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
return sched_pin(cpu % sched_ncpus());
|
||||
diff --git a/src/lib_timing.c b/src/lib_timing.c
|
||||
index af8cf68..7ec9652 100644
|
||||
--- a/src/lib_timing.c
|
||||
+++ b/src/lib_timing.c
|
||||
@@ -1623,7 +1623,7 @@ bread(void* buf, long nbytes)
|
||||
void
|
||||
touch(char *buf, int nbytes)
|
||||
{
|
||||
- static psize;
|
||||
+ static int psize;
|
||||
|
||||
if (!psize) {
|
||||
psize = getpagesize();
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "9f54c988e0a8b9c011d9d526acdb8d76f18fcae4"
|
||||
, gitCommit ? "f82762b66c82b5174a8eaad33f6c2f335ac759b4"
|
||||
}:
|
||||
|
||||
assert enableJemalloc -> (jemallocNanos6 != null);
|
||||
@ -28,12 +28,12 @@ with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "4.2";
|
||||
version = "4.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "nanos6";
|
||||
rev = "version-${version}";
|
||||
hash = "sha256-tBrRGLCjSFYdmVGPAC2DzYY6HJyZGUOMeykujafn7+4=";
|
||||
hash = "sha256-/c6WiKBsAo/01uvMRmjv0PMucbrgvaGmbxlPE6q+dfE=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -11,19 +11,19 @@
|
||||
, useGit ? false
|
||||
, gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "cfd361bd1dd30c96da405e6bbaa7e78f5f93dfda"
|
||||
, gitCommit ? "9f47063873c3aa9d6a47482a82c5000a8c813dd8"
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "nos-v";
|
||||
rev = "${version}";
|
||||
hash = "sha256-Pkre+ZZsREDxJLCoIoPN1HQDuUa2H1IQyKB3omg6qaU=";
|
||||
hash = "sha256-yaz92426EM8trdkBJlISmAoG9KJCDTvoAW/HKrasvOw=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
, useGit ? false
|
||||
, gitBranch ? "master"
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
|
||||
, gitCommit ? "a7103f8510d1ec124c3e01ceb47d1e443e98bbf4"
|
||||
, gitCommit ? "e4f62382076f0cf0b1d08175cf57cc0bc51abc61"
|
||||
, enableDebug ? false
|
||||
# Only enable MPI if the build is native (fails on cross-compilation)
|
||||
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||
@ -17,13 +17,13 @@ with lib;
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "1.11.0";
|
||||
version = "1.12.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "ovni";
|
||||
rev = "${version}";
|
||||
hash = "sha256-DEZUK1dvbPGH5WYkZ2hpP5PShkMxXkHOqMwgYUHHxeM=";
|
||||
} // { shortRev = "a7103f8"; };
|
||||
hash = "sha256-H04JvsVKrdqr3ON7JhU0g17jjlg/jzQ7eTfx9vUNd3E=";
|
||||
} // { shortRev = "a73afcf"; };
|
||||
};
|
||||
|
||||
git = rec {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, boost
|
||||
, libxml2
|
||||
@ -18,14 +19,23 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wxparaver";
|
||||
version = "4.11.2";
|
||||
version = "4.12.0";
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "https://github.com/bsc-performance-tools/wxparaver.git";
|
||||
rev = "129e6b4a4f061e5a319049db8db1620f5de3bd70"; # v4.11.2 (missing tag)
|
||||
ref = "master";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-performance-tools";
|
||||
repo = "wxparaver";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YsO5gsuEFQdki3lQudEqgo5WXOt/fPdvNw5OxZQ86Zo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./do-not-steal-focus-on-redraw.patch
|
||||
|
||||
# Fix for boost >=1.87 (thanks to gamezelda)
|
||||
# https://aur.archlinux.org/cgit/aur.git/commit/?h=wxparaver&id=b0dcd08c472536e0a1a3cc1dfbc4c77d9f5e0d47
|
||||
./fix-boost-87.patch
|
||||
];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
# Fix the PARAVER_HOME variable
|
||||
|
||||
26
pkgs/paraver/do-not-steal-focus-on-redraw.patch
Normal file
26
pkgs/paraver/do-not-steal-focus-on-redraw.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 2b185e1b5ce52808b3026334851dbcd5a640ed4d Mon Sep 17 00:00:00 2001
|
||||
From: aleixbonerib <aleix.boneribo@bsc.es>
|
||||
Date: Mon, 10 Jun 2024 20:59:45 +0200
|
||||
Subject: [PATCH] fix: do not set focus on redraw
|
||||
|
||||
Some wm can change the window size without focusing. Right now, when the
|
||||
plot is resized it takes back focus.
|
||||
---
|
||||
src/gtimeline.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/gtimeline.cpp b/src/gtimeline.cpp
|
||||
index 23ebef2..a896066 100644
|
||||
--- a/src/gtimeline.cpp
|
||||
+++ b/src/gtimeline.cpp
|
||||
@@ -899,7 +899,6 @@ void gTimeline::redraw()
|
||||
|
||||
drawZone->Refresh();
|
||||
|
||||
- SetFocus();
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.44.1
|
||||
|
||||
@ -11,7 +11,7 @@ diff --git a/api/semanticcolor.cpp b/api/semanticcolor.cpp
|
||||
index 9f86960..22859eb 100644
|
||||
--- a/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() )
|
||||
return ParaverConfig::getInstance()->getColorsTimelineColorZero();
|
||||
@ -22,26 +22,26 @@ index 9f86960..22859eb 100644
|
||||
+ return colors[ pos + 1 ];
|
||||
}
|
||||
|
||||
void CodeColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
|
||||
@@ -250,6 +251,12 @@ void CodeColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
|
||||
void SemanticColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
|
||||
@@ -314,6 +315,12 @@ void SemanticColor::setColor( PRV_UINT32 whichPos, rgb whichColor )
|
||||
colors[ whichPos ] = whichColor;
|
||||
}
|
||||
|
||||
+void CodeColor::cutAfter( PRV_UINT32 pos )
|
||||
+void SemanticColor::cutAfter( PRV_UINT32 pos )
|
||||
+{
|
||||
+ if ( pos < colors.size() )
|
||||
+ colors.erase( colors.begin() + pos, colors.end() );
|
||||
+}
|
||||
+
|
||||
void CodeColor::setCustomColor( TSemanticValue whichValue, rgb color )
|
||||
void SemanticColor::setCustomColor( TSemanticValue whichValue, rgb color )
|
||||
{
|
||||
customPalette[ whichValue ] = color;
|
||||
diff --git a/api/semanticcolor.h b/api/semanticcolor.h
|
||||
index a079556..bddf3d8 100644
|
||||
--- a/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;
|
||||
void setColor( PRV_UINT32 pos, rgb color );
|
||||
+ void cutAfter( PRV_UINT32 pos );
|
||||
@ -61,7 +61,7 @@ index b0d2050..ee2ab69 100644
|
||||
for ( auto it : semanticColors )
|
||||
{
|
||||
std::tie( tmpColor.red, tmpColor.green, tmpColor.blue ) = it.second;
|
||||
myCodeColor.setColor( it.first, tmpColor );
|
||||
mySemanticColor.setColor( it.first, tmpColor );
|
||||
+ if (it.first > maxValue)
|
||||
+ maxValue = it.first;
|
||||
}
|
||||
@ -69,7 +69,7 @@ index b0d2050..ee2ab69 100644
|
||||
+ // Cut the palette after the highest defined value, so there are no
|
||||
+ // extra expanded values
|
||||
+ if ( !pcfParser.expandColors )
|
||||
+ myCodeColor.cutAfter(maxValue);
|
||||
+ mySemanticColor.cutAfter(maxValue);
|
||||
+
|
||||
myEventLabels = EventLabels( pcfParser );
|
||||
myStateLabels = StateLabels( pcfParser );
|
||||
|
||||
87
pkgs/paraver/fix-boost-87.patch
Normal file
87
pkgs/paraver/fix-boost-87.patch
Normal file
@ -0,0 +1,87 @@
|
||||
From 7ecd888e2ebb9e8c5582851d3c50bff61022708e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
|
||||
Date: Sat, 29 Mar 2025 18:14:25 +0000
|
||||
Subject: [PATCH] tutorialsdownload: Fix Boost ASIO 1.87.0 removals
|
||||
|
||||
---
|
||||
src/tutorialsdownload.cpp | 25 ++++++++++++-------------
|
||||
1 file changed, 12 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/tutorialsdownload.cpp b/src/tutorialsdownload.cpp
|
||||
index a1921fd..6ce9dc2 100644
|
||||
--- a/src/tutorialsdownload.cpp
|
||||
+++ b/src/tutorialsdownload.cpp
|
||||
@@ -121,13 +121,13 @@ void TutorialsProgress::updateInstall( int whichValue )
|
||||
class client
|
||||
{
|
||||
public:
|
||||
- client( boost::asio::io_service& io_service,
|
||||
+ client( boost::asio::io_context& io_context,
|
||||
boost::asio::ssl::context& context,
|
||||
const std::string& server, const std::string& path,
|
||||
ofstream& storeFile,
|
||||
TutorialsProgress *progress )
|
||||
- : resolver_( io_service ),
|
||||
- socket_( io_service, context ),
|
||||
+ : resolver_( io_context ),
|
||||
+ socket_( io_context, context ),
|
||||
store_( storeFile ),
|
||||
progress_( progress )
|
||||
{
|
||||
@@ -143,8 +143,7 @@ class client
|
||||
|
||||
// Start an asynchronous resolve to translate the server and service names
|
||||
// into a list of endpoints.
|
||||
- tcp::resolver::query query( server, "https" );
|
||||
- resolver_.async_resolve( query,
|
||||
+ resolver_.async_resolve( server, "https",
|
||||
boost::bind( &client::handle_resolve,
|
||||
this,
|
||||
boost::asio::placeholders::error,
|
||||
@@ -154,7 +153,7 @@ class client
|
||||
private:
|
||||
|
||||
void handle_resolve( const boost::system::error_code& err,
|
||||
- tcp::resolver::iterator endpoint_iterator )
|
||||
+ const tcp::resolver::results_type& endpoints )
|
||||
{
|
||||
if ( !err )
|
||||
{
|
||||
@@ -162,7 +161,7 @@ class client
|
||||
socket_.set_verify_callback( boost::bind( &client::verify_certificate, this, _1, _2 ) );
|
||||
|
||||
boost::asio::async_connect( socket_.lowest_layer(),
|
||||
- endpoint_iterator,
|
||||
+ endpoints,
|
||||
boost::bind( &client::handle_connect,
|
||||
this,
|
||||
boost::asio::placeholders::error ) );
|
||||
@@ -536,9 +535,9 @@ bool TutorialsDownload::downloadTutorialsList() const
|
||||
boost::asio::ssl::context ctx( boost::asio::ssl::context::sslv23 );
|
||||
ctx.set_default_verify_paths();
|
||||
|
||||
- boost::asio::io_service io_service;
|
||||
- client c( io_service, ctx, server, path, storeFile, nullptr );
|
||||
- io_service.run();
|
||||
+ boost::asio::io_context io_context;
|
||||
+ client c( io_context, ctx, server, path, storeFile, nullptr );
|
||||
+ io_context.run();
|
||||
|
||||
doneDownload = true;
|
||||
}
|
||||
@@ -580,9 +579,9 @@ bool TutorialsDownload::download( const TutorialData& whichTutorial, string& tut
|
||||
boost::asio::ssl::context ctx( boost::asio::ssl::context::sslv23 );
|
||||
ctx.set_default_verify_paths();
|
||||
|
||||
- boost::asio::io_service io_service;
|
||||
- client c( io_service, ctx, std::string( server.mb_str() ), std::string( path.mb_str() ), storeFile, &progress );
|
||||
- io_service.run();
|
||||
+ boost::asio::io_context io_context;
|
||||
+ client c( io_context, ctx, std::string( server.mb_str() ), std::string( path.mb_str() ), storeFile, &progress );
|
||||
+ io_context.run();
|
||||
}
|
||||
catch ( ParaverKernelException& e )
|
||||
{
|
||||
--
|
||||
2.49.0
|
||||
|
||||
23
pkgs/paraver/fix-libxml2-deprecation.patch
Normal file
23
pkgs/paraver/fix-libxml2-deprecation.patch
Normal 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
|
||||
|
||||
@ -1,32 +1,32 @@
|
||||
{
|
||||
stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, boost
|
||||
, libxml2
|
||||
, xml2
|
||||
, wxGTK32
|
||||
, autoconf
|
||||
, automake
|
||||
, pkg-config
|
||||
, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
wx = wxGTK32;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "paraver-kernel";
|
||||
version = "${src.shortRev}";
|
||||
version = "4.12.0";
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "https://github.com/bsc-performance-tools/paraver-kernel.git";
|
||||
rev = "2e167da3cee78ca11e31b74faefb23f12bac2b8c"; # master (missing tag)
|
||||
ref = "master";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-performance-tools";
|
||||
repo = "paraver-kernel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Xs7g8ITZhPt00v7o2WlTddbou8C8Rc9kBMFpl2WsCS4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# 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" ];
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
, useGit ? false
|
||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
|
||||
, gitBranch ? "master"
|
||||
, gitCommit ? "a5c93bf8ab045b71ad4a8d5e2c991ce774db5cbc"
|
||||
, gitCommit ? "f6455db9d3124ae36e715a4874fd49720e79f20a"
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@ -24,12 +24,12 @@ assert enableOvni -> (ovni != null);
|
||||
|
||||
let
|
||||
release = rec {
|
||||
version = "4.0";
|
||||
version = "4.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bsc-pm";
|
||||
repo = "tampi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-R7ew5tsrxGReTvOeeZe1FD0oThBhOHoDGv6Mo2sbmDg=";
|
||||
hash = "sha256-SwfPSnwcZnRnSgNvCD5sFSUJRpWINqI5I4adj5Hh+XY=";
|
||||
};
|
||||
};
|
||||
git = rec {
|
||||
@ -46,15 +46,16 @@ in stdenv.mkDerivation rec {
|
||||
inherit (source) src version;
|
||||
enableParallelBuilding = true;
|
||||
separateDebugInfo = true;
|
||||
buildInputs = [
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
automake
|
||||
autoconf
|
||||
libtool
|
||||
gnumake
|
||||
];
|
||||
buildInputs = [
|
||||
boost
|
||||
mpi
|
||||
gcc
|
||||
] ++ optional (enableOvni) ovni;
|
||||
configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
|
||||
dontDisableStatic = true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user