diff --git a/garlic/apps/index.nix b/garlic/apps/index.nix index ec54cd3..f691c94 100644 --- a/garlic/apps/index.nix +++ b/garlic/apps/index.nix @@ -7,9 +7,7 @@ }: { - nbody = callPackage ./nbody/default.nix { - gitBranch = "garlic/seq"; - }; + nbody = callPackage ./nbody/default.nix { }; saiph = callPackage ./saiph/default.nix { cc = bsc.clangOmpss2; diff --git a/garlic/apps/nbody/default.nix b/garlic/apps/nbody/default.nix index 32bcdfa..525d52a 100644 --- a/garlic/apps/nbody/default.nix +++ b/garlic/apps/nbody/default.nix @@ -5,48 +5,53 @@ , tampi ? null , mcxx ? null , cflags ? null -, gitBranch -, gitURL ? "ssh://git@bscpm03.bsc.es/garlic/apps/nbody.git" +, gitBranch ? "garlic/seq" +, gitCommit ? null , blocksize ? 2048 +, garlicTools }: assert !(tampi != null && mcxx == null); with stdenv.lib; -stdenv.mkDerivation rec { - name = "nbody"; - #src = ~/nbody; - - src = builtins.fetchGit { - url = "${gitURL}"; - ref = "${gitBranch}"; +let + gitSource = garlicTools.fetchGarlicApp { + appName = "nbody"; + inherit gitCommit gitBranch; + gitTable = import ./git-table.nix; }; - programPath = "/bin/nbody"; +in + stdenv.mkDerivation rec { + name = "nbody"; - buildInputs = [ - cc - ] - ++ optional (mpi != null) mpi - ++ optional (tampi != null) tampi - ++ optional (mcxx != null) mcxx; + inherit (gitSource) src gitBranch gitCommit; - preBuild = (if cflags != null then '' - makeFlagsArray+=(CFLAGS="${cflags}") - '' else ""); + programPath = "/bin/nbody"; - makeFlags = [ - "CC=${cc.CC}" - "BS=${toString blocksize}" - ] - ++ optional (tampi != null) "TAMPI_HOME=${tampi}"; + buildInputs = [ + cc + ] + ++ optional (mpi != null) mpi + ++ optional (tampi != null) tampi + ++ optional (mcxx != null) mcxx; - dontPatchShebangs = true; + preBuild = (if cflags != null then '' + makeFlagsArray+=(CFLAGS="${cflags}") + '' else ""); - installPhase = '' - echo ${tampi} - mkdir -p $out/bin - cp nbody* $out/bin/${name} - ''; + makeFlags = [ + "CC=${cc.CC}" + "BS=${toString blocksize}" + ] + ++ optional (tampi != null) "TAMPI_HOME=${tampi}"; -} + dontPatchShebangs = true; + + installPhase = '' + echo ${tampi} + mkdir -p $out/bin + cp nbody* $out/bin/${name} + ''; + + } diff --git a/garlic/apps/nbody/git-table.nix b/garlic/apps/nbody/git-table.nix new file mode 100644 index 0000000..e824251 --- /dev/null +++ b/garlic/apps/nbody/git-table.nix @@ -0,0 +1,13 @@ +{ + # Auto-generated with garlic-git-table on 2021-04-20 for repo: + # ssh://git@bscpm03.bsc.es/garlic/apps/nbody.git + + "garlic/mpi+send+oss+task" = "20aa856baa3268d99262588807911ad0b3318d09"; + "garlic/mpi+send+seq" = "3be64af0f949db5fd60fcd0334cf2cd8c9fa25c3"; + "garlic/omp+fork" = "9c869272df7c775f467a2220211a414e33321c00"; + "garlic/oss+task" = "13ab26fbad8662a1052cc94410386080bbf6a2ba"; + "garlic/seq" = "9dfea29189d14477bd75e6f741f0518e7e4e5e72"; + "garlic/seq+BLOCK" = "99408705628b374df4308dcf1cdbe2d21d1451c2"; + "garlic/tampi+isend+oss+task" = "653d26e4a0913d36ea18d4e72e65a04838bb138a"; + "garlic/tampi+send+oss+task" = "b1440ebc5f79165e5dfaa6a4ce7916eda410ec9a"; +}