{ stdenv, fetchFromGitHub, python3Packages, litex }: python3Packages.buildPythonPackage { name = "litedram"; src = fetchFromGitHub { owner = "enjoy-digital"; repo = "litedram"; rev = "7fbe0b712ceda5bcc526a55a5c9c071eb21eb90e"; sha256 = "0qfz0qkxkqjxn523chh2g3375wfwmljcahxqr27098pk618v0n8s"; }; patchPhase = '' rm examples/litedram_gen.py rm test/test_examples.py # FIXME: this spews out a lot of irrelevant "pattern doesn't match anything" warnings for file in `find test litedram -name "*.py"`; do substituteInPlace "$file" \ --replace "from litex.gen.sim import *" "" \ --replace "from migen.genlib.roundrobin import *" "from litex.roundrobin import *" \ --replace migen nmigen.compat done ''; # some tests fail at the moment, fix and re-enable later doCheck = false; propagatedBuildInputs = [ litex ]; meta = with stdenv.lib; { description = "LiteDRAM memory controller (via nMigen compatibility mode)"; homepage = "http://enjoy-digital.fr"; license = licenses.bsd2; maintainers = [ maintainers.sb0 ]; }; }