anchor.diff:  , enablePrefix ? false
   }:
   
  +assert !cudaSupport || cudatoolkit != null;
  +
   let
     version = "4.0.2";
   
  +  cudatoolkit_joined = symlinkJoin {
  +    name = "${cudatoolkit.name}-unsplit";
  +    paths = [ cudatoolkit.out cudatoolkit.lib ];
  +  };
   in stdenv.mkDerivation rec {
     pname = "openmpi";
     inherit version;
  
positive.code: 
    buildInputs = with stdenv; [ gfortran zlib ]
      ++ lib.optionals isLinux [ libnl numactl ]
      ++ [ libevent hwloc ]
      ++ lib.optional (isLinux || isFreeBSD) rdma-core;
  
    nativeBuildInputs = [ perl ];
  
    configureFlags = with stdenv; [ "--disable-mca-dso" ]
      ++ lib.optional isLinux  "--with-libnl=${libnl.dev}"
      ++ lib.optional enableSGE "--with-sge"
      ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default"
      ;
  
    enableParallelBuilding = true;
  
negative.code: 
    doCheck = true;
  
    passthru = {
      inherit cudaSupport cudatoolkit;
    };
  
    meta = with stdenv.lib; {
      homepage = https://www.open-mpi.org/;
      description = "Open source MPI-3 implementation";
  