Compare commits

...

32 Commits

Author SHA1 Message Date
6e5e572ddb targetTarget might be missing when native build 2025-09-10 08:43:50 +02:00
439242f669 tmp 2025-09-09 16:47:23 +02:00
551b1b9e45 Use explicit splicing in clang wrapper 2025-09-08 17:25:47 +02:00
49ac6e6468 Do not force derviation inputs, use booleans instead 2025-09-05 11:09:16 +02:00
9db82cee49 Fix missing tampi native build inputs 2025-07-29 15:26:51 +02:00
109f4c8374 TEMPORAL CLANG LINKER FIX FOR CROSS 2025-07-23 09:52:55 +02:00
ac559aa7d7 Fix clang cross-build 2025-07-23 09:52:55 +02:00
f74a92ebd8 Fix clang cross-build 2025-07-23 09:52:53 +02:00
1f09f8cac2 Split OpenMP dependencies into build and run 2025-07-23 09:51:49 +02:00
1666c14a35 Remove dependency on wx from paraver kernel
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-22 13:00:23 +02:00
b29f03ba6e Fix boost >=1.87 in wxparaver
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-22 12:59:53 +02:00
ae2ef1d2df Add patch to paraver to prevent focus stealing
See: https://github.com/bsc-performance-tools/wxparaver/issues/18
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-22 12:59:39 +02:00
9a48ae45bb 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>
2025-07-22 12:57:33 +02:00
974bb56dc3 Fix lmbench build issues with GCC 14
Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-21 18:01:36 +02:00
88d4d8e317 Drop tagaspi from bench6
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 18:01:20 +02:00
885e04e446 Remove unused inputs from intel compiler 2023
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 18:00:39 +02:00
26f52aa27d Use gcc 13 for intel compiler 2023
Intel compiler for C++ (icpc) is not able to parse the location of C++
headers from the output of gcc 14, but works fine for gcc 13.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
52fe43bfe1 Fix PATH in intel compiler wrapper
We need to add the gcc in the PATH, but adding it directly to $PATH
doesn't work, as it will be restored to $path_backup before icc runs. So
for now we simply inject it to path_backup, but ideally we should find a
more robust solution.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
f0637b4569 Drop GPI-2 and TAGASPI
GPI-2 fails to build, which is needed for TAGASPI.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
6ddfea0a3a Use boost 1.86 for paraver
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-07-21 17:23:30 +02:00
e7adef1ffa Fix intel-compiler by ignoring broken symlinks
In the future, we may want to look if those symlinks are needed.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
e82d3c3b9f Upgrade OmpSs-2 LLVM to 2025.06
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
4442b6a706 Update TAMPI to 4.1
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
2d0b014dc7 Update Nanos6 to 4.3
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
867ba3ec5a Update nOS-V to 3.2.0
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
2cacc2b265 Update ovni to 1.12.0
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
e4abd8d8f6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'path:/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source?lastModified=1736867362&narHash=sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8%3D&rev=9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc' (2025-01-14)
  → 'path:/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source?lastModified=1752436162&narHash=sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw%3D&rev=dfcd5b901dbab46c9c6e80b265648481aafb01f8' (2025-07-13)

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-07-21 17:23:30 +02:00
a87b99d0a4 Update bench6 package to bf29a531
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2025-06-16 15:34:35 +02:00
43d32ac16d Use nixpkgs from flake.lock and support attrs when importing bscpkgs
This makes `nix-build` and friends use the current flake lock instead of
the outdated pinned version we had in `./nixpkgs.nix`

With this, `nix-build -A ovni` and `nix build .#ovni` should produce the
same result.

This will fail if the flake nixpkgs input does not come from NixOS/nixpkgs.
We could use edolstra/flake-compat instead, but it's overkill imho.

Additionally, I made default.nix behave like nixpkgs, so that we can
import bscpkgs à la nixpkgs (Apply overlays and other options that nixpkgs
accepts):

```nix
let pkgs = import bscpkgs { inherit system; }; in <...>
```

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-06-16 12:29:55 +02:00
9d1944c658 Upgrade and fix lmbench package
Now it needs libtirpc to provide rpc/rpc.h, as it seems it is gone from
libc. We also fix the install target so it installs the additional
benchmarks.

Reviewed-by: Aleix Boné <abonerib@bsc.es>
Tested-by: Aleix Boné <abonerib@bsc.es>
2025-06-11 16:01:40 +02:00
8e5b2dc5cc Fix C runtime objects path in OmpSs-2 LLVM
Some gcc versions append an extension to the patch version number, but
this extension is not part of the installation path. This patch removes
the extension to the patch version.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-06-02 08:58:19 +02:00
f89cd4d7e2 Remove dangling libomp.so symlink
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-06-02 08:57:23 +02:00
22 changed files with 425 additions and 118 deletions

View File

@ -1,11 +1,19 @@
let let
bscOverlay = import ./overlay.nix; bscOverlay = import ./overlay.nix;
# Pin the nixpkgs # read flake.lock and determine revision from there
nixpkgsPath = import ./nixpkgs.nix; lock = builtins.fromJSON (builtins.readFile ./flake.lock);
inherit (lock.nodes.nixpkgs.locked) rev narHash;
pkgs = import nixpkgsPath { fetchedNixpkgs = builtins.fetchTarball {
overlays = [ bscOverlay ]; url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz";
sha256 = narHash;
}; };
in
in pkgs { overlays ? [ ]
, nixpkgs ? fetchedNixpkgs
, ...
}@attrs:
import nixpkgs (
(builtins.removeAttrs attrs [ "overlays" "nixpkgs" ]) //
{ overlays = [ bscOverlay ] ++ overlays; }
)

8
flake.lock generated
View File

@ -2,10 +2,10 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1736867362, "lastModified": 1752436162,
"narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=", "narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
"path": "/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source", "path": "/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source",
"rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc", "rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
"type": "path" "type": "path"
}, },
"original": { "original": {

View File

@ -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=";
}

View File

@ -13,15 +13,16 @@ let
bench6 = callPackage ./pkgs/bench6/default.nix { }; bench6 = callPackage ./pkgs/bench6/default.nix { };
bigotes = callPackage ./pkgs/bigotes/default.nix { }; bigotes = callPackage ./pkgs/bigotes/default.nix { };
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { }; clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { };
clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nanos6; }; clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { useNanos6 = true; };
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmp; }; clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmp = true; };
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; }; clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmpV = true; };
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { }; clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated #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 { }; intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.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 { }; mcxx = callPackage ./pkgs/mcxx/default.nix { };
nanos6 = callPackage ./pkgs/nanos6/default.nix { }; nanos6 = callPackage ./pkgs/nanos6/default.nix { };
nanos6Debug = final.nanos6.override { enableDebug = true; }; nanos6Debug = final.nanos6.override { enableDebug = true; };
@ -40,11 +41,11 @@ let
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned #pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned #psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
sonar = callPackage ./pkgs/sonar/default.nix { }; sonar = callPackage ./pkgs/sonar/default.nix { };
stdenvClangOmpss2 = final.stdenv.override { cc = final.clangOmpss2; allowedRequisites = null; }; stdenvClangOmpss2 = final.stdenv.override { cc = final.buildPackages.clangOmpss2; allowedRequisites = null; };
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; }; stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nanos6; allowedRequisites = null; };
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; }; stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nodes; allowedRequisites = null; };
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; }; stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.buildPackages.clangOmpss2NodesOmpv; allowedRequisites = null; };
tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; #tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; # Broken due gpi-2
tampi = callPackage ./pkgs/tampi/default.nix { }; tampi = callPackage ./pkgs/tampi/default.nix { };
wxparaver = callPackage ./pkgs/paraver/default.nix { }; wxparaver = callPackage ./pkgs/paraver/default.nix { };
}; };

View File

@ -1,14 +1,20 @@
{ {
stdenv stdenv
, bigotes
, cmake , cmake
, clangOmpss2 , clangOmpss2
, openmp
, openmpv
, nanos6 , nanos6
, nodes , nodes
, nosv
, mpi , mpi
, tampi , tampi
, openblas
, ovni
, gitBranch ? "master" , gitBranch ? "master"
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git" , gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
, gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d" , gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4"
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,9 +27,28 @@ stdenv.mkDerivation rec {
rev = gitCommit; 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 = [ cmakeFlags = [
"-DCMAKE_C_COMPILER=clang" "-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_CXX_COMPILER=clang++"

View File

@ -1,6 +1,5 @@
{ stdenv { stdenv
, fetchurl , fetchurl
, ncurses
, lib , lib
, dpkg , dpkg
, rsync , rsync
@ -10,12 +9,9 @@
, hwloc , hwloc
, zlib , zlib
, autoPatchelfHook , autoPatchelfHook
, symlinkJoin
, libfabric , libfabric
, gcc , gcc13
, gcc7
, wrapCCWith , wrapCCWith
, linuxHeaders
}: }:
# The distribution of intel packages is a mess. We are doing the installation # The distribution of intel packages is a mess. We are doing the installation
@ -30,6 +26,8 @@
let let
gcc = gcc13;
v = { v = {
hpckit = "2023.1.0"; hpckit = "2023.1.0";
compiler = "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-and-cpp-classic-runtime-${version}"
"intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}" "intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}"
]; ];
dontCheckForBrokenSymlinks = true;
# From https://aur.archlinux.org/packages/intel-oneapi-compiler: # From https://aur.archlinux.org/packages/intel-oneapi-compiler:
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb # - 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 # + 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 echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
# Need the gcc in the path # 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 # Disable hardening by default
echo "" > $out/nix-support/add-hardening.sh echo "" > $out/nix-support/add-hardening.sh

View File

@ -1,5 +1,6 @@
{ {
llvmPackages_latest stdenv
, llvmPackages_latest
, lib , lib
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
@ -11,24 +12,26 @@
, libffi , libffi
, zlib , zlib
, pkg-config , pkg-config
, gcc # needed to set the rpath of libstdc++ for clang-tblgen
, enableDebug ? false , enableDebug ? false
, useGit ? false , useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git" , gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
, gitBranch ? "master" , gitBranch ? "master"
, gitCommit ? "8c0d267c04d7fc3fb923078f510fcd5f4719a6cc" , gitCommit ? "880e2341c56bad1dc14e8c369fb3356bec19018e"
}: }:
let 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 { release = rec {
version = "2024.11"; version = "2025.06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bsc-pm"; owner = "bsc-pm";
repo = "llvm"; repo = "llvm";
rev = "refs/tags/github-release-${version}"; 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; source = if (useGit) then git else release;
in stdenv.mkDerivation rec { in llvmStdenv.mkDerivation rec {
pname = "clang-ompss2"; pname = "clang-ompss2";
inherit (source) src version; inherit (source) src version;
@ -57,20 +60,23 @@ in stdenv.mkDerivation rec {
isClangWithOmpss = true; isClangWithOmpss = true;
nativeBuildInputs = [ zlib ]; nativeBuildInputs = [
zlib
gcc.cc.lib # Required for libstdc++.so.6
cmake
python3
llvmPackages.lld
];
buildInputs = [ buildInputs = [
which which
bash bash
python3
perl perl
cmake llvmPackages.lld
llvmPackages_latest.lld
elfutils elfutils
libffi libffi
pkg-config pkg-config
zlib zlib
gcc.cc.lib # Required for libstdc++.so.6
]; ];
# Error with -D_FORTIFY_SOURCE=2, see https://bugs.gentoo.org/636604: # Error with -D_FORTIFY_SOURCE=2, see https://bugs.gentoo.org/636604:
@ -86,6 +92,7 @@ in stdenv.mkDerivation rec {
dontUseCmakeBuildDir = true; dontUseCmakeBuildDir = true;
# Fix the host triple, as it has changed in a newer config.guess: # 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 # https://git.savannah.gnu.org/gitweb/?p=config.git;a=commitdiff;h=ca9bfb8cc75a2be1819d89c664a867785c96c9ba
preConfigure = '' preConfigure = ''
@ -93,8 +100,13 @@ in stdenv.mkDerivation rec {
cd build cd build
cmakeDir="../llvm" cmakeDir="../llvm"
cmakeFlagsArray=( 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_TARGETS_TO_BUILD=host"
'') + ''
"-DLLVM_BUILD_LLVM_DYLIB=ON" "-DLLVM_BUILD_LLVM_DYLIB=ON"
"-DLLVM_LINK_LLVM_DYLIB=ON" "-DLLVM_LINK_LLVM_DYLIB=ON"
# Required to run clang-ast-dump and clang-tblgen during build # 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_CXX_FLAGS_DEBUG=-g -ggnu-pubnames"
"-DCMAKE_EXE_LINKER_FLAGS_DEBUG=-Wl,--gdb-index" "-DCMAKE_EXE_LINKER_FLAGS_DEBUG=-Wl,--gdb-index"
"-DLLVM_LIT_ARGS=-sv --xunit-xml-output=xunit.xml" "-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_ENABLE_ASSERTIONS=ON"
"-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON" "-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON"
"-DCMAKE_INSTALL_BINDIR=bin" "-DCMAKE_INSTALL_BINDIR=bin"
@ -113,8 +126,8 @@ in stdenv.mkDerivation rec {
# install # install
"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON"
"-DCMAKE_INSTALL_RPATH=${zlib}/lib:${gcc.cc.lib}/lib" "-DCMAKE_INSTALL_RPATH=${zlib}/lib:${gcc.cc.lib}/lib"
"-DLLVM_APPEND_VC_REV=ON" #"-DLLVM_APPEND_VC_REV=ON"
"-DLLVM_FORCE_VC_REVISION=${source.version}" #"-DLLVM_FORCE_VC_REVISION=${source.version}"
) )
''; '';

View File

@ -3,23 +3,43 @@
, lib , lib
, gcc , gcc
, clangOmpss2Unwrapped , clangOmpss2Unwrapped
, openmp ? null
, openmp
, useOpenmp ? false
, openmpv
, useOpenmpV ? false
, nanos6
, useNanos6 ? false
, nodes
, useNodes ? false
, wrapCCWith , wrapCCWith
, llvmPackages_latest , llvmPackages_latest
, ompss2rt ? null
}: }:
with lib;
let let
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes"); getSplice = target: pkg: if pkg ? "__spliced" && pkg.__spliced ? target then pkg.__spliced."${target}" else pkg;
sameNosv = openmp.nosv == ompss2rt.nosv; #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 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 let
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME"; homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
rtname = if ompss2rt.pname == "nanos6" then "libnanos6" else "libnodes"; 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, # We need to replace the lld linker from bintools with our linker just built,
@ -34,14 +54,16 @@ let
targetConfig = stdenv.targetPlatform.config; targetConfig = stdenv.targetPlatform.config;
inherit gcc; inherit gcc;
cc = clangOmpss2Unwrapped; cc = clangOmpss2Unwrapped;
in wrapCCWith { gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
in (wrapCCWith {
inherit cc bintools; inherit cc bintools;
# extraPackages adds packages to depsTargetTargetPropagated # extraPackages adds packages to depsTargetTargetPropagated
extraPackages = lib.optional (openmp != null) openmp; extraPackages = optional (omp != null) omp;
extraBuildCommands = '' extraBuildCommands = ''
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags #echo "-fuse-ld=lld" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags 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 echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
for dir in ${gcc.cc}/include/c++/*; do for dir in ${gcc.cc}/include/c++/*; do
@ -53,15 +75,17 @@ in wrapCCWith {
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags 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 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 OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
'' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") '' '' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook echo "export NOSV_HOME=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
''; '';
} }) // { inherit ompss2rt; }

View File

@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
perl perl
pkg-config pkg-config
python3 python3
];
buildInputs = [
] ++ lib.optionals enableNosv [ ] ++ lib.optionals enableNosv [
nosv nosv
] ++ lib.optionals enableOvni [ ] ++ lib.optionals enableOvni [
@ -68,6 +71,7 @@ stdenv.mkDerivation rec {
rm -f $out/lib/libiomp* rm -f $out/lib/libiomp*
'' + lib.optionalString enableNosv '' '' + lib.optionalString enableNosv ''
rm -f $out/lib/libomp.* rm -f $out/lib/libomp.*
rm -f $out/libllvmrt/libomp.*
''; '';
passthru = { passthru = {

View File

@ -1,35 +1,41 @@
{ {
lib, lib,
stdenv, stdenv,
libtirpc,
fetchFromGitHub fetchFromGitHub
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lmbench"; pname = "lmbench";
version = "701c6c35"; version = "941a0dcc";
# We use the intel repo as they have fixed some problems # We use the intel repo as they have fixed some problems
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = pname; repo = pname;
rev = "701c6c35b0270d4634fb1dc5272721340322b8ed"; rev = "941a0dcc0e7bdd9bb0dee05d7f620e77da8c43af";
sha256 = "0sf6zk03knkardsfd6qx7drpm56nhg53n885cylkggk83r38idyr"; sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk=";
}; };
postUnpack = ''
export sourceRoot="$sourceRoot/src"
'';
postPatch = '' postPatch = ''
sed -i "s@/bin/rm@rm@g" $(find . -name Makefile) sed -i "s@/bin/rm@rm@g" $(find . -name Makefile)
''; '';
buildInputs = [ libtirpc ];
patches = [ ./fix-install.patch ./gcc-14.patch ];
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];
enableParallelBuilding = false; enableParallelBuilding = false;
preBuild = '' preBuild = ''
makeFlagsArray+=(BASE=$out) makeFlagsArray+=(
-C src
BASE=$out
CFLAGS=-Wno-implicit-int
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
LDFLAGS=-ltirpc
)
''; '';
meta = { meta = {

View 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
View 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

View File

@ -19,7 +19,7 @@
, useGit ? false , useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6" , gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
, gitBranch ? "master" , gitBranch ? "master"
, gitCommit ? "9f54c988e0a8b9c011d9d526acdb8d76f18fcae4" , gitCommit ? "f82762b66c82b5174a8eaad33f6c2f335ac759b4"
}: }:
assert enableJemalloc -> (jemallocNanos6 != null); assert enableJemalloc -> (jemallocNanos6 != null);
@ -28,12 +28,12 @@ with lib;
let let
release = rec { release = rec {
version = "4.2"; version = "4.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bsc-pm"; owner = "bsc-pm";
repo = "nanos6"; repo = "nanos6";
rev = "version-${version}"; rev = "version-${version}";
hash = "sha256-tBrRGLCjSFYdmVGPAC2DzYY6HJyZGUOMeykujafn7+4="; hash = "sha256-/c6WiKBsAo/01uvMRmjv0PMucbrgvaGmbxlPE6q+dfE=";
}; };
}; };

View File

@ -11,19 +11,19 @@
, useGit ? false , useGit ? false
, gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git" , gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git"
, gitBranch ? "master" , gitBranch ? "master"
, gitCommit ? "cfd361bd1dd30c96da405e6bbaa7e78f5f93dfda" , gitCommit ? "9f47063873c3aa9d6a47482a82c5000a8c813dd8"
}: }:
with lib; with lib;
let let
release = rec { release = rec {
version = "3.1.0"; version = "3.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bsc-pm"; owner = "bsc-pm";
repo = "nos-v"; repo = "nos-v";
rev = "${version}"; rev = "${version}";
hash = "sha256-Pkre+ZZsREDxJLCoIoPN1HQDuUa2H1IQyKB3omg6qaU="; hash = "sha256-yaz92426EM8trdkBJlISmAoG9KJCDTvoAW/HKrasvOw=";
}; };
}; };

View File

@ -7,7 +7,7 @@
, useGit ? false , useGit ? false
, gitBranch ? "master" , gitBranch ? "master"
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git" , gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
, gitCommit ? "a7103f8510d1ec124c3e01ceb47d1e443e98bbf4" , gitCommit ? "e4f62382076f0cf0b1d08175cf57cc0bc51abc61"
, enableDebug ? false , enableDebug ? false
# Only enable MPI if the build is native (fails on cross-compilation) # Only enable MPI if the build is native (fails on cross-compilation)
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform) , useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
@ -17,13 +17,13 @@ with lib;
let let
release = rec { release = rec {
version = "1.11.0"; version = "1.12.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bsc-pm"; owner = "bsc-pm";
repo = "ovni"; repo = "ovni";
rev = "${version}"; rev = "${version}";
hash = "sha256-DEZUK1dvbPGH5WYkZ2hpP5PShkMxXkHOqMwgYUHHxeM="; hash = "sha256-H04JvsVKrdqr3ON7JhU0g17jjlg/jzQ7eTfx9vUNd3E=";
} // { shortRev = "a7103f8"; }; } // { shortRev = "a73afcf"; };
}; };
git = rec { git = rec {

View File

@ -1,5 +1,6 @@
{ {
stdenv stdenv
, fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
, libxml2 , libxml2
@ -18,14 +19,23 @@ 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=";
}; };
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" ]; hardeningDisable = [ "all" ];
# Fix the PARAVER_HOME variable # Fix the PARAVER_HOME variable

View 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

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,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

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,32 +1,32 @@
{ {
stdenv stdenv
, fetchFromGitHub
, autoreconfHook , autoreconfHook
, boost , boost
, libxml2 , libxml2
, xml2 , xml2
, wxGTK32
, autoconf , autoconf
, automake , automake
, pkg-config , pkg-config
, zlib , zlib
}: }:
let
wx = wxGTK32;
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" ];

View File

@ -15,7 +15,7 @@
, useGit ? false , useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git" , gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
, gitBranch ? "master" , gitBranch ? "master"
, gitCommit ? "a5c93bf8ab045b71ad4a8d5e2c991ce774db5cbc" , gitCommit ? "f6455db9d3124ae36e715a4874fd49720e79f20a"
}: }:
with lib; with lib;
@ -24,12 +24,12 @@ assert enableOvni -> (ovni != null);
let let
release = rec { release = rec {
version = "4.0"; version = "4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bsc-pm"; owner = "bsc-pm";
repo = "tampi"; repo = "tampi";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-R7ew5tsrxGReTvOeeZe1FD0oThBhOHoDGv6Mo2sbmDg="; hash = "sha256-SwfPSnwcZnRnSgNvCD5sFSUJRpWINqI5I4adj5Hh+XY=";
}; };
}; };
git = rec { git = rec {
@ -46,15 +46,16 @@ in stdenv.mkDerivation rec {
inherit (source) src version; inherit (source) src version;
enableParallelBuilding = true; enableParallelBuilding = true;
separateDebugInfo = true; separateDebugInfo = true;
buildInputs = [ nativeBuildInputs = [
autoreconfHook autoreconfHook
automake automake
autoconf autoconf
libtool libtool
gnumake gnumake
];
buildInputs = [
boost boost
mpi mpi
gcc
] ++ optional (enableOvni) ovni; ] ++ optional (enableOvni) ovni;
configureFlags = optional (enableOvni) "--with-ovni=${ovni}"; configureFlags = optional (enableOvni) "--with-ovni=${ovni}";
dontDisableStatic = true; dontDisableStatic = true;