|
|
{ 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; }
|