diff --git a/NOISE b/NOISE index cab9f35..a4cf4cd 100644 --- a/NOISE +++ b/NOISE @@ -108,3 +108,19 @@ ABSTRACT Do not use to ensure reproducibility. /* vim: set ts=2 sw=2 tw=72 fo=watqc expandtab spell autoindent: */ + +1.8 Nix compilation environment + + When using local repo as src code, (e.g. developer mode on) a make + clean at the preBuild stage is required. + + Nix sets the current date to the files copied from repos. + Makefile checks the files modification date in order to call or not + the compilation instructions. + If any object/binary file exists out of Nix, at the time we build + within Nix, they will be copied with the current data and consequently + not updated during the Nix compilation process. + + See saiph devMode option and its implications at + bscpkgs/garlic/saiph/default.nix + diff --git a/garlic/exp/saiph/numcomm.nix b/garlic/exp/saiph/numcomm.nix index fe0e63a..7da9d9c 100644 --- a/garlic/exp/saiph/numcomm.nix +++ b/garlic/exp/saiph/numcomm.nix @@ -12,6 +12,7 @@ with stdenv.lib; let # Set variable configuration for the experiment varConfig = { + devMode = [ true ]; numComm = [ 1 ]; }; @@ -148,7 +149,7 @@ let }); in customPkgs.bsc.garlic.saiph.override { - inherit numComm mpi gitBranch; + inherit devMode numComm mpi gitBranch; }; stages = with common; [] diff --git a/garlic/saiph/default.nix b/garlic/saiph/default.nix index c8a8a0a..c9f3cad 100644 --- a/garlic/saiph/default.nix +++ b/garlic/saiph/default.nix @@ -6,6 +6,7 @@ , cc , vtk , boost +, devMode ? false , gitBranch ? "master" , numComm ? null , vectFlags ? null @@ -15,13 +16,13 @@ stdenv.mkDerivation rec { name = "saiph"; - src = builtins.fetchGit { - url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git"; - ref = "${gitBranch}"; - }; + src = (if (devMode == true) then ~/repos/saiph + else + builtins.fetchGit { + url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git"; + ref = "${gitBranch}"; + }); - #src = /tmp/saiph; - programPath = "/bin/ExHeat3D"; enableParallelBuilding = true; @@ -42,11 +43,12 @@ stdenv.mkDerivation rec { hardeningDisable = [ "bindnow" ]; preBuild = '' - cd saiphv2/cpp/src - + cd saiphv2/cpp/src export VTK_VERSION=8.2 export VTK_HOME=${vtk} - ''; + '' + + (if (devMode == true) then "make clean" else "") + ; makeFlags = [ "-f" "Makefile.${cc.cc.CC}"