anchor.diff: -{ lib, fetchPypi, isPy27, buildPythonPackage, pythonOlder
  -, numpy, hdf5, cython, six, pkgconfig, unittest2
  -, mpi4py ? null, openssh, pytestCheckHook, cached-property }:
  +{ lib
  +, fetchPypi
  +, buildPythonPackage
  +, pythonOlder
  +, setuptools
  +, numpy
  +, hdf5
  +, cython
  +, pkgconfig
  +, mpi4py ? null
  +, openssh
  +, pytestCheckHook
  +, cached-property
  +}:
   
   assert hdf5.mpiSupport -> mpi4py != null && hdf5.mpi == mpi4py.mpi;
   
  
positive.code: 
    preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
  
    # 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 ];
  
    pythonImportsCheck = [ "h5py" ];
  
  
negative.code: in buildPythonPackage rec {
    version = "3.7.0";
    pname = "h5py";
    format = "pyproject";
  
    disabled = pythonOlder "3.7";
  
    src = fetchPypi {
      inherit pname version;
  