default.nix 1.89 KB
Newer Older
Valentin Reis's avatar
.  
Valentin Reis committed
1
{
Valentin Reis's avatar
Valentin Reis committed
2
  hostNixpkgs ? <nixpkgs>,
Valentin Reis's avatar
Valentin Reis committed
3
  pkgs         ? import ../pin.nix {
Valentin Reis's avatar
Valentin Reis committed
4
    hostPkgs = import hostNixpkgs {};
Valentin Reis's avatar
Valentin Reis committed
5 6 7
    jsonpath =../nixpkgs-18.03.json;
  },
  datamovepkgs ? import ../pin.nix {
Valentin Reis's avatar
Valentin Reis committed
8
    hostPkgs = import hostNixpkgs {};
Valentin Reis's avatar
Valentin Reis committed
9 10
    jsonpath=../datamove.json;
  },
Valentin Reis's avatar
Valentin Reis committed
11
  packagepins ? import ./pins.nix {inherit (pkgs) stdenv fetchgit fetchgitPrivate;}
Valentin Reis's avatar
.  
Valentin Reis committed
12 13 14
}:
let
  callPackage = pkgs.lib.callPackageWith pkgs;
Valentin Reis's avatar
Valentin Reis committed
15
  pythonPackages = pkgs.python27Packages;
Valentin Reis's avatar
renames  
Valentin Reis committed
16 17 18 19 20 21
  utils = with pkgs.lib; rec{
    makeSearchPath = subDir: packages:
      concatStringsSep ":" (map (path: path + "/" + subDir) packages);
    makeSearchPathOutput = output: subDir: pkgs: makeSearchPath subDir (map (pkg : "${pkg}/output") pkgs);
   makeLibraryPath = makeSearchPathOutput "lib" "lib";
  };
Valentin Reis's avatar
.  
Valentin Reis committed
22
in rec {
23 24 25 26 27 28 29 30 31 32
  #NRM components
  libnrm = callPackage ./libnrm {};
  nrm-containers = callPackage ./containers {
    inherit pythonPackages;
    src = packagepins.containers.nix;
  };
  nrm = callPackage ./nrm {
    inherit pythonPackages nrm-containers;
    src = packagepins.nrm.bandit;
  };
Valentin Reis's avatar
Valentin Reis committed
33

34 35 36 37 38 39 40 41 42 43
  #Instrumented applications
  applications = rec {
    lammps = pkgs.lammps-mpi;
    amg = callPackage applications/amg {};
    qmcpack = callPackage applications/qmcpack {};
    openmc = callPackage applications/openmc {};
    stream = callPackage applications/stream {};
    graph500 = callPackage applications/graph500 {};
    simple = callPackage applications/simple {inherit intel libnrm;};
  };
Valentin Reis's avatar
Valentin Reis committed
44

45 46
  #Intel compilers
  intel = with pkgs; rec {
Valentin Reis's avatar
renames  
Valentin Reis committed
47
    inherit utils;
48
    compiler_path = "/opt/intel/compilers_and_libraries_2017.1.132/linux/";
Valentin Reis's avatar
renames  
Valentin Reis committed
49 50
    icc = callPackage intel/icc { inherit compiler_path; };
    mkl = callPackage intel/mkl { inherit compiler_path; };
51 52 53 54 55 56 57 58 59 60


        WrappedICC = (import ../patches/cc-wrapper  {
            inherit stdenv binutils coreutils ;
            libc = glibc;
            nativeTools = false;
            nativeLibc = false;
            cc = icc;
        });

61
  };
Valentin Reis's avatar
.  
Valentin Reis committed
62

Valentin Reis's avatar
renames  
Valentin Reis committed
63
}