Update nix derivations to use bscpkgs packages

This commit is contained in:
Rodrigo Arias 2023-05-30 17:09:41 +02:00
parent d0a47783f2
commit cec52ada83

View File

@ -8,8 +8,6 @@ let
# Recursively set MPI # Recursively set MPI
bsc = pkgs.bsc.extend (last: prev: { bsc = pkgs.bsc.extend (last: prev: {
mpi = last.impi;
#mpi = last.openmpi;
include-what-you-use = let include-what-you-use = let
gcc = pkgs.gcc; gcc = pkgs.gcc;
@ -25,80 +23,6 @@ let
''; '';
}; };
ovni = last.callPackage ./ovni.nix { };
# Use a fixed version to compile Nanos6 and nOS-V, so we don't need to
# rebuild them when ovni changes. We only need to maintain the
# compatibility in the versions of ovni traces, which will be
# checked by the emulator anyway.
ovniFixed = last.ovni.overrideAttrs (old: {
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/rarias/ovni.git";
ref = "master";
rev = "e47cf8fe22f79d9315e057376b4166013c2217a4";
};
});
nanos6 = (prev.nanos6Git.override {
gitUrl = "ssh://git@bscpm03.bsc.es/nanos6/nanos6.git";
gitBranch = "master";
# Master at 2022-11-14
#gitCommit = "a6f88173b7d849a453f35029cb0fbee73e8685da";
}).overrideAttrs (old: {
buildInputs = old.buildInputs ++ [ last.ovniFixed ];
configureFlags = old.configureFlags ++ [
"--with-ovni=${last.ovniFixed}"
];
});
ompss2 = {
# We need a recent clang to avoid silent ABI incompatible changes...
clangUnwrapped = prev.clangOmpss2Unwrapped.overrideAttrs (
old:
rec {
src = builtins.fetchTree {
type = "git";
url = "ssh://git@bscpm03.bsc.es/llvm-ompss/llvm-mono.git";
ref = "master";
# Master at 2022-11-14
rev = "58f311bf028d344ebd6072268bd21d33867d1466";
shallow = true;
};
version = "58f311bf";
}
);
clang = prev.clangOmpss2.override {
clangOmpss2Unwrapped = last.ompss2.clangUnwrapped;
};
stdenv = pkgs.overrideCC pkgs.llvmPackages_11.stdenv bsc.ompss2.clang;
};
nosv = pkgs.stdenv.mkDerivation rec {
pname = "nosv";
version = src.shortRev;
buildInputs = with pkgs; [ autoreconfHook pkg-config numactl last.ovniFixed ];
configureFlags = [ "--with-ovni=${last.ovniFixed}" ];
dontStrip = true;
src = builtins.fetchGit {
url = "ssh://git@gitlab-internal.bsc.es/nos-v/nos-v.git";
ref = "master";
};
};
nodes = (prev.nanos6Git.override {
gitUrl = "ssh://git@gitlab-internal.bsc.es/nos-v/nodes.git";
gitBranch = "master";
#gitCommit = "8bfbc2dbd8b09b6578aa5c07e57bffedcf5568af";
}).overrideAttrs (old: {
name = "nodes";
configureFlags = old.configureFlags ++ [
"--with-ovni=${last.ovniFixed}"
"--with-nosv=${last.nosv}"
];
});
# Build ovni with old gcc versions # Build ovni with old gcc versions
genOldOvni = stdenv: (last.ovni.override { genOldOvni = stdenv: (last.ovni.override {
stdenv = stdenv; stdenv = stdenv;
@ -140,7 +64,7 @@ let
# linked to the previous ovni. We need to be able to exit the chroot # linked to the previous ovni. We need to be able to exit the chroot
# to run Nanos6 tests, as they require access to /sys for hwloc # to run Nanos6 tests, as they require access to /sys for hwloc
ovni-rt = (last.ovni.override { ovni-rt = (last.ovni.override {
stdenv = last.ompss2.stdenv; stdenv = last.stdenvClangOmpss2;
}).overrideAttrs (old: { }).overrideAttrs (old: {
__noChroot = true; __noChroot = true;
buildInputs = old.buildInputs ++ [ buildInputs = old.buildInputs ++ [
@ -151,9 +75,10 @@ let
last.nodes last.nodes
pkgs.strace pkgs.strace
]; ];
preConfigure = '' #preConfigure = ''
export NODES_HOME="${last.nodes}" # export NODES_HOME="${last.nodes}"
''; # export NANOS6_HOME="${last.nanos6}"
#'';
}); });
ovni-nompi = last.ovni.overrideAttrs (old: { ovni-nompi = last.ovni.overrideAttrs (old: {