forked from rarias/bscpkgs
Compare commits
54 Commits
fix/sycl
...
c011f25954
| Author | SHA1 | Date | |
|---|---|---|---|
|
c011f25954
|
|||
|
19e865c6ec
|
|||
|
4ae7ad31a3
|
|||
|
83dee4df28
|
|||
|
4c17c95033
|
|||
|
c56073b78e
|
|||
|
a560b25bf8
|
|||
|
87817c523c
|
|||
|
dd2da36dfd
|
|||
| 92ee4a09d7 | |||
| 34f4b6aa37 | |||
| 2f2d6cbea8 | |||
| 69b09b6dda | |||
| a737d725ed | |||
| 6c1d1f3b2b | |||
| f338ef47d5 | |||
| 239e84c40c | |||
| ed820e79f8 | |||
| afeb415c98 | |||
| 256b24b97b | |||
| 492f73b600 | |||
| 76ddd85afe | |||
| 7affb8ef4b | |||
| 4ba823e5b7 | |||
| 51eecde59e | |||
| 9eb5c486ba | |||
| 5df49dcfab | |||
| 2ffdd53d86 | |||
| c7b5ec13b8 | |||
| 00dfe801f4 | |||
| 2c8d7ed855 | |||
| 1666c14a35 | |||
| b29f03ba6e | |||
| ae2ef1d2df | |||
| 9a48ae45bb | |||
| 974bb56dc3 | |||
| 88d4d8e317 | |||
| 885e04e446 | |||
| 26f52aa27d | |||
| 52fe43bfe1 | |||
| f0637b4569 | |||
| 6ddfea0a3a | |||
| e7adef1ffa | |||
| e82d3c3b9f | |||
| 4442b6a706 | |||
| 2d0b014dc7 | |||
| 867ba3ec5a | |||
| 2cacc2b265 | |||
| e4abd8d8f6 | |||
| a87b99d0a4 | |||
| 43d32ac16d | |||
| 9d1944c658 | |||
| 8e5b2dc5cc | |||
| f89cd4d7e2 |
15
.gitea/workflows/ci.yaml
Normal file
15
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
name: CI
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:all:
|
||||||
|
runs-on: native
|
||||||
|
steps:
|
||||||
|
- uses: https://gitea.com/ScMi1/checkout@v1.4
|
||||||
|
- run: nix build -L --no-link --print-out-paths .#bsc-ci.all
|
||||||
22
default.nix
22
default.nix
@@ -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
8
flake.lock
generated
@@ -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": {
|
||||||
|
|||||||
23
flake.nix
23
flake.nix
@@ -2,16 +2,27 @@
|
|||||||
inputs.nixpkgs.url = "nixpkgs";
|
inputs.nixpkgs.url = "nixpkgs";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ...}:
|
outputs = { self, nixpkgs, ...}:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs {
|
|
||||||
# For now we only support x86
|
# For now we only support x86
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
overlays = [ self.overlays.default ];
|
pkgs = import nixpkgs {
|
||||||
};
|
inherit system;
|
||||||
in
|
overlays = [ self.overlays.default ];
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
bscOverlay = import ./overlay.nix;
|
bscOverlay = import ./overlay.nix;
|
||||||
overlays.default = self.bscOverlay;
|
overlays.default = self.bscOverlay;
|
||||||
legacyPackages.x86_64-linux = pkgs;
|
# full nixpkgs with our overlay applied
|
||||||
|
legacyPackages.${system} = pkgs;
|
||||||
|
|
||||||
|
hydraJobs = {
|
||||||
|
inherit (self.legacyPackages.${system}.bsc-ci) tests pkgs cross;
|
||||||
|
};
|
||||||
|
|
||||||
|
# propagate nixpkgs lib, so we can do bscpkgs.lib
|
||||||
|
lib = nixpkgs.lib // {
|
||||||
|
bsc.maintainers = import ./maintainers/maintainer-list.nix;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
6
maintainers/maintainer-list.nix
Normal file
6
maintainers/maintainer-list.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
builtins.mapAttrs (name: value: { email = name + "@bsc.es"; } // value) {
|
||||||
|
abonerib.name = "Aleix Boné";
|
||||||
|
arocanon.name = "Aleix Roca";
|
||||||
|
rarias.name = "Rodrigo Arias";
|
||||||
|
rpenacob.name = "Raúl Peñacoba";
|
||||||
|
}
|
||||||
@@ -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=";
|
|
||||||
}
|
|
||||||
145
overlay.nix
145
overlay.nix
@@ -6,10 +6,34 @@ with final.lib;
|
|||||||
let
|
let
|
||||||
callPackage = final.callPackage;
|
callPackage = final.callPackage;
|
||||||
|
|
||||||
mkDeps = name: pkgs: final.runCommand name { }
|
|
||||||
"printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out";
|
|
||||||
|
|
||||||
bscPkgs = {
|
bscPkgs = {
|
||||||
|
|
||||||
|
# override stdenv to add a sentinel to know if a derivation comes
|
||||||
|
# from unfree sources.
|
||||||
|
stdenv = prev.stdenv // {
|
||||||
|
mkDerivation =
|
||||||
|
args:
|
||||||
|
let
|
||||||
|
originalDrv = prev.stdenv.mkDerivation args;
|
||||||
|
checkLicense = l: if builtins.isAttrs l then !(l.free or true) else false;
|
||||||
|
|
||||||
|
licenses = if builtins.isList args.meta.license then args.meta.license else [ args.meta.license ];
|
||||||
|
|
||||||
|
hasUnfreeLicense =
|
||||||
|
if args ? meta && args.meta ? license then builtins.any checkLicense licenses else false;
|
||||||
|
in
|
||||||
|
if hasUnfreeLicense then
|
||||||
|
builtins.traceVerbose "adding nix-support/private to ${originalDrv.name or originalDrv.pname}" (
|
||||||
|
originalDrv.overrideAttrs (old: {
|
||||||
|
postInstall = (old.postInstall or "") + ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
touch $out/nix-support/private
|
||||||
|
'';
|
||||||
|
}))
|
||||||
|
else
|
||||||
|
originalDrv;
|
||||||
|
};
|
||||||
|
|
||||||
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 { };
|
||||||
@@ -21,7 +45,7 @@ let
|
|||||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
||||||
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; };
|
||||||
@@ -49,56 +73,79 @@ let
|
|||||||
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
wxparaver = callPackage ./pkgs/paraver/default.nix { };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tests = rec {
|
||||||
|
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
|
||||||
|
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
||||||
|
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
||||||
|
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
||||||
|
lto = callPackage ./test/compilers/lto.nix { };
|
||||||
|
asan = callPackage ./test/compilers/asan.nix { };
|
||||||
|
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
||||||
|
intel2023-icc-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
||||||
|
intel2023-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv; };
|
||||||
|
intel2023-icc-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
||||||
|
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
||||||
|
stdenv = final.intelPackages_2023.stdenv-ifort;
|
||||||
|
};
|
||||||
|
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
||||||
|
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
||||||
|
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
||||||
|
stdenv = final.stdenvClangOmpss2Nanos6;
|
||||||
|
};
|
||||||
|
clangNodes-task = callPackage ./test/compilers/ompss2.nix {
|
||||||
|
stdenv = final.stdenvClangOmpss2Nodes;
|
||||||
|
};
|
||||||
|
clangNosvOpenmp-task = callPackage ./test/compilers/clang-openmp.nix {
|
||||||
|
stdenv = final.stdenvClangOmpss2Nodes;
|
||||||
|
};
|
||||||
|
clangNosvOmpv-nosv = callPackage ./test/compilers/clang-openmp-nosv.nix {
|
||||||
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
||||||
|
};
|
||||||
|
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
||||||
|
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgs = filterAttrs (_: isDerivation) bscPkgs;
|
||||||
|
|
||||||
|
crossTargets = [ "riscv64" ];
|
||||||
|
cross = prev.lib.genAttrs crossTargets (target:
|
||||||
|
final.pkgsCross.${target}.bsc-ci.pkgs
|
||||||
|
);
|
||||||
|
|
||||||
|
buildList = name: paths:
|
||||||
|
final.runCommandLocal name { } ''
|
||||||
|
printf '%s\n' ${toString paths} | tee $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildList' = name: paths:
|
||||||
|
final.runCommandLocal name { } ''
|
||||||
|
deps="${toString paths}"
|
||||||
|
cat $deps
|
||||||
|
printf '%s\n' $deps >$out
|
||||||
|
'';
|
||||||
|
|
||||||
|
crossList = builtins.mapAttrs (t: v: buildList t (builtins.attrValues v)) cross;
|
||||||
|
|
||||||
|
pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgs);
|
||||||
|
testList = buildList "ci-tests" (collect isDerivation tests);
|
||||||
|
|
||||||
|
all = buildList' "ci-all" [ pkgsList testList ];
|
||||||
|
|
||||||
in bscPkgs // {
|
in bscPkgs // {
|
||||||
|
|
||||||
|
lib = prev.lib // {
|
||||||
|
bsc.maintainers = import ./maintainers/maintainer-list.nix;
|
||||||
|
};
|
||||||
|
|
||||||
# Prevent accidental usage of bsc attribute
|
# Prevent accidental usage of bsc attribute
|
||||||
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
|
bsc = throw "the bsc attribute is deprecated, packages are now in the root";
|
||||||
|
|
||||||
# Internal for our CI tests
|
# Internal for our CI tests
|
||||||
bsc-ci = {
|
bsc-ci = {
|
||||||
test = rec {
|
inherit pkgs pkgsList;
|
||||||
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys
|
inherit tests testList;
|
||||||
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
|
inherit cross crossList;
|
||||||
hello-c = callPackage ./test/compilers/hello-c.nix { };
|
inherit all;
|
||||||
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };
|
|
||||||
lto = callPackage ./test/compilers/lto.nix { };
|
|
||||||
asan = callPackage ./test/compilers/asan.nix { };
|
|
||||||
intel2023-icx-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
||||||
intel2023-icc-c = hello-c.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
||||||
intel2023-icx-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv; };
|
|
||||||
intel2023-icc-cpp = hello-cpp.override { stdenv = final.intelPackages_2023.stdenv-icc; };
|
|
||||||
intel2023-ifort = callPackage ./test/compilers/hello-f.nix {
|
|
||||||
stdenv = final.intelPackages_2023.stdenv-ifort;
|
|
||||||
};
|
|
||||||
clangOmpss2-lto = lto.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
||||||
clangOmpss2-asan = asan.override { stdenv = final.stdenvClangOmpss2Nanos6; };
|
|
||||||
clangOmpss2-task = callPackage ./test/compilers/ompss2.nix {
|
|
||||||
stdenv = final.stdenvClangOmpss2Nanos6;
|
|
||||||
};
|
|
||||||
clangNodes-task = callPackage ./test/compilers/ompss2.nix {
|
|
||||||
stdenv = final.stdenvClangOmpss2Nodes;
|
|
||||||
};
|
|
||||||
clangNosvOpenmp-task = callPackage ./test/compilers/clang-openmp.nix {
|
|
||||||
stdenv = final.stdenvClangOmpss2Nodes;
|
|
||||||
};
|
|
||||||
clangNosvOmpv-nosv = callPackage ./test/compilers/clang-openmp-nosv.nix {
|
|
||||||
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
||||||
};
|
|
||||||
clangNosvOmpv-ld = callPackage ./test/compilers/clang-openmp-ld.nix {
|
|
||||||
stdenv = final.stdenvClangOmpss2NodesOmpv;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgs = final.runCommand "ci-pkgs" { }
|
|
||||||
"printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out";
|
|
||||||
|
|
||||||
tests = final.runCommand "ci-tests" { }
|
|
||||||
"printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out";
|
|
||||||
|
|
||||||
all = final.runCommand "ci-all" { }
|
|
||||||
''
|
|
||||||
deps="${toString [ final.bsc-ci.pkgs final.bsc-ci.tests ]}"
|
|
||||||
cat $deps
|
|
||||||
printf '%s\n' $deps > $out
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
|
, 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,13 +28,43 @@ stdenv.mkDerivation rec {
|
|||||||
rev = gitCommit;
|
rev = gitCommit;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake clangOmpss2 nanos6 nodes mpi tampi ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
clangOmpss2
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
bigotes
|
||||||
|
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++"
|
||||||
];
|
];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";
|
||||||
|
description = "Set of micro-benchmarks for OmpSs-2 and several mini-apps";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation {
|
||||||
pname = "bigotes";
|
pname = "bigotes";
|
||||||
version = "9dce13";
|
version = "9dce13";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@@ -13,5 +14,13 @@ stdenv.mkDerivation rec {
|
|||||||
rev = "9dce13446a8da30bea552d569d260d54e0188518";
|
rev = "9dce13446a8da30bea552d569d260d54e0188518";
|
||||||
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
|
sha256 = "sha256-ktxM3pXiL8YXSK+/IKWYadijhYXqGoLY6adLk36iigE=";
|
||||||
};
|
};
|
||||||
buildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/rodarima/bigotes";
|
||||||
|
description = "Versatile benchmark tool";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#, python3Packages
|
#, python3Packages
|
||||||
, installShellFiles
|
, installShellFiles
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
|
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
|
|||||||
--enable-sampling
|
--enable-sampling
|
||||||
--with-unwind=${libunwind.dev}
|
--with-unwind=${libunwind.dev}
|
||||||
--with-xml-prefix=${libxml2.dev}
|
--with-xml-prefix=${libxml2.dev}
|
||||||
--with-papi=${papi}
|
${lib.optionalString enablePapi "--with-papi=${papi}"}
|
||||||
${if (mpi != null) then ''--with-mpi=${mpi}''
|
${if (mpi != null) then ''--with-mpi=${mpi}''
|
||||||
else ''--without-mpi''}
|
else ''--without-mpi''}
|
||||||
--without-dyninst)
|
--without-dyninst)
|
||||||
@@ -110,4 +111,12 @@ stdenv.mkDerivation rec {
|
|||||||
# then [ "--enable-openmp" ]
|
# then [ "--enable-openmp" ]
|
||||||
# else []
|
# else []
|
||||||
# );
|
# );
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-performance-tools/extrae";
|
||||||
|
description = "Instrumentation framework to generate execution traces of the most used parallel runtimes";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
, slurm
|
, slurm
|
||||||
@@ -34,6 +35,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
patches = [ ./rdma-core.patch ./max-mem.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs autogen.sh
|
patchShebangs autogen.sh
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
@@ -50,4 +53,12 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ slurm mpiAll rdma-core-all autoconf automake libtool rsync gfortran ];
|
buildInputs = [ slurm mpiAll rdma-core-all autoconf automake libtool rsync gfortran ];
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://pm.bsc.es/gitlab/interoperability/extern/GPI-2";
|
||||||
|
description = "GPI-2 extended for supporting Task-Aware GASPI (TAGASPI) library";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
10
pkgs/gpi-2/max-mem.patch
Normal file
10
pkgs/gpi-2/max-mem.patch
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
--- a/tests/tests/segments/max_mem.c 2025-09-12 13:30:53.449353591 +0200
|
||||||
|
+++ b/tests/tests/segments/max_mem.c 2025-09-12 13:33:49.750352401 +0200
|
||||||
|
@@ -1,5 +1,7 @@
|
||||||
|
#include <test_utils.h>
|
||||||
|
|
||||||
|
+gaspi_size_t gaspi_get_system_mem (void);
|
||||||
|
+
|
||||||
|
/* Test allocates 45% of system memory and creates a segment that
|
||||||
|
large or if several ranks per node exist, divided among that
|
||||||
|
number */
|
||||||
12
pkgs/gpi-2/rdma-core.patch
Normal file
12
pkgs/gpi-2/rdma-core.patch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/src/devices/ib/GPI2_IB.h 2025-09-12 13:25:31.564181121 +0200
|
||||||
|
+++ b/src/devices/ib/GPI2_IB.h 2025-09-12 13:24:49.105422150 +0200
|
||||||
|
@@ -26,6 +26,9 @@ along with GPI-2. If not, see <http://ww
|
||||||
|
|
||||||
|
#include "GPI2_Dev.h"
|
||||||
|
|
||||||
|
+/* Missing prototype as driver.h is now private */
|
||||||
|
+int ibv_read_sysfs_file(const char *dir, const char *file, char *buf, size_t size);
|
||||||
|
+
|
||||||
|
#define GASPI_GID_INDEX (0)
|
||||||
|
#define PORT_LINK_UP (5)
|
||||||
|
#define MAX_INLINE_BYTES (128)
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, rpmextract
|
, rpmextract
|
||||||
, autoPatchelfHook
|
, autoPatchelfHook
|
||||||
@@ -59,4 +60,12 @@ stdenv.mkDerivation rec {
|
|||||||
rm $out/lib/*.dbg
|
rm $out/lib/*.dbg
|
||||||
popd
|
popd
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
|
||||||
|
description = "Intel compiler";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.unfree;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,4 +145,12 @@ in
|
|||||||
popd
|
popd
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
|
||||||
|
description = "Intel compiler";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.unfree;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, rpmextract
|
, rpmextract
|
||||||
, gcc
|
, gcc
|
||||||
, zlib
|
, zlib
|
||||||
@@ -101,4 +102,12 @@ stdenv.mkDerivation rec {
|
|||||||
patchelf --set-rpath "$out/lib:${rdma-core}/lib:${libpsm2}/lib" $out/lib/libfabric.so
|
patchelf --set-rpath "$out/lib:${rdma-core}/lib:${libpsm2}/lib" $out/lib/libfabric.so
|
||||||
echo "Patched RPATH in libfabric.so to: $(patchelf --print-rpath $out/lib/libfabric.so)"
|
echo "Patched RPATH in libfabric.so to: $(patchelf --print-rpath $out/lib/libfabric.so)"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://www.intel.com/content/www/us/en/developer/tools/overview.html";
|
||||||
|
description = "Intel compiler";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.unfree;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
@@ -45,11 +43,15 @@ let
|
|||||||
];
|
];
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
awk -F': ' '\
|
awk -F': ' '\
|
||||||
BEGIN { print "[ {" } \
|
BEGIN { print "[ {" } \
|
||||||
NR>1 && /^Package: / { print "} {"; } \
|
NR>1 && /^Package: / { print "} {"; } \
|
||||||
/: / { printf "%s = \"%s\";\n", $1, $2 } \
|
/: / { printf "%s = \"%s\";\n", $1, $2 } \
|
||||||
END { print "} ]" }' $srcs > $out
|
END { print "} ]" }' $srcs > $out
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -80,15 +82,26 @@ let
|
|||||||
uncompressDebs = debs: name: stdenv.mkDerivation {
|
uncompressDebs = debs: name: stdenv.mkDerivation {
|
||||||
name = name;
|
name = name;
|
||||||
srcs = debs;
|
srcs = debs;
|
||||||
buildInputs = [ dpkg ];
|
nativeBuildInputs = [ dpkg ];
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
for src in $srcs; do
|
for src in $srcs; do
|
||||||
echo "unpacking $src"
|
echo "unpacking $src"
|
||||||
dpkg -x $src $out
|
dpkg -x $src $out
|
||||||
done
|
done
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
joinDebs = name: names:
|
joinDebs = name: names:
|
||||||
@@ -110,17 +123,22 @@ let
|
|||||||
"intel-oneapi-mpi-${version}"
|
"intel-oneapi-mpi-${version}"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
rsync
|
rsync
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
libfabric
|
libfabric
|
||||||
zlib
|
zlib
|
||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/{bin,etc,lib,include}
|
mkdir -p $out/{bin,etc,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -137,6 +155,8 @@ let
|
|||||||
# Broken due missing libze_loader.so.1
|
# Broken due missing libze_loader.so.1
|
||||||
rsync -a --exclude IMB-MPI1-GPU bin/ $out/bin/
|
rsync -a --exclude IMB-MPI1-GPU bin/ $out/bin/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
for i in $out/bin/mpi* ; do
|
for i in $out/bin/mpi* ; do
|
||||||
@@ -144,6 +164,13 @@ let
|
|||||||
sed -i "s:I_MPI_SUBSTITUTE_INSTALLDIR:$out:g" "$i"
|
sed -i "s:I_MPI_SUBSTITUTE_INSTALLDIR:$out:g" "$i"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
intel-tbb = stdenv.mkDerivation rec {
|
intel-tbb = stdenv.mkDerivation rec {
|
||||||
@@ -156,7 +183,6 @@ let
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
rsync
|
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -164,13 +190,18 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
rsync
|
||||||
|
];
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
|
|
||||||
cd $src
|
cd $src
|
||||||
@@ -179,7 +210,16 @@ let
|
|||||||
# Libraries
|
# Libraries
|
||||||
rsync -a lib/intel64/gcc4.8/ $out/lib/
|
rsync -a lib/intel64/gcc4.8/ $out/lib/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
intel-compiler-shared = stdenv.mkDerivation rec {
|
intel-compiler-shared = stdenv.mkDerivation rec {
|
||||||
@@ -194,7 +234,6 @@ let
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
intel-tbb
|
intel-tbb
|
||||||
rsync
|
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -203,13 +242,18 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
rsync
|
||||||
|
];
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib,include}
|
mkdir -p $out/{bin,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -234,7 +278,16 @@ let
|
|||||||
rsync -a compiler/include/ $out/include/
|
rsync -a compiler/include/ $out/include/
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -256,7 +309,6 @@ let
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-mpi
|
intel-mpi
|
||||||
intel-compiler-shared
|
intel-compiler-shared
|
||||||
rsync
|
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -264,13 +316,18 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
rsync
|
||||||
|
];
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib,include}
|
mkdir -p $out/{bin,lib,include}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -296,8 +353,18 @@ let
|
|||||||
|
|
||||||
# Fix lib_lin
|
# Fix lib_lin
|
||||||
ln -s $out/lib $out/lib_lin
|
ln -s $out/lib $out/lib_lin
|
||||||
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
intel-compiler = stdenv.mkDerivation rec {
|
intel-compiler = stdenv.mkDerivation rec {
|
||||||
@@ -314,6 +381,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
|
||||||
@@ -338,7 +406,6 @@ let
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
intel-compiler-shared
|
intel-compiler-shared
|
||||||
rsync
|
|
||||||
libffi_3_3
|
libffi_3_3
|
||||||
libelf
|
libelf
|
||||||
libxml2
|
libxml2
|
||||||
@@ -346,7 +413,10 @@ let
|
|||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
rsync
|
||||||
|
];
|
||||||
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
|
autoPatchelfIgnoreMissingDeps = [ "libtbb.so.12" "libtbbmalloc.so.2" "libze_loader.so.1" ];
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
@@ -354,6 +424,8 @@ let
|
|||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/{bin,lib}
|
mkdir -p $out/{bin,lib}
|
||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
|
|
||||||
@@ -381,7 +453,16 @@ let
|
|||||||
# Manuals
|
# Manuals
|
||||||
rsync -a documentation/en/man/common/ $out/share/man/
|
rsync -a documentation/en/man/common/ $out/share/man/
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
homepage = "";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [ ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:
|
wrapIntel = { cc, mygcc, extraBuild ? "", extraInstall ? "" }:
|
||||||
@@ -399,7 +480,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
|
||||||
|
|||||||
@@ -16,19 +16,19 @@
|
|||||||
, 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;
|
stdenv = llvmPackages_latest.stdenv;
|
||||||
|
|
||||||
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,32 +43,36 @@ let
|
|||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation {
|
||||||
pname = "clang-ompss2";
|
pname = "clang-ompss2";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
isClang = true;
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
CC = "clang";
|
CC = "clang";
|
||||||
CXX = "clang++";
|
CXX = "clang++";
|
||||||
|
|
||||||
|
isClang = true;
|
||||||
|
isClangWithOmpss = true;
|
||||||
|
|
||||||
|
inherit gcc zlib;
|
||||||
};
|
};
|
||||||
|
|
||||||
isClangWithOmpss = true;
|
nativeBuildInputs = [
|
||||||
|
|
||||||
nativeBuildInputs = [ zlib ];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
which
|
|
||||||
bash
|
bash
|
||||||
|
cmake
|
||||||
|
elfutils
|
||||||
|
llvmPackages_latest.lld
|
||||||
|
pkg-config
|
||||||
python3
|
python3
|
||||||
perl
|
perl
|
||||||
cmake
|
which
|
||||||
llvmPackages_latest.lld
|
zlib
|
||||||
elfutils
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
libffi
|
libffi
|
||||||
pkg-config
|
|
||||||
zlib
|
zlib
|
||||||
gcc.cc.lib # Required for libstdc++.so.6
|
gcc.cc.lib # Required for libstdc++.so.6
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -9,12 +9,14 @@
|
|||||||
, ompss2rt ? null
|
, ompss2rt ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
|
||||||
sameNosv = openmp.nosv == ompss2rt.nosv;
|
sameNosv = openmp.nosv == ompss2rt.nosv;
|
||||||
in
|
in
|
||||||
|
|
||||||
assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
|
assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
|
||||||
|
|
||||||
let
|
let
|
||||||
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
|
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
|
||||||
@@ -34,14 +36,15 @@ let
|
|||||||
targetConfig = stdenv.targetPlatform.config;
|
targetConfig = stdenv.targetPlatform.config;
|
||||||
inherit gcc;
|
inherit gcc;
|
||||||
cc = clangOmpss2Unwrapped;
|
cc = clangOmpss2Unwrapped;
|
||||||
|
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||||
in wrapCCWith {
|
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 (openmp != null) openmp;
|
||||||
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 "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
||||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
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
|
||||||
@@ -55,12 +58,12 @@ in wrapCCWith {
|
|||||||
|
|
||||||
wrap clang++ $wrapper $ccPath/clang++
|
wrap clang++ $wrapper $ccPath/clang++
|
||||||
|
|
||||||
'' + lib.optionalString (openmp != null) ''
|
'' + optionalString (openmp != 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.nosv}" >> $out/nix-support/cc-wrapper-hook
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,6 +68,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 = {
|
||||||
|
|||||||
@@ -1,35 +1,47 @@
|
|||||||
{
|
{
|
||||||
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
|
||||||
|
./fix-cross.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
|
||||||
|
CC=${stdenv.cc.targetPrefix}cc
|
||||||
|
AR=${stdenv.cc.targetPrefix}ar
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
13
pkgs/lmbench/fix-cross.patch
Normal file
13
pkgs/lmbench/fix-cross.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/Makefile b/src/Makefile
|
||||||
|
index 2555014..356eeb3 100644
|
||||||
|
--- a/src/Makefile
|
||||||
|
+++ b/src/Makefile
|
||||||
|
@@ -36,7 +36,7 @@ SHELL=/bin/sh
|
||||||
|
|
||||||
|
CC=`../scripts/compiler`
|
||||||
|
MAKE=`../scripts/make`
|
||||||
|
-AR=ar
|
||||||
|
+AR?=ar
|
||||||
|
ARCREATE=cr
|
||||||
|
|
||||||
|
# base of installation location
|
||||||
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
|
||||||
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, nanos6
|
, nanos6
|
||||||
@@ -32,19 +33,22 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
nanos6
|
bison
|
||||||
gperf
|
flex
|
||||||
python3
|
python3
|
||||||
gfortran
|
gfortran
|
||||||
pkg-config
|
pkg-config
|
||||||
sqlite.dev
|
gperf
|
||||||
bison
|
|
||||||
flex
|
|
||||||
gcc
|
gcc
|
||||||
];
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
nanos6
|
||||||
|
sqlite.dev
|
||||||
|
];
|
||||||
|
|
||||||
patches = [ ./intel.patch ];
|
patches = [ ./intel.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
@@ -59,4 +63,12 @@ stdenv.mkDerivation rec {
|
|||||||
# Fails with "memory exhausted" with bison 3.7.1
|
# Fails with "memory exhausted" with bison 3.7.1
|
||||||
# "--enable-bison-regeneration"
|
# "--enable-bison-regeneration"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/mcxx";
|
||||||
|
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
|
||||||
|
maintainers = with maintainers.bsc; [ rpenacob ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, nanos6
|
, nanos6
|
||||||
@@ -57,4 +58,12 @@ stdenv.mkDerivation rec {
|
|||||||
# Fails with "memory exhausted" with bison 3.7.1
|
# Fails with "memory exhausted" with bison 3.7.1
|
||||||
# "--enable-bison-regeneration"
|
# "--enable-bison-regeneration"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/mcxx";
|
||||||
|
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
|
||||||
|
maintainers = with maintainers.bsc; [ rpenacob ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchgit
|
, fetchgit
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, nanos6
|
, nanos6
|
||||||
@@ -56,4 +57,12 @@ stdenv.mkDerivation rec {
|
|||||||
#preBuild = ''
|
#preBuild = ''
|
||||||
# make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++
|
# make generate_builtins_ia32 GXX_X86_BUILTINS=${gcc}/bin/g++
|
||||||
#'';
|
#'';
|
||||||
|
#
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/mcxx";
|
||||||
|
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://github.com/pmodels/mpich/blob/v${version}/COPYRIGHT";
|
url = "https://github.com/pmodels/mpich/blob/v${version}/COPYRIGHT";
|
||||||
fullName = "MPICH license (permissive)";
|
fullName = "MPICH license (permissive)";
|
||||||
};
|
};
|
||||||
maintainers = [ ];
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,11 @@
|
|||||||
, jemallocNanos6 ? null
|
, jemallocNanos6 ? null
|
||||||
, cachelineBytes ? 64
|
, cachelineBytes ? 64
|
||||||
, enableGlibcxxDebug ? false
|
, enableGlibcxxDebug ? false
|
||||||
|
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
||||||
, 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 +29,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=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -47,6 +48,8 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
|
|
||||||
|
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (source // {
|
stdenv.mkDerivation (source // {
|
||||||
pname = "nanos6";
|
pname = "nanos6";
|
||||||
@@ -71,9 +74,11 @@ in
|
|||||||
"--disable-all-instrumentations"
|
"--disable-all-instrumentations"
|
||||||
"--enable-ovni-instrumentation"
|
"--enable-ovni-instrumentation"
|
||||||
"--with-ovni=${ovni}"
|
"--with-ovni=${ovni}"
|
||||||
|
"--with-boost=${boost.dev}"
|
||||||
] ++
|
] ++
|
||||||
(optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++
|
(optional enableJemalloc "--with-jemalloc=${jemallocNanos6}") ++
|
||||||
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG");
|
(optional enableGlibcxxDebug "CXXFLAGS=-D_GLIBCXX_DEBUG") ++
|
||||||
|
(optional isCross "--with-symbol-resolution=ifunc");
|
||||||
|
|
||||||
postConfigure = lib.optionalString (!enableDebug) ''
|
postConfigure = lib.optionalString (!enableDebug) ''
|
||||||
# Disable debug
|
# Disable debug
|
||||||
@@ -88,17 +93,23 @@ in
|
|||||||
dontStrip = enableDebug;
|
dontStrip = enableDebug;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
|
# TODO: papi_version is needed for configure:
|
||||||
|
# ./configure: line 27378: papi_version: command not found
|
||||||
|
# This probably breaks cross-compilation
|
||||||
|
] ++ lib.optionals enablePapi [ papi ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
numactl
|
numactl
|
||||||
hwloc
|
hwloc
|
||||||
papi
|
|
||||||
ovni
|
ovni
|
||||||
];
|
] ++ lib.optionals enablePapi [ papi ];
|
||||||
|
|
||||||
# Create a script that sets NANOS6_HOME
|
# Create a script that sets NANOS6_HOME
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
@@ -110,6 +121,7 @@ in
|
|||||||
homepage = "https://github.com/bsc-pm/nanos6";
|
homepage = "https://github.com/bsc-pm/nanos6";
|
||||||
description = "Nanos6 runtime for OmpSs-2" +
|
description = "Nanos6 runtime for OmpSs-2" +
|
||||||
optionalString (enableDebug) " (with debug symbols)";
|
optionalString (enableDebug) " (with debug symbols)";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ jemalloc }:
|
{ jemalloc, lib }:
|
||||||
|
|
||||||
jemalloc.overrideAttrs (old: {
|
jemalloc.overrideAttrs (old: {
|
||||||
configureFlags = old.configureFlags ++ [
|
configureFlags = old.configureFlags ++ [
|
||||||
@@ -8,5 +8,6 @@ jemalloc.overrideAttrs (old: {
|
|||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
meta = old.meta // {
|
meta = old.meta // {
|
||||||
description = old.meta.description + " (for Nanos6)";
|
description = old.meta.description + " (for Nanos6)";
|
||||||
|
maintainers = old.meta.maintainers // (with lib.maintainers.bsc; [ rarias ]);
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, bashInteractive
|
, bashInteractive
|
||||||
, busybox
|
, busybox
|
||||||
, nix
|
, nix
|
||||||
@@ -86,5 +87,13 @@ stdenv.mkDerivation rec {
|
|||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp ${nix_conf} $out/share/nix.conf
|
cp ${nix_conf} $out/share/nix.conf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = null;
|
||||||
|
description = "nix bubblewrap wrapper";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus; # TODO: license?
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, glibc
|
, glibc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -15,4 +16,12 @@ stdenv.mkDerivation rec {
|
|||||||
makeFlags = [ "DESTDIR=$(out)" ];
|
makeFlags = [ "DESTDIR=$(out)" ];
|
||||||
preBuild = "env";
|
preBuild = "env";
|
||||||
dontPatchShebangs = true;
|
dontPatchShebangs = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";
|
||||||
|
description = "nix bubblewrap wrapper";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus; # TODO: license?
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,4 +81,12 @@ in
|
|||||||
passthru = {
|
passthru = {
|
||||||
inherit nosv;
|
inherit nosv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://gitlab.bsc.es/nos-v/nodes";
|
||||||
|
description = "Runtime library designed to work on top of the nOS-V runtime";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,24 +6,26 @@
|
|||||||
, pkg-config
|
, pkg-config
|
||||||
, numactl
|
, numactl
|
||||||
, hwloc
|
, hwloc
|
||||||
|
, papi
|
||||||
|
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
|
||||||
, cacheline ? 64 # bits
|
, cacheline ? 64 # bits
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
, 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=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -56,5 +58,13 @@ in
|
|||||||
numactl
|
numactl
|
||||||
hwloc
|
hwloc
|
||||||
ovni
|
ovni
|
||||||
];
|
] ++ lib.optionals enablePapi [ papi ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://gitlab.bsc.es/nos-v/nos-v";
|
||||||
|
description = "Tasking library enables the co-execution of multiple applications with system-wide scheduling and a centralized management of resources";
|
||||||
|
maintainers = with maintainers.bsc; [ abonerib ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
nativeBuildInputs = [ mpiAll ];
|
||||||
buildInputs = [ mpiAll ];
|
buildInputs = [ mpiAll ];
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "OSU Micro-Benchmarks";
|
description = "OSU Micro-Benchmarks";
|
||||||
homepage = http://mvapich.cse.ohio-state.edu/benchmarks/;
|
homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/";
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,23 +7,21 @@
|
|||||||
, 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)
|
||||||
}:
|
}:
|
||||||
|
|
||||||
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 {
|
||||||
@@ -45,7 +43,7 @@ in
|
|||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs --build test/
|
patchShebangs --build test/
|
||||||
'';
|
'';
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ] ++ lib.optionals (useMpi) [ mpi ];
|
||||||
buildInputs = lib.optionals (useMpi) [ mpi ];
|
buildInputs = lib.optionals (useMpi) [ mpi ];
|
||||||
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
|
cmakeBuildType = if (enableDebug) then "Debug" else "Release";
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
@@ -57,4 +55,12 @@ in
|
|||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkTarget = "test";
|
checkTarget = "test";
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://ovni.readthedocs.io";
|
||||||
|
description = "Obtuse but Versatile Nanoscale Instrumentation";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, boost
|
, boost
|
||||||
, libxml2
|
, libxml2
|
||||||
@@ -18,14 +20,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
|
||||||
@@ -50,17 +61,17 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
autoreconfHook
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
autoreconfHook
|
|
||||||
boost
|
boost
|
||||||
libxml2.dev
|
libxml2.dev
|
||||||
xml2
|
xml2
|
||||||
wx
|
wx
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
paraverKernel
|
paraverKernel
|
||||||
openssl.dev
|
openssl.dev
|
||||||
];
|
];
|
||||||
@@ -78,4 +89,12 @@ stdenv.mkDerivation rec {
|
|||||||
mkdir -p $out/share/man
|
mkdir -p $out/share/man
|
||||||
mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1
|
mv $out/share/doc/wxparaver_help_contents/man $out/share/man/man1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-performance-tools/wxparaver";
|
||||||
|
description = "Trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
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
|
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 );
|
||||||
|
|||||||
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
|
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" ];
|
||||||
@@ -44,14 +44,17 @@ stdenv.mkDerivation rec {
|
|||||||
"--enable-openmp"
|
"--enable-openmp"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
boost
|
|
||||||
libxml2.dev
|
|
||||||
xml2
|
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
pkg-config
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
boost
|
||||||
|
libxml2.dev
|
||||||
|
xml2
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,13 +61,16 @@ stdenv.mkDerivation rec {
|
|||||||
"--with-wx-config=${wx}/bin/wx-config"
|
"--with-wx-config=${wx}/bin/wx-config"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
xml2
|
xml2
|
||||||
libxml2.dev
|
libxml2.dev
|
||||||
wx
|
wx
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
openssl.dev
|
openssl.dev
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, ovni
|
, ovni
|
||||||
@@ -18,9 +19,21 @@ stdenv.mkDerivation rec {
|
|||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
configureFlags = [ "--with-ovni=${ovni}" ];
|
configureFlags = [ "--with-ovni=${ovni}" ];
|
||||||
buildInputs = [
|
|
||||||
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
ovni
|
ovni
|
||||||
mpi
|
mpi
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/sonar";
|
||||||
|
description = "Set of runtime libraries which instrument parallel programming models through the ovni instrumentation library";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, automake
|
, automake
|
||||||
, autoconf
|
, autoconf
|
||||||
@@ -55,4 +56,12 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/tagaspi";
|
||||||
|
description = "Task-Aware GASPI";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,13 @@
|
|||||||
, gnumake
|
, gnumake
|
||||||
, boost
|
, boost
|
||||||
, mpi
|
, mpi
|
||||||
, gcc
|
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, enableOvni ? true
|
, enableOvni ? true
|
||||||
, ovni ? null
|
, ovni ? null
|
||||||
, 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 +23,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 {
|
||||||
@@ -41,22 +40,33 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
source = if (useGit) then git else release;
|
source = if (useGit) then git else release;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation {
|
||||||
pname = "tampi";
|
pname = "tampi";
|
||||||
inherit (source) src version;
|
inherit (source) src version;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
buildInputs = [
|
|
||||||
autoreconfHook
|
nativeBuildInputs = [
|
||||||
automake
|
|
||||||
autoconf
|
autoconf
|
||||||
libtool
|
automake
|
||||||
|
autoreconfHook
|
||||||
gnumake
|
gnumake
|
||||||
|
libtool
|
||||||
|
];
|
||||||
|
|
||||||
|
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;
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bsc-pm/tampi";
|
||||||
|
description = "Task-Aware MPI";
|
||||||
|
maintainers = with maintainers.bsc; [ rarias ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user