ifsker: add gitTable

This commit is contained in:
2021-04-20 18:20:27 +02:00
parent e0197950a6
commit c075498f71
2 changed files with 46 additions and 30 deletions

View File

@@ -6,49 +6,55 @@
, nanos6
, mcxx
, gitBranch ? "garlic/mpi+isend+seq"
, gitCommit ? null
, garlicTools
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ifsker";
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/garlic/apps/ifsker.git";
ref = gitBranch;
let
gitSource = garlicTools.fetchGarlicApp {
appName = "ifsker";
inherit gitCommit gitBranch;
gitTable = import ./git-table.nix;
};
in
stdenv.mkDerivation rec {
name = "ifsker";
buildInputs = [ tampi mpi nanos6 mcxx gfortran ];
inherit (gitSource) src gitBranch gitCommit;
preferLocalBuild = true;
buildInputs = [ tampi mpi nanos6 mcxx gfortran ];
# Mercurium seems to fail when building with fortran in parallel
enableParallelBuilding = false;
preferLocalBuild = true;
# FIXME: Patch mcxx to use other directory than $HOME for the lock
# files.
preConfigure = ''
export TAMPI_HOME=${tampi}
# Mercurium seems to fail when building with fortran in parallel
enableParallelBuilding = false;
# $HOME is required for the lock files by mcxx to compile fortran.
# So we use the $TMPDIR to store them.
export HOME=$TMPDIR
'';
# FIXME: Patch mcxx to use other directory than $HOME for the lock
# files.
preConfigure = ''
export TAMPI_HOME=${tampi}
makeFlags = [
"-f" "Makefile.gcc"
];
# $HOME is required for the lock files by mcxx to compile fortran.
# So we use the $TMPDIR to store them.
export HOME=$TMPDIR
'';
makeFlags = [
"-f" "Makefile.gcc"
];
installPhase = ''
mkdir -p $out/bin
cp ${name} $out/bin/
installPhase = ''
mkdir -p $out/bin
cp ${name} $out/bin/
mkdir -p $out/etc
cp -r data $out/etc/
cp nanos6.toml $out/etc
'';
mkdir -p $out/etc
cp -r data $out/etc/
cp nanos6.toml $out/etc
'';
programPath = "/bin/${name}";
programPath = "/bin/${name}";
}
}