{ stdenv, fetchFromGitHub, python3Packages, nmigen, jtagtap }:

python3Packages.buildPythonPackage {
  name = "minerva";

  src = fetchFromGitHub {
    owner = "lambdaconcept";
    repo = "minerva";
    rev = "2a017224497d50505395b4d9e09ab74412ccd131";
    sha256 = "1bc0phlmxhcw15d1b23xgrsazgxxxi2l1h3mvk7zb68h5pgq4svm";
  };

  propagatedBuildInputs = [ nmigen jtagtap ];

  meta = with stdenv.lib; {
    description = "A 32-bit RISC-V soft processor";
    homepage    = "https://m-labs.hk/migen";
    license     = licenses.bsd2;
    maintainers = [ maintainers.sb0 ];
  };
}