{ stdenv, crystal, fetchFromGitHub }: let version = "0489d47b191ecf8501787355b948801506e7c70f"; src = fetchFromGitHub { owner = "DanilaFe"; repo = "pegasus"; rev = version; sha256 = "097m7l16byis07xlg97wn5hdsz9k6c3h1ybzd2i7xhkj24kx230s"; }; in crystal.buildCrystalPackage { pname = "pegasus"; inherit version; inherit src; crystalBinaries.pegasus.src = "src/pegasus.cr"; crystalBinaries.pegasus-dot.src = "src/tools/dot/pegasus_dot.cr"; crystalBinaries.pegasus-sim.src = "src/tools/sim/pegasus_sim.cr"; crystalBinaries.pegasus-c.src = "src/generators/c/pegasus_c.cr"; crystalBinaries.pegasus-csem.src = "src/generators/csem/pegasus_csem.cr"; crystalBinaries.pegasus-crystal.src = "src/generators/crystal/pegasus_crystal.cr"; crystalBinaries.pegasus-crystalsem.src = "src/generators/crystalsem/pegasus_crystalsem.cr"; }