Author: sandervanderburg
Date: Fri Jul 22 18:31:42 2011
New Revision: 27904
URL: https://svn.nixos.org/websvn/nix/?rev=27904&sc=1

Log:
Added VisualBoy advance; a gameboy/gameboy color/gameboy advance emulator

Added:
   nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/
   nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/default.nix
   nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/fix.diff
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/default.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/default.nix      Fri Jul 
22 18:31:42 2011        (r27904)
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, zlib, libpng, SDL, nasm}:
+
+stdenv.mkDerivation {
+  name = "VisualBoyAdvance-1.7.2";
+  src = fetchurl {
+    url = mirror://sourceforge/vba/VisualBoyAdvance-src-1.7.2.tar.gz;
+    sha256 = "1dr9w5i296dyq2gbx7sijk6p375aqnwld2n6rwnbzm2g3a94y4gl";
+  };
+  patches = [ ./fix.diff ]; # patch to shut up lost of precision errors
+  preConfigure = ''
+    # Fix errors with invalid conversion from 'const char*' to 'char*'
+    sed -i -e "s|char \* p = strrchr|const char * p = strrchr|g" src/GBA.cpp
+    sed -i -e "s|char \* p = strrchr|const char * p = strrchr|g" src/Util.cpp
+  '';
+  buildInputs = [ zlib libpng SDL ] ++ stdenv.lib.optional (stdenv.system == 
"i686-linux") nasm;
+}

Added: nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/fix.diff
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/misc/emulators/VisualBoyAdvance/fix.diff Fri Jul 22 
18:31:42 2011        (r27904)
@@ -0,0 +1,31 @@
+diff -urN ../tmp-orig/visualboyadvance-1.7.2/src/sdl/debugger.cpp 
+./src/sdl/debugger.cpp
+--- ../tmp-orig/visualboyadvance-1.7.2/src/sdl/debugger.cpp     2004-05-13 
+16:13:14.000000000 +0200
++++ ./src/sdl/debugger.cpp      2005-03-21 21:57:06.000000000 +0100
+@@ -950,9 +950,9 @@
+ {
+   u32 address = 0;
+   if(mem >= (u32*)&workRAM[0] && mem <= (u32*)&workRAM[0x3ffff])
+-    address = 0x2000000 + ((u32)mem - (u32)&workRAM[0]);
++    address = 0x2000000 + ((unsigned long)mem - (unsigned long)&workRAM[0]);
+   else
+-    address = 0x3000000 + ((u32)mem - (u32)&internalRAM[0]);
++    address = 0x3000000 + ((unsigned long)mem - (unsigned 
long)&internalRAM[0]);
+ 
+   if(size == 2)
+     printf("Breakpoint (on write) address %08x old:%08x new:%08x\n", 
+diff -urN ../tmp-orig/visualboyadvance-1.7.2/src/prof/prof.cpp 
+./src/prof/prof.cpp
+--- ../tmp-orig/visualboyadvance-1.7.2/src/prof/prof.cpp        2004-05-13 
+16:31:58.000000000 +0200
++++ ./src/prof/prof.cpp 2005-03-21 21:56:27.000000000 +0100
+@@ -266,7 +266,7 @@
+     for (toindex=froms[fromindex]; toindex!=0; toindex=tos[toindex].link) {
+       if(profWrite8(fd, GMON_TAG_CG_ARC) ||
+          profWrite32(fd, (u32)frompc) ||
+-         profWrite32(fd, (u32)tos[toindex].selfpc) ||
++         profWrite32(fd, (unsigned long)tos[toindex].selfpc) ||
+          profWrite32(fd, tos[toindex].count)) {
+         systemMessage(0, "mcount: arc");
+         fclose(fd);

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Fri Jul 22 14:44:28 
2011        (r27903)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Fri Jul 22 18:31:42 
2011        (r27904)
@@ -8133,6 +8133,8 @@
 
   vice = callPackage ../misc/emulators/vice { };
 
+  VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { };
+  
   # Wine cannot be built in 64-bit; use a 32-bit build instead.
   wine = callPackage_i686 ../misc/emulators/wine { };
 
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to