anchor.diff:  
     preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
   
  +  nativeBuildInputs = [
  +    cython
  +    pkgconfig
  +    setuptools
  +  ];
  +
  +  buildInputs = [ hdf5 ]
  +    ++ lib.optional mpiSupport mpi;
  +
  +  propagatedBuildInputs = [ numpy ]
  +    ++ lib.optionals mpiSupport [ mpi4py openssh ]
  +    ++ lib.optionals (pythonOlder "3.8") [ cached-property ];
  +
     # tests now require pytest-mpi, which isn't available and difficult to package
     doCheck = false;
  -  checkInputs = lib.optional isPy27 unittest2 ++ [ pytestCheckHook openssh ];
  -  nativeBuildInputs = [ pkgconfig cython ];
  -  buildInputs = [ hdf5 ]
  -    ++ lib.optional mpiSupport mpi;
  -  propagatedBuildInputs = [ numpy six]
  -    ++ lib.optionals mpiSupport [ mpi4py openssh ]
  -    ++ lib.optionals (pythonOlder "3.8") [ cached-property ];
  +  checkInputs = [ pytestCheckHook openssh ];
   
     pythonImportsCheck = [ "h5py" ];
   
  
positive.code: in buildPythonPackage rec {
    version = "3.7.0";
    pname = "h5py";
    disabled = isPy27;
  
    src = fetchPypi {
      inherit pname version;
  
negative.code: { lib
  , fetchPypi
  , buildPythonPackage
  , pythonOlder
  , setuptools
  , numpy
  , hdf5
  , cython
  , pkgconfig
  , mpi4py ? null
  , openssh
  , pytestCheckHook
  , cached-property
  }:
  
  assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi;
  
  