diff --git a/pkgs/misc/emulators/simh/default.nix b/pkgs/misc/emulators/simh/default.nix new file mode 100644 index 00000000000..50e02a8f240 --- /dev/null +++ b/pkgs/misc/emulators/simh/default.nix @@ -0,0 +1,62 @@ +{ stdenv +, fetchFromGitHub +, SDL2 +, SDL2_ttf +, libpcap +, vde2 +, pcre +}: + +stdenv.mkDerivation rec { + pname = "simh"; + version = "3.11-1"; + + src = fetchFromGitHub { + owner = "simh"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-65+YfOWpVXPeT64TZcSaWJY+ODQ0q/pwF9jb8xGdpIs="; + }; + + buildInputs = [ SDL2 SDL2_ttf libpcap vde2 pcre ]; + + dontConfigure = true; + + makeFlags = [ "GCC=cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ]; + + preInstall = '' + install -d ${placeholder "out"}/bin + install -d ${placeholder "out"}/share/simh + ''; + + installPhase = '' + runHook preInstall + for i in BIN/*; do + install -D $i ${placeholder "out"}/bin + done + for i in VAX/*bin; do + install -D $i ${placeholder "out"}/share/simh + done + runHook postInstall + ''; + + postInstall = '' + (cd $out/bin; for i in *; do ln -s $i simh-$i; done) + ''; + + meta = with stdenv.lib; { + homepage = "http://simh.trailing-edge.com/"; + description = "A collection of simulators of historic hardware"; + longDescription = '' + SimH (History Simulator) is a collection of simulators for historically + significant or just plain interesting computer hardware and software from + the past. The goal of the project is to create highly portable system + simulators and to publish them as freeware on the Internet, with freely + available copies of significant or representative software. + ''; + license = with licenses; mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; unix; + }; +} +# TODO: install documentation diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1d1b8a84a0..460a9e39e4f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1591,6 +1591,8 @@ in bsod = callPackage ../misc/emulators/bsod { }; + simh = callPackage ../misc/emulators/simh { }; + btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { }; btrbk = callPackage ../tools/backup/btrbk {