{ stdenv , lib , gnumake , pkg-config , bison , flex , dtc , check , mini-gdbstub , readline , libllvm , SDL2 , am-kernels ? "" , defconfig ? "alldefconfig" }: stdenv.mkDerivation rec { pname = "nemu"; version = "2024-08-15"; src = ./.; nativeBuildInputs = [ gnumake pkg-config flex bison dtc ]; buildInputs = [ SDL2 readline libllvm mini-gdbstub ]; checkInputs = [ check am-kernels ]; configurePhase = '' export NEMU_HOME=$(pwd) make ${defconfig} ''; buildPhase = '' make ''; doCheck = (am-kernels != ""); checkPhase = '' export NEMU_IMAGES_PATH=${am-kernels}/share/am-kernels make test ''; installPhase = '' if [ -d "./lib" ] && [ "$(ls -A ./lib)" ]; then mkdir -p "$out/lib" fi if [ -d "./bin" ] && [ "$(ls -A ./bin)" ]; then mkdir -p $out/bin fi make PREFIX=$out install ''; shellHook = '' export NEMU_HOME=$(pwd) ''; }