diff --git a/pkgs/applications/virtualization/8086tiny/builder.sh b/pkgs/applications/virtualization/8086tiny/builder.sh index 36c381becec..7cff2589abe 100644 --- a/pkgs/applications/virtualization/8086tiny/builder.sh +++ b/pkgs/applications/virtualization/8086tiny/builder.sh @@ -6,14 +6,23 @@ mkdir -p ./$name $out/bin $out/share/$name $out/share/doc/$name/images cd $name tar xf $src make 8086tiny +if [ $bios ]; then + cd bios_source + nasm -f bin bios.asm -o bios + cd .. +fi -install 8086tiny $out/bin -install bios $out/share/$name/8086tiny-bios -install fd.img $out/share/$name/8086tiny-floppy.img -install bios_source/bios.asm $out/share/$name/8086tiny-bios-src.asmn -install docs/8086tiny.css $out/share/doc/$name -install docs/doc.html $out/share/doc/$name +install -m 755 8086tiny $out/bin +install -m 644 fd.img $out/share/$name/8086tiny-floppy.img +install -m 644 bios_source/bios.asm $out/share/$name/8086tiny-bios-src.asm +install -m 644 docs/8086tiny.css $out/share/doc/$name +install -m 644 docs/doc.html $out/share/doc/$name for i in docs/images/*.gif do - install $i $out/share/doc/$name/images + install -m 644 $i $out/share/doc/$name/images done +if [ $bios ]; then + install -m 644 bios_source/bios $out/share/$name/8086tiny-bios +else + install -m 644 bios $out/share/$name/8086tiny-bios +fi diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix index 8e5108b4410..a16f052f622 100644 --- a/pkgs/applications/virtualization/8086tiny/default.nix +++ b/pkgs/applications/virtualization/8086tiny/default.nix @@ -1,32 +1,32 @@ { stdenv, fetchurl -, localBios ? false, nasm ? null +, localBios ? true, nasm ? null , sdlSupport ? true, SDL ? null }: - assert sdlSupport -> (SDL != null); - stdenv.mkDerivation rec { name = "8086tiny-${version}"; - version = "1.20"; + version = "1.25"; src = fetchurl { - url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_120.tar.bz2"; - sha256 = "0yapnr8wvlx7h1q1w98yfy2vsbf0rlp4wd99r3xb0b7l70b36mpw"; + url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_125.tar.bz2"; + sha256 = "0kmq4iiwhi2grjwq43ljjk1b1f1v1x9gzrgrgq2fzfsj7m7s6ris"; }; buildInputs = with stdenv.lib; optionals localBios [ nasm ] ++ optionals sdlSupport [ SDL ]; - + + bios = localBios; + builder = ./builder.sh; meta = { description = "An open-source 8086 emulator"; longDescription = '' - 8086tiny is a tiny, open source (MIT), portable (little-endian hosts) Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny emulates a "late 80's era" PC XT-type machine. + 8086tiny is a tiny, open-source (MIT), portable (little-endian hosts) Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny emulates a "late 80's era" PC XT-type machine. 8086tiny is based on an IOCCC 2013 winning entry. In fact that is the "unobfuscated" version :) '';