summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/atari++/default.nix35
-rw-r--r--pkgs/misc/emulators/atari800/builder.sh13
-rw-r--r--pkgs/misc/emulators/atari800/default.nix40
-rw-r--r--pkgs/misc/emulators/cdemu/base.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--pkgs/misc/emulators/gxemul/default.nix49
-rw-r--r--pkgs/misc/emulators/wine/staging.nix29
7 files changed, 136 insertions, 42 deletions
diff --git a/pkgs/misc/emulators/atari++/default.nix b/pkgs/misc/emulators/atari++/default.nix
index 1a76ddd1c90..89baadb6208 100644
--- a/pkgs/misc/emulators/atari++/default.nix
+++ b/pkgs/misc/emulators/atari++/default.nix
@@ -1,15 +1,28 @@
-{stdenv, fetchurl, x11, SDL}:
+{ stdenv, fetchurl
+, libX11, SDL }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+  name = "atari++-${version}";
+  version = "1.73";
 
-stdenv.mkDerivation {
-  name = "atari++-1.46";
-#  builder = ./builder.sh;
   src = fetchurl {
-    url = http://www.math.tu-berlin.de/~thor/atari++/download/atari++.tgz;
-    md5 = "0619ec6b63852233111aa0bd263c8ea2";
+    url = "http://www.xl-project.com/download/atari++_${version}.tar.gz";
+    sha256 = "1y5kwh08717jsa5agxrvxnggnwxq36irrid9rzfhca1nnvp9a45l";
   };
-#  rom = fetchurl {
-#    url = mirror://sourceforge/atari800/xf25.zip;
-#    md5 = "4dc3b6b4313e9596c4d474785a37b94d";
-#  };
-  buildInputs = [x11 SDL];
+
+  buildInputs = [ libX11 SDL ];
+  meta = {
+    homepage = http://www.xl-project.com/;
+    description = "An enhanced, cycle-accurated Atari emulator";
+    longDescription = ''
+      The Atari++ Emulator is a Unix based emulator of the Atari eight
+      bit computers, namely the Atari 400 and 800, the Atari 400XL,
+      800XL and 130XE, and the Atari 5200 game console. The emulator
+      is auto-configurable and will compile on a variety of systems
+      (Linux, Solaris, Irix).
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;    
+  };    
 }
diff --git a/pkgs/misc/emulators/atari800/builder.sh b/pkgs/misc/emulators/atari800/builder.sh
deleted file mode 100644
index afb9404657a..00000000000
--- a/pkgs/misc/emulators/atari800/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-preConfigure() {
-    cd src
-}
-
-postInstall() {
-    romsDir=$out/share/atari800/roms
-    mkdir -p $romsDir
-    unzip $rom -d $romsDir
-}
-
-genericBuild
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index c2a4c7d3d8b..af8d64982a0 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,16 +1,32 @@
-{stdenv, fetchurl, unzip, zlib, SDL}:
+{ stdenv, fetchurl
+, unzip, zlib, SDL, readline, mesa, libX11 }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+  name = "atari800-${version}";
+  version = "3.1.0";
 
-stdenv.mkDerivation {
-  name = "atari800-2.2.1";
-  builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/atari800/atari800-2.2.1.tar.gz;
-    sha256 = "0gkhlb3jc0rd7fcqjm41877fsqr7als3a0n552qmnjzrlcczf5yz";
-  };
-  rom = fetchurl {
-    url = mirror://sourceforge/atari800/xf25.zip;
-    sha256 = "12jbawxs04i0wm3910n7f3phsybdp8nndxc0xlsnzp8k0k8hmblq";
+    url = "mirror://sourceforge/atari800/atari800/${version}/${name}.tar.gz";
+    sha256 = "030yz5l1wyq9l0dmiimiiwpzrjr43whycd409xhhpnrdx76046wh";
   };
-  buildInputs = [unzip zlib SDL];
-  configureFlags = "--target=sdl";
+
+  buildInputs = [ unzip zlib SDL readline mesa libX11 ];
+
+  configureFlags = "--target=default --with-video=sdl --with-sound=sdl --with-readline --with-opengl --with-x --enable-riodevice";
+
+  preConfigure = "cd src";
+
+  meta = {
+    homepage = "http://atari800.sourceforge.net/";
+    description = "An Atari 8-bit emulator";
+    longDescription = ''
+      Atari800 is the emulator of Atari 8-bit computer systems and
+      5200 game console for Unix, Linux, Amiga, MS-DOS, Atari
+      TT/Falcon, MS-Windows, MS WinCE, Sega Dreamcast, Android and
+      other systems supported by the SDL library.
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;    
+  };    
 }
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/misc/emulators/cdemu/base.nix
index b2b641e3f7a..58727f10ef1 100644
--- a/pkgs/misc/emulators/cdemu/base.nix
+++ b/pkgs/misc/emulators/cdemu/base.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation ({
     cmake ../${name} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
   '';
   meta = {
-    description = "CDemu is a software suite designed to emulate an optical drive and disc (including CD-ROMs and DVD-ROMs) on the Linux operating system.";
+    description = "A Software suite designed to emulate an optical drive and disc (including CD-ROMs and DVD-ROMs) on the Linux operating system";
     longDescription = ''
       CDEmu consists of:
 
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 640d8f4fe6c..cbff76610f1 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,14 +1,14 @@
 { stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
 , gettext, git, libpthreadstubs, libXrandr, libXext, readline
-, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit, libusb
 , pulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20150403";
+  name = "dolphin-emu-20150421";
   src = fetchgit {
     url = git://github.com/dolphin-emu/dolphin.git;
-    rev = "38236fb8e8370f9f1ca1482ffa94b08c4595f2aa";
-    sha256 = "14v86c042jz5adqk6ngqbzl5xna7m69i39y7q23s7h6ra75461yf";
+    rev = "4340927b7f17fa43c5f6c0f204c4bfc2b17a47d5";
+    sha256 = "0pc18n88yckmvli27p09xj5kyv4k8bqv92ric8xvi7cqznmmiv9d";
     fetchSubmodules = false;
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
                   gettext libpthreadstubs libXrandr libXext readline openal
-                  git libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+                  git libXdmcp portaudio SDL wxGTK30 libusb pulseaudio ];
 
   meta = {
     homepage = http://dolphin-emu.org/;
diff --git a/pkgs/misc/emulators/gxemul/default.nix b/pkgs/misc/emulators/gxemul/default.nix
new file mode 100644
index 00000000000..1e4827942b9
--- /dev/null
+++ b/pkgs/misc/emulators/gxemul/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, composableDerivation, fetchurl }:
+
+let edf = composableDerivation.edf;
+    version = "0.6.0.1";
+    name = "gxemul-${version}";
+in
+
+composableDerivation.composableDerivation {} {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://gavare.se/gxemul/src/${name}.tar.gz";
+    sha256 = "1afd9l0igyv7qgc0pn3rkdgrl5d0ywlyib0qhg4li23zilyq5407";
+  };
+
+  configurePhase = "./configure";
+
+  installPhase = "mkdir -p \$out/bin; cp gxemul \$out/bin;";
+
+  mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
+
+  flags = {
+    doc   = { installPhase = "mkdir -p \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
+    demos = { installPhase = "mkdir -p \$out/share/${name}; cp -r demos \$out/share/${name};"; };
+    man   = { installPhase = "cp -r ./man \$out/;";};
+  };
+
+  cfg = {
+    docSupport = true;
+    demosSupport = true;
+    manSupport = true;
+  };
+
+  meta = {
+    license = stdenv.lib.licenses.bsd3;
+    description = "Gavare's experimental emulator";
+    longDescription = ''
+      GXemul is a framework for full-system computer architecture
+      emulation. Several real machines have been implemented within the
+      framework, consisting of processors (ARM, MIPS, Motorola 88K,
+      PowerPC, and SuperH) and surrounding hardware components such as
+      framebuffers, interrupt controllers, busses, disk controllers,
+      and serial controllers. The emulation is working well enough to
+      allow several unmodified "guest" operating systems to run.
+    '';
+    homepage = http://gxemul.sourceforge.net/;
+  };
+
+}
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix
new file mode 100644
index 00000000000..2aa588592ac
--- /dev/null
+++ b/pkgs/misc/emulators/wine/staging.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, wine, perl, autoconf, utillinux
+, pulseaudio, libtxc_dxtn }:
+
+let version = "1.7.40";
+    patch = fetchFromGitHub {
+      owner = "wine-compholio";
+      repo = "wine-staging";
+      rev = "v${version}";
+      sha256 = "0l14yy6wbvbs2xrnn9z3a35lbnpl8ibkmc0vh983fimf9nxckpan";
+    };
+
+in assert (builtins.parseDrvName wine.name).version == version;
+
+stdenv.lib.overrideDerivation wine (self: {
+  nativeBuildInputs = [ pulseaudio libtxc_dxtn ] ++ self.nativeBuildInputs;
+  buildInputs = [ perl utillinux autoconf ] ++ self.buildInputs;
+
+  name = "${self.name}-staging";
+
+  postPatch = self.postPatch or "" + ''
+    patchShebangs tools
+    cp -r ${patch}/patches .
+    chmod +w patches
+    cd patches
+    patchShebangs gitapply.sh
+    ./patchinstall.sh DESTDIR=.. --all
+    cd ..
+  '';
+})