diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix index cc47f948240..e7a420b894a 100644 --- a/pkgs/games/eduke32/default.nix +++ b/pkgs/games/eduke32/default.nix @@ -1,68 +1,70 @@ -{stdenv, fetchurl, SDL, SDL_mixer, libvorbis, mesa, gtk, pkgconfig, nasm, libvpx, flac, makeDesktopItem}: +{ stdenv, fetchurl, flac, gtk, libvorbis, libvpx, makeDesktopItem, mesa, nasm +, pkgconfig, SDL2, SDL2_mixer }: -stdenv.mkDerivation rec { - name = "eduke32-20130303-3542"; +let + date = "20150420"; + rev = "5160"; + version = "${date}-${rev}"; +in stdenv.mkDerivation rec { + name = "eduke32-${version}"; src = fetchurl { - url = http://dukeworld.duke4.net/eduke32/synthesis/20130303-3542/eduke32_src_20130303-3542.tar.bz2; - sha256 = "0v1q2bkmpnac5l9x97nnlhrrb95518vmhxx48zv3ncvmpafl1mqc"; + url = "http://dukeworld.duke4.net/eduke32/synthesis/${version}/eduke32_src_${version}.tar.xz"; + sha256 = "1nlq5jbglg00c1z1vsyl627fh0mqfxvk5qyxav5vzla2b4svik2v"; }; - buildInputs = [ SDL SDL_mixer libvorbis mesa gtk pkgconfig libvpx flac ] + buildInputs = [ flac gtk libvorbis libvpx mesa pkgconfig SDL2 SDL2_mixer ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm; - NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL"; - NIX_LDFLAGS = "-L${SDL}/lib -lgcc_s"; + postPatch = '' + substituteInPlace build/src/glbuild.c \ + --replace libGL.so ${mesa}/lib/libGL.so \ + --replace libGLU.so ${mesa}/lib/libGLU.so + ''; + + NIX_CFLAGS_COMPILE = "-I${SDL2}/include/SDL"; + NIX_LDFLAGS = "-L${SDL2}/lib"; + + makeFlags = "LINKED_GTK=1 SDLCONFIG=${SDL2}/bin/sdl2-config VC_REV=${rev}"; desktopItem = makeDesktopItem { name = "eduke32"; exec = "eduke32-wrapper"; comment = "Duke Nukem 3D port"; - desktopName = "EDuke32"; + desktopName = "Enhanced Duke Nukem 3D"; genericName = "Duke Nukem 3D port"; categories = "Application;Game;"; }; - preConfigure = '' - sed -i -e "s|/usr/bin/sdl-config|${SDL}/bin/sdl-config|" build/Makefile.shared - ''; - - buildPhase = '' - make OPTLEVEL=0 USE_LIBPNG=0 - ''; - installPhase = '' - # Install binaries - mkdir -p $out/bin - cp eduke32 mapster32 $out/bin - # Make wrapper script - cat > $out/bin/eduke32-wrapper < eduke32-wrapper <