diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix index 1669d083f226..e5a976c3418b 100644 --- a/pkgs/development/libraries/allegro/default.nix +++ b/pkgs/development/libraries/allegro/default.nix @@ -1,7 +1,7 @@ x@{builderDefsPackage , texinfo, libXext, xextproto, libX11, xproto, libXpm, libXt, libXcursor , alsaLib, cmake, zlib, libpng, libvorbis, libXxf86dga, libXxf86misc - , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal + , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa , ...}: builderDefsPackage (a : diff --git a/pkgs/development/libraries/hawknl/default.nix b/pkgs/development/libraries/hawknl/default.nix new file mode 100644 index 000000000000..76f4a5a7dae0 --- /dev/null +++ b/pkgs/development/libraries/hawknl/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation { + name = "hawknl-1.34"; + src = fetchurl { + url = http://hawksoft.com/download/files/HawkNL168src.zip; + sha256 = "11shn2fbxj3w0j77w0234pqyj1368x686kkgv09q5yqhi1cdp028"; + }; + + buildInputs = [ unzip ]; + + makefile = "makefile.linux"; + + patchPhase = '' + sed -i s/soname,NL/soname,libNL/ src/makefile.linux + ''; + + preInstall = '' + sed -i s,/usr/local,$out, src/makefile.linux + ensureDir $out/lib $out/include + ''; + + meta = { + homepage = http://hawksoft.com/hawknl/; + description = "Free, open source, game oriented network API"; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/misc/emulators/darcnes/default.nix b/pkgs/misc/emulators/darcnes/default.nix new file mode 100644 index 000000000000..6cf7d848b654 --- /dev/null +++ b/pkgs/misc/emulators/darcnes/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, libX11, libXt, libXext, libXaw }: + +assert stdenv.system == "i686-linux"; + +stdenv.mkDerivation { + name = "darnes-9b0401"; + src = fetchurl { + url = http://www.dridus.com/~nyef/darcnes/download/dn9b0401.tgz; + sha256 = "05a7mh51rg7ydb414m3p5mm05p4nz2bgvspqzwm3bhbj7zz543k3"; + }; + + buildInputs = [ libX11 libXt libXext libXaw ]; + + installPhase = '' + ensureDir $out/bin + cp darcnes $out/bin + ''; + + patches = [ ./label.patch ]; + + meta = { + homepage = http://www.dridus.com/~nyef/darcnes/; + description = "Multi-System emulator, specially for NES"; + /* Prohibited commercial use, credit required. */ + license = "free"; + }; + +} diff --git a/pkgs/misc/emulators/darcnes/label.patch b/pkgs/misc/emulators/darcnes/label.patch new file mode 100644 index 000000000000..612aa1e3911e --- /dev/null +++ b/pkgs/misc/emulators/darcnes/label.patch @@ -0,0 +1,13 @@ +http://gentoo-overlays.zugaina.org/funtoo/portage/games-emulation/darcnes/files/darcnes-0401-exec-stack.patch + +diff -Naur old/video_x.c new/video_x.c +--- old/video_x.c 2004-09-04 01:26:41.102187277 +0200 ++++ new/video_x.c 2004-09-04 01:27:51.586427427 +0200 +@@ -366,6 +366,7 @@ + } + + default: ++ break; + } + } + diff --git a/pkgs/misc/emulators/fakenes/build.patch b/pkgs/misc/emulators/fakenes/build.patch new file mode 100644 index 000000000000..90799d977a14 --- /dev/null +++ b/pkgs/misc/emulators/fakenes/build.patch @@ -0,0 +1,84 @@ +diff --git a/build/openal.cbd b/build/openal.cbd +index d18e62d..74af061 100644 +--- a/build/openal.cbd ++++ b/build/openal.cbd +@@ -23,7 +23,7 @@ CFLAGS += ' -DUSE_OPENAL' + # -- + + do ifplat unix +- LDFLAGS += ' `openal-config --libs`' ++ LDFLAGS += ' -lopenal' + else + LDFLAGS += ' -lOpenAL32' + done +diff --git a/build/alleggl.cbd b/build/alleggl.cbd +index e2708ff..e826371 100644 +--- a/build/alleggl.cbd ++++ b/build/alleggl.cbd +@@ -22,7 +22,7 @@ CFLAGS += ' -DUSE_ALLEGROGL' + + # -- + +-LIBAGL = agl ++LIBAGL = alleggl + + ifopt debug LIBAGL = 'agld' + +diff --git a/src/apu.cpp b/src/apu.cpp +index af59f1c..893a798 100644 +--- a/src/apu.cpp ++++ b/src/apu.cpp +@@ -1930,7 +1930,7 @@ static void amplify(real& sample) + gain -= releaseRate; + } + +- real output = (1.0 / max(gain, EPSILON)); ++ real output = (1.0 / MAX(gain, EPSILON)); + output = fixf(output, apu_agc_gain_floor, apu_agc_gain_ceiling); + sample *= output; + } +diff --git a/src/audio.cpp b/src/audio.cpp +index b9650dc..c21c05e 100644 +--- a/src/audio.cpp ++++ b/src/audio.cpp +@@ -7,6 +7,7 @@ + You must read and accept the license prior to use. */ + + #include ++#include + #include + #include + #include +@@ -234,7 +235,7 @@ void audio_update(void) + const unsigned queuedFrames = (audioQueue.size() / audio_channels); + if(queuedFrames > 0) { + // Determine how many frames we want to make room for. +- const unsigned framesToAdd = min(queuedFrames, audio_buffer_size_frames); ++ const unsigned framesToAdd = MIN(queuedFrames, audio_buffer_size_frames); + // Make room for the frames in the buffer. + const unsigned framesToMove = (audioBufferedFrames - framesToAdd); + if(framesToMove > 0) { +@@ -258,7 +259,7 @@ void audio_update(void) + // Determine how many frames are available in the buffer. + const unsigned bufferableFrames = (audio_buffer_size_frames - audioBufferedFrames); + // Determine the number of frames to copy to the buffer. +- const unsigned framesToCopy = min(queuedFrames, bufferableFrames); ++ const unsigned framesToCopy = MIN(queuedFrames, bufferableFrames); + + // Copy frames to the buffer. + for(unsigned frame = 0; frame < framesToCopy; frame++) { +diff --git a/src/include/common.h b/src/include/common.h +index be28795..e2d21d1 100644 +--- a/src/include/common.h ++++ b/src/include/common.h +@@ -41,8 +41,10 @@ extern "C" { + #define true TRUE + #define false FALSE + ++/* + #define min(x,y) MIN((x),(y)) + #define max(x,y) MAX((x),(y)) ++*/ + + #define true_or_false(x) ((x) ? true : false) + diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix new file mode 100644 index 000000000000..62ecb6e4156d --- /dev/null +++ b/pkgs/misc/emulators/fakenes/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, allegro, openal, mesa, zlib, hawknl, freeglut, libX11, + libXxf86vm, libXcursor, libXpm }: + +stdenv.mkDerivation { + name = "fakenes-0.5.9b3"; + src = fetchurl { + url = mirror://sourceforge/fakenes/fakenes-0.5.9-beta3.tar.gz; + sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4"; + }; + + buildInputs = [ allegro openal mesa zlib hawknl freeglut libX11 + libXxf86vm libXcursor libXpm ]; + + installPhase = '' + ensureDir $out/bin + cp fakenes $out/bin + ''; + + NIX_LDFLAGS = "-lX11 -lXxf86vm -lXcursor -lXpm"; + + patches = [ ./build.patch ]; + + meta = { + homepage = http://fakenes.sourceforge.net/; + license = "GPLv2+"; + description = "Portable Open Source NES Emulator"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c4503fa54f8..0b720ceebaba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3278,6 +3278,8 @@ let # TODO : Add MIT Kerberos and let admin choose. kerberos = heimdal; + hawknl = callPackage ../development/libraries/hawknl { }; + heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; herqqSvn = callPackage ../development/libraries/herqq/svn.nix { }; @@ -7474,6 +7476,8 @@ let cupsBjnp = callPackage ../misc/cups/drivers/cups-bjnp { }; + darcnes = callPackage ../misc/emulators/darcnes { }; + dblatex = callPackage ../misc/tex/dblatex { }; dosbox = callPackage ../misc/emulators/dosbox { }; @@ -7484,6 +7488,8 @@ let electricsheep = callPackage ../misc/screensavers/electricsheep { }; + fakenes = callPackage ../misc/emulators/fakenes { }; + foldingathome = callPackage ../misc/foldingathome { }; foo2zjs = callPackage ../misc/drivers/foo2zjs {};