Browse Source

all: install edumpi

main
Dustin Frisch 4 months ago
parent
commit
82cb42395a
No known key found for this signature in database GPG Key ID: B4C3BF012D9B26BE
  1. 114
      packages/edumpi.nix
  2. 1
      shared/default.nix
  3. 14
      shared/edumpi.nix

114
packages/edumpi.nix

@ -0,0 +1,114 @@
{ lib
, stdenv
, fetchFromGitHub
, git
, autoconf
, automake
, pkg-config
, gfortran
, perl
, python3
, flex
, libnl
, rdma-core
, zlib
, numactl
, libevent
, hwloc
, targetPackages
, symlinkJoin
, libpsm2
, libfabric
, libtool
, libbfd
, libiberty
, pmix
, ucx
, ucc
, postgresql
, ...
}:
stdenv.mkDerivation {
pname = "edumpi";
version = "ee0735";
src = fetchFromGitHub {
owner = "AnnaLena77";
repo = "EduMPI";
rev = "ee07355904db5b1e7f637498259b34d85edd2023";
hash = "sha256-0EQdVLHUAiMUufCy9CfBvWbXmYDpy/i/Cw77DZU+0mc=";
fetchSubmodules = true;
};
postPatch = ''
patchShebangs ./
'';
nativeBuildInputs = [
autoconf
automake
perl
python3
gfortran
git
flex
];
buildInputs = [
zlib
libnl
numactl
pmix
ucx
libevent
hwloc
rdma-core
libpsm2
libfabric
libtool
libbfd
libiberty
postgresql
];
LIBS = "-lpq";
CFLAGS = "-DENABLE_ANALYSIS=1";
preConfigure = ''
./autogen.pl
'';
configureFlags = [
"--disable-mca-dso"
"--with-libnl=${lib.getDev libnl}"
"--with-pmix=${lib.getDev pmix}"
"--with-pmix-libdir=${pmix}/lib"
"--with-psm2=${lib.getDev libpsm2}"
"--with-libfabric=${lib.getDev libfabric}"
"--with-libfabric-libdir=${libfabric}/lib"
];
enableParallelBuilding = true;
postInstall = ''
find $out/lib/ -name "*.la" -exec rm -f \{} \;
'';
#postFixup = ''
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
# $out/share/openmpi/mpicc-wrapper-data.txt
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
# $out/share/openmpi/ortecc-wrapper-data.txt
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \
# $out/share/openmpi/mpic++-wrapper-data.txt
# sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:' \
# $out/share/openmpi/mpifort-wrapper-data.txt
#'';
doCheck = true;
}

1
shared/default.nix

@ -9,6 +9,7 @@
./rdma.nix
./ssl.nix
./slurm.nix
./edumpi.nix
"${modulesPath}/profiles/headless.nix"
"${modulesPath}/profiles/all-hardware.nix"

14
shared/edumpi.nix

@ -0,0 +1,14 @@
{ pkgs, lib, ... }:
with lib;
let
edumpi = pkgs.callPackage ../packages/edumpi.nix { };
in
{
systemd.tmpfiles.rules = [
''L+ /opt/edumpi - - - - ${edumpi}''
];
}
Loading…
Cancel
Save