summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-04-18 13:00:40 +0000
committerRobin Gloster <mail@glob.in>2016-04-18 13:49:22 +0000
commitd020caa5b2eca90ea051403fbb4c52b99ee071b9 (patch)
treeba44ef1e784bca89e0df6b249956fd035b1d86e3 /pkgs/games
parent3e68106afd95df012ddb548575f0133681687a90 (diff)
parent0729f606973870c03d21bb2f21b70d91216943ca (diff)
downloadnixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.gz
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.bz2
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.lz
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.xz
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.tar.zst
nixpkgs-d020caa5b2eca90ea051403fbb4c52b99ee071b9.zip
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/adom/default.nix2
-rw-r--r--pkgs/games/beret/default.nix2
-rw-r--r--pkgs/games/bitsnbots/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/default.nix3
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix4
-rw-r--r--pkgs/games/extremetuxracer/default.nix2
-rw-r--r--pkgs/games/factorio/default.nix139
-rw-r--r--pkgs/games/gemrb/default.nix2
-rw-r--r--pkgs/games/hedgewars/default.nix6
-rw-r--r--pkgs/games/liberal-crime-squad/default.nix28
-rw-r--r--pkgs/games/liquidwar/default.nix2
-rw-r--r--pkgs/games/micropolis/default.nix2
-rw-r--r--pkgs/games/minetest/default.nix7
-rw-r--r--pkgs/games/nexuiz/default.nix16
-rw-r--r--pkgs/games/oilrush/default.nix14
-rw-r--r--pkgs/games/openarena/default.nix5
-rw-r--r--pkgs/games/openlierox/default.nix2
-rw-r--r--pkgs/games/openmw/default.nix40
-rw-r--r--pkgs/games/openttd/default.nix5
-rw-r--r--pkgs/games/planetaryannihilation/default.nix6
-rw-r--r--pkgs/games/quantumminigolf/default.nix2
-rw-r--r--pkgs/games/rigsofrods/default.nix40
-rw-r--r--pkgs/games/rili/default.nix2
-rw-r--r--pkgs/games/sdlmame/default.nix2
-rw-r--r--pkgs/games/steam/chrootenv.nix2
-rw-r--r--pkgs/games/stepmania/default.nix4
-rw-r--r--pkgs/games/stuntrally/default.nix8
-rw-r--r--pkgs/games/tibia/default.nix4
-rw-r--r--pkgs/games/trackballs/default.nix2
-rw-r--r--pkgs/games/ue4demos/default.nix4
-rw-r--r--pkgs/games/ultrastardx/default.nix2
-rw-r--r--pkgs/games/vdrift/default.nix28
-rw-r--r--pkgs/games/warsow/default.nix2
-rw-r--r--pkgs/games/warzone2100/default.nix27
-rw-r--r--pkgs/games/xonotic/default.nix6
-rw-r--r--pkgs/games/xsokoban/default.nix2
-rw-r--r--pkgs/games/zdoom/default.nix4
38 files changed, 275 insertions, 157 deletions
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index 07075571c7e..016c965b6c0 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -6,7 +6,7 @@ let
 
   inherit (xorg) libXext libX11;
 
-  lpath = "${stdenv.cc.cc}/lib64:" + stdenv.lib.makeSearchPath "lib" [
+  lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [
       zlib libmad libpng12 libcaca libXext libX11 mesa alsaLib libpulseaudio];
 
 in
diff --git a/pkgs/games/beret/default.nix b/pkgs/games/beret/default.nix
index e2e4f5af977..81bdbed46e9 100644
--- a/pkgs/games/beret/default.nix
+++ b/pkgs/games/beret/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ SDL SDL_image SDL_ttf SDL_mixer ];
 
-  NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL";
+  NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
   NIX_CFLAGS_LINK = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin
     "-framework CoreFoundation -framework OpenGL -framework Cocoa";
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index 57cd67fbb7b..82e5ddb06d4 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   makefile = "Makefile.linux";
 
-  NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL";
+  NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
 
   NIX_LDFLAGS = "-lGL";
 
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index deb7f1709fb..4eab8290933 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -9,6 +9,9 @@ let
 
     dfhack = callPackage_i686 ./dfhack {
       inherit (pkgsi686Linux.perlPackages) XMLLibXML XMLLibXSLT;
+      protobuf = with pkgsi686Linux; protobuf.override {
+        stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
+      };
     };
 
     dwarf-fortress-unfuck = callPackage_i686 ./unfuck.nix { };
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 9f0d5196b6d..65eb7d49771 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = false;
 
   configurePhase = ''
-    qmake PREFIX=$out
+    $QMAKE PREFIX=$out
   '';
 
   # Move layout files so they cannot be found by Therapist
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index d4e637a7caf..57b0e458cc2 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   };
 
   cmakeFlags = [
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
   ];
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index af80467c960..f2417428880 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-tcl=${tcl}/lib" ];
 
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL"
   '';
 
   meta = {
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index c9517b22a33..cf96756b8b6 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -1,82 +1,113 @@
 { stdenv, callPackage, fetchurl, makeWrapper
 # Begin libraries
-, alsaLib, libX11, libXcursor, libXinerama, libXrandr, libXi
+, alsaLib, libX11, libXcursor, libXinerama, libXrandr, libXi, mesa_noglu
 # Begin download parameters
 , username ? ""
 , password ? ""
+, releaseType
 }:
 
-let
-  version = "0.12.20";
-
-  fetch = callPackage ./fetch.nix { username = username; password = password; };
-  arch = if stdenv.system == "x86_64-linux" then "x64"
-         else if stdenv.system == "i686-linux" then "x32"
-         else abort "Unsupported platform";
+assert releaseType == "alpha" || releaseType == "headless";
 
-  variants = {
+with stdenv.lib;
+let
+  version = "0.12.29";
+  isHeadless = releaseType == "headless";
+
+  arch = if stdenv.system == "x86_64-linux" then {
+    inUrl = "linux64";
+    inTar = "x64";
+  } else if stdenv.system == "i686-linux" then {
+    inUrl = "linux32";
+    inTar = "i386";
+  } else abort "Unsupported platform";
+
+  authenticatedFetch = callPackage ./fetch.nix { inherit username password; };
+
+  fetch = rec {
+    url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}";
+    name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.gz"; # TODO take this from 302 redirection somehow? fetchurl doesn't help.
     x64 = {
-      url = "https://www.factorio.com/get-download/${version}/alpha/linux64";
-      sha256 = "1xpzrx3q678519qgjl92fxn3qv55hd188x9jp6dcfk2ljhi1gmqk";
+      headless = fetchurl        { inherit name url; sha256 = "1hr5dhpfagknjjd47qw3fa3ap8ikjc9hvxavrg4mpslbr0iqww8v"; };
+      alpha = authenticatedFetch { inherit      url; sha256 = "0vngfrjjib99k6czhg32rikfi36i3p3adx4mxc1z8bi5n70dbwqb"; };
     };
-
-    x32 = {
-      url = "https://www.factorio.com/get-download/${version}/alpha/linux32";
-      sha256 = "1dl1dsp4nni5nda437ckyw1ss6w168g19v51h7cdvb3cgsdb7sab";
+    i386 = {
+      headless = abort "Factorio 32-bit headless binaries are not available for download.";
+      alpha = authenticatedFetch { inherit      url; sha256 = "10135rd9103x79i89p6fh5ssmw612012yyx3yyhb3nzl554zqzbm"; };
     };
   };
-in
 
-stdenv.mkDerivation rec {
-  name = "factorio-${version}";
+  configBaseCfg = ''
+    use-system-read-write-data-directories=false
+    [path]
+    read-data=$out/share/factorio/data/
+  '';
 
-  src = fetch variants.${arch};
+  updateConfigSh = ''
+    #! $SHELL
+    if [[ -e ~/.factorio/config.cfg ]]; then
+      # Config file exists, but may have wrong path.
+      # Try to edit it. I'm sure this is perfectly safe and will never go wrong.
+      sed -i 's|^read-data=.*|read-data=$out/share/factorio/data/|' ~/.factorio/config.cfg
+    else
+      # Config file does not exist. Phew.
+      install -D $out/share/factorio/config-base.cfg ~/.factorio/config.cfg
+    fi
+  '';
 
-  libPath = stdenv.lib.makeLibraryPath [
-    alsaLib
-    libX11
-    libXcursor
-    libXinerama
-    libXrandr
-    libXi
-  ];
+in
+
+stdenv.mkDerivation rec {
+  name = "factorio-${releaseType}-${version}";
+
+  src = fetch.${arch.inTar}.${releaseType};
+
+  libPath = stdenv.lib.makeLibraryPath (
+    optionals (! isHeadless) [
+      alsaLib
+      libX11
+      libXcursor
+      libXinerama
+      libXrandr
+      libXi
+      mesa_noglu
+    ]
+  );
 
   buildInputs = [ makeWrapper ];
 
+  dontBuild = true;
+
+  # TODO detangle headless/normal mode wrapping, libs, etc.  test all urls 32/64/headless/gfx
   installPhase = ''
     mkdir -p $out/{bin,share/factorio}
-    cp -a bin/${arch}/factorio $out/bin/factorio.${arch}
-    cp -a doc-html data $out/share/factorio/
-
-    # Fortunately, Factorio already supports system-wide installs.
-    # Unfortunately it's a bit inconvenient to set the paths.
-    cat > $out/share/factorio/config-base.cfg <<EOF
-use-system-read-write-data-directories=false
-[path]
-read-data=$out/share/factorio/data/
-EOF
-
-    cat > $out/share/factorio/update-config.sh <<EOF
-if [[ -e ~/.factorio/config.cfg ]]; then
-  # Config file exists, but may have wrong path.
-  # Try to edit it. I'm sure this is perfectly safe and will never go wrong.
-  sed -i 's|^read-data=.*|read-data=$out/share/factorio/data/|' ~/.factorio/config.cfg
-else
-  # Config file does not exist. Phew.
-  install -D $out/share/factorio/config-base.cfg ~/.factorio/config.cfg
-fi
-EOF
-    chmod a+x $out/share/factorio/update-config.sh
-
+    cp -a data $out/share/factorio
+    cp -a bin/${arch.inTar}/factorio $out/bin/factorio
     patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      $out/bin/factorio.${arch}
+      $out/bin/factorio
 
-    makeWrapper $out/bin/factorio.${arch} $out/bin/factorio \
+  '' + optionalString (! isHeadless) (''
+    mv $out/bin/factorio $out/bin/factorio.${arch.inTar}
+    makeWrapper $out/bin/factorio.${arch.inTar} $out/bin/factorio \
       --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath \
       --run "$out/share/factorio/update-config.sh" \
       --add-flags "-c \$HOME/.factorio/config.cfg"
-  '';
+    # Fortunately, Factorio already supports system-wide installs.
+    # Unfortunately it's a bit inconvenient to set the paths.
+    install -m0644 <(cat << EOF
+  '' + configBaseCfg + ''
+    EOF
+    ) $out/share/factorio/config-base.cfg
+
+    install -m0755 <(cat << EOF
+  '' + updateConfigSh + ''
+    EOF
+    ) $out/share/factorio/update-config.sh
+    cp -a doc-html $out/share/factorio
+  '');
+
+  preferLocalBuild = true;
 
   meta = {
     description = "A game in which you build and maintain factories";
@@ -94,7 +125,7 @@ EOF
     '';
     homepage = https://www.factorio.com/;
     license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.Baughn ];
+    maintainers = with stdenv.lib.maintainers; [ Baughn elitak ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix
index 86da7686eef..42d80f86e82 100644
--- a/pkgs/games/gemrb/default.nix
+++ b/pkgs/games/gemrb/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl reqs) optional
 
   # Necessary to find libdl.
-  CMAKE_LIBRARY_PATH = "${stdenv.cc.libc}/lib";
+  CMAKE_LIBRARY_PATH = "${stdenv.cc.libc.out}/lib";
 
   # Can't have -werror because of the Vorbis header files.
   cmakeFlags = "-DDISABLE_WERROR=ON -DCMAKE_VERBOSE_MAKEFILE=ON";
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 8d601e29d0b..7d0f59a4e0d 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -26,11 +26,11 @@ stdenv.mkDerivation rec {
                                      -rpath ${SDL_mixer}/lib
                                      -rpath ${SDL_net}/lib
                                      -rpath ${SDL_ttf}/lib
-                                     -rpath ${SDL}/lib
-                                     -rpath ${libpng}/lib
+                                     -rpath ${SDL.out}/lib
+                                     -rpath ${libpng.out}/lib
                                      -rpath ${lua5_1}/lib
                                      -rpath ${mesa}/lib
-                                     -rpath ${zlib}/lib
+                                     -rpath ${zlib.out}/lib
                                      "
   '';
 
diff --git a/pkgs/games/liberal-crime-squad/default.nix b/pkgs/games/liberal-crime-squad/default.nix
new file mode 100644
index 00000000000..434f72d62f0
--- /dev/null
+++ b/pkgs/games/liberal-crime-squad/default.nix
@@ -0,0 +1,28 @@
+{ fetchFromGitHub, stdenv, ncurses, autoconf, automake , SDL2, SDL2_mixer }:
+
+stdenv.mkDerivation rec {
+  version = "2016-03-03";
+  name = "liberal-crime-squad-${version}";
+  src = fetchFromGitHub {
+    owner = "Kamal-Sadek";
+    repo = "Liberal-Crime-Squad";
+    rev = "39c5f167e902e33cb37b152215d67f71b9ae8269";
+    sha256 = "18s2w2570fd79y9rb7ikxls1qw29l1lbwk9n2dxxqjslbzrbvv31";
+  };
+
+  preConfigure = ''
+    ./bootstrap
+  '';
+
+  buildInputs = [ ncurses autoconf automake SDL2 SDL2_mixer ];
+
+  meta = with stdenv.lib; {
+    description = "A humorous politically themed ncurses game";
+    longDescription = ''
+      Welcome to Liberal Crime Squad! The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automatons. That is, let them see their True Liberal Nature. Then arm them and send them forth to Stop Evil.
+    '';
+    homepage = https://github.com/Kamal-Sadek/Liberal-Crime-Squad;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/liquidwar/default.nix b/pkgs/games/liquidwar/default.nix
index 532c4c635fb..ccab07308fd 100644
--- a/pkgs/games/liquidwar/default.nix
+++ b/pkgs/games/liquidwar/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   # To avoid problems finding SDL_types.h.
-  configureFlags = [ "CFLAGS=-I${SDL}/include/SDL" ];
+  configureFlags = [ "CFLAGS=-I${SDL.dev}/include/SDL" ];
 
   meta = with stdenv.lib; {
     description = "Quick tactics game";
diff --git a/pkgs/games/micropolis/default.nix b/pkgs/games/micropolis/default.nix
index 55a02e08003..a294128969c 100644
--- a/pkgs/games/micropolis/default.nix
+++ b/pkgs/games/micropolis/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   preConfigure =
     ''
       cd src
-      sed -i "s@^CFLAGS.*\$@&\nCFLAGS += -I${libXpm}/include/X11@" tk/makefile
+      sed -i "s@^CFLAGS.*\$@&\nCFLAGS += -I${libXpm.dev}/include/X11@" tk/makefile
       sed -i "s@^INCLUDES.*\$@&\n\t-I$PWD/tcl \\\\@" sim/makefile
     '';
 
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index ecd468eaf58..04bad7f1684 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
 , libjpeg, libXxf86vm, mesa, openal, libvorbis, xlibsWrapper, sqlite, luajit, freetype
-, gettext
+, gettext, doxygen
 }:
 
 let
@@ -25,13 +25,14 @@ in stdenv.mkDerivation {
   cmakeFlags = [
     "-DENABLE_FREETYPE=1"
     "-DENABLE_GETTEXT=1"
-    "-DCURL_INCLUDE_DIR=${curl}/include/curl"
+    "-DGETTEXT_INCLUDE_DIR=${gettext}/include/gettext"
+    "-DCURL_INCLUDE_DIR=${curl.dev}/include/curl"
     "-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht"
   ];
 
   buildInputs = [
     cmake irrlicht libpng bzip2 libjpeg curl libogg jsoncpp libXxf86vm mesa
-    openal libvorbis xlibsWrapper sqlite luajit freetype gettext
+    openal libvorbis xlibsWrapper sqlite luajit freetype gettext doxygen
   ];
 
   postInstall = ''
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
index e40dec3c23f..0bfebd510c9 100644
--- a/pkgs/games/nexuiz/default.nix
+++ b/pkgs/games/nexuiz/default.nix
@@ -36,14 +36,14 @@ in stdenv.mkDerivation {
   '';
 
   NIX_LDFLAGS = ''
-    -rpath ${zlib}/lib
-    -rpath ${curl}/lib
-    -rpath ${libjpeg}/lib
-    -rpath ${libpng}/lib
-    -rpath ${libvorbis}/lib
-    -rpath ${libtheora}/lib
-    -rpath ${libogg}/lib
-    -rpath ${libmodplug}/lib
+    -rpath ${zlib.out}/lib
+    -rpath ${curl.out}/lib
+    -rpath ${libjpeg.out}/lib
+    -rpath ${libpng.out}/lib
+    -rpath ${libvorbis.out}/lib
+    -rpath ${libtheora.out}/lib
+    -rpath ${libogg.out}/lib
+    -rpath ${libmodplug.out}/lib
   '';
 
   buildPhase = ''
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index d75f02c5e94..ec9c928b798 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -1,6 +1,8 @@
 { stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr
 , libXrender, fontconfig, freetype, openal }:
 
+with { inherit (stdenv.lib) makeLibraryPath; };
+
 stdenv.mkDerivation {
   name = "oilrush";
   src = 
@@ -25,25 +27,25 @@ stdenv.mkDerivation {
     do
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
     done
-    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\
              launcher_$arch
     patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libNetwork_$arch.so
     patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtCoreUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\
              libQtGuiUnigine_$arch.so.4
     patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtNetworkUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXrender fontconfig freetype ]}\
              libQtWebKitUnigine_$arch.so.4
     patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtXmlUnigine_$arch.so.4
     patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libRakNet_$arch.so
-    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\
              libUnigine_$arch.so
-    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${makeLibraryPath [ stdenv.cc.cc libX11 libXext libXinerama libXrandr ]}\
              OilRush_$arch
   '';
   installPhase = ''
@@ -53,7 +55,7 @@ stdenv.mkDerivation {
     mkdir -p "$out/bin"
     cat << EOF > "$out/bin/oilrush"
     #! /bin/sh
-    LD_LIBRARY_PATH=.:${openal}/lib:\$LD_LIBRARY_PATH
+    LD_LIBRARY_PATH=.:${makeLibraryPath [ openal ]}:\$LD_LIBRARY_PATH
     cd "$out/opt/oilrush"
     exec ./launcher_$arch.sh "\$@"
     EOF
diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix
index 1926afaeb3b..1e396318bbb 100644
--- a/pkgs/games/openarena/default.nix
+++ b/pkgs/games/openarena/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
   installPhase = let
     gameDir = "$out/openarena-$version";
     interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
+    libPath = stdenv.lib.makeLibraryPath [ SDL libogg libvorbis ];
   in ''
     mkdir -pv $out/bin
     cd $out
@@ -23,11 +24,11 @@ stdenv.mkDerivation rec {
     ${if stdenv.system == "x86_64-linux" then ''
       patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.x86_64"
       makeWrapper "${gameDir}/openarena.x86_64" "$out/bin/openarena" \
-        --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib"
+        --prefix LD_LIBRARY_PATH : "${libPath}"
     '' else ''
       patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.i386"
       makeWrapper "${gameDir}/openarena.i386" "$out/bin/openarena" \
-        --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib"
+        --prefix LD_LIBRARY_PATH : "${libPath}"
     ''}
   '';
 
diff --git a/pkgs/games/openlierox/default.nix b/pkgs/games/openlierox/default.nix
index 2dc4dece75f..04b74b4214f 100644
--- a/pkgs/games/openlierox/default.nix
+++ b/pkgs/games/openlierox/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1k35xppfqi3qfysv81xq3hj4qdy9j2ciinbkfdcmwclcsf3nh94z";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${libxml2}/include/libxml2";
+  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
 
   # The breakpad fails to build on x86_64, and it's only to report bugs upstream
   cmakeFlags = [ "-DBREAKPAD=0" ];
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 29e13aa810a..b6acbeb522a 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,34 +1,38 @@
-{ stdenv, fetchFromGitHub, qt4, ogre, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  version = "0.36.1";
-  name = "openmw-${version}";
-
-  mygui_ = mygui.overrideDerivation (oldAttrs: {
-    name = "mygui-3.2.1";
-    version = "3.2.1";
+{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal
+, giflib, pkgconfig }:
 
+let
+  openscenegraph_ = openscenegraph.override {
+    inherit ffmpeg giflib;
+    withApps = false;
+  };
+  openscenegraph__ = openscenegraph_.overrideDerivation (self: {
     src = fetchFromGitHub {
-      owner = "MyGUI";
-      repo = "mygui";
-      rev = "MyGUI3.2.1";
-      sha256 = "1ic4xwyh2akfpqirrbyvicc56yy2r268rzgcgx16yqb4nrldy2p0";
+      owner = "OpenMW";
+      repo = "osg";
+      rev = "a72f43de6e1e4a8191643acb26c3e7138f833798";
+      sha256 = "04x2pjfrdz1kaj4i34zpzrmkk018jnr84rb6z646cz5fin3dapyh";
     };
   });
+in stdenv.mkDerivation rec {
+  version = "0.39.0";
+  name = "openmw-${version}";
 
   src = fetchFromGitHub {
     owner = "OpenMW";
     repo = "openmw";
     rev = name;
-    sha256 = "0yfiilad6izmingc0nhvkvn6dpybps04xwj4k1h13ymip6awm80x";
+    sha256 = "0haz8p0hwzgpj634q34if6x57rkc3zsndry5pz4a25m23sn1i72y";
   };
 
-  buildInputs = [ cmake boost ffmpeg qt4 bullet mygui_ ogre SDL2 unshield openal pkgconfig ];
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph__ SDL2 unshield openal pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An unofficial open source engine reimplementation of the game Morrowind";
     homepage = "http://openmw.org";
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
   };
-  
 }
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 65fab09d04d..03f94afd94f 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -21,11 +21,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "0qxss5rxzac94z5k16xv84ll0n163sphs88xkgv3z7vwramagffq";
+    sha256 = "1cjf9gz7d0sn7893wv9d00q724sxv3d81bgb0c5f5ppz2ssyc4jc";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
   prefixKey = "--prefix-dir=";
 
   configureFlags = [
-    "--with-zlib=${zlib}/lib/libz.a"
     "--without-liblzo2"
   ];
 
diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix
index ed682e7bed9..cf968c08287 100644
--- a/pkgs/games/planetaryannihilation/default.nix
+++ b/pkgs/games/planetaryannihilation/default.nix
@@ -34,12 +34,12 @@ stdenv.mkDerivation {
     ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0
 
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/PA"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc xorg.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xorg.libXrender ]}:{stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host" 
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk glib stdenv.glibc.out "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" "$out/host/CoherentUI_Host" 
 
-    wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc xorg.libX11 xorg.libXcursor gtk glib curl "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64"
+    wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib stdenv.glibc.out xorg.libX11 xorg.libXcursor gtk glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64"
 
     for f in $out/lib/*; do
-      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc curl xorg.libX11 stdenv.glibc xorg.libXcursor "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" $f
+      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 stdenv.glibc.out xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" $f
     done
   '';
 
diff --git a/pkgs/games/quantumminigolf/default.nix b/pkgs/games/quantumminigolf/default.nix
index 94035179016..1b075507796 100644
--- a/pkgs/games/quantumminigolf/default.nix
+++ b/pkgs/games/quantumminigolf/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
   preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL"
 
     sed -re 's@"(gfx|fonts|tracks)/@"'"$out"'/share/quantumminigolf/\1/@g' -i *.cpp
   '';
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
new file mode 100644
index 00000000000..c4477ab01d9
--- /dev/null
+++ b/pkgs/games/rigsofrods/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, mesa, boost,
+  pkgconfig, libuuid, openal, ogre, ois, curl, gtk, pixman, mygui, unzip,
+  angelscript, ogrepaged, mysocketw, libxcb
+  }:
+
+stdenv.mkDerivation rec {
+  version = "git-20160412";
+  name = "rigsofrods-${version}";
+
+  src = fetchFromGitHub {
+    owner = "RigsOfRods";
+    repo = "rigs-of-rods";
+    rev = "1ebd359dbd467b4c3171dd6d054e7d8ec39f78ba";
+    sha256 = "0h71nrgq5r5cnh20c7wl8jzyaf50dj1b5jdrwihnklpsfyfvjlw4";
+  };
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../tools/linux/binaries/plugins.cfg
+    mkdir -p $out/share/rigsofrods
+    cp -r bin/* $out/share/rigsofrods
+    cp ../tools/linux/binaries/plugins.cfg $out/share/rigsofrods
+    mkdir -p $out/bin
+    ln -s $out/share/rigsofrods/{RoR,RoRConfig} $out/bin
+  '';
+
+  buildInputs = [ wxGTK30 freeimage cmake zziplib mesa boost pkgconfig
+    libuuid openal ogre ois curl gtk mygui unzip angelscript
+    ogrepaged mysocketw libxcb ];
+
+  meta = {
+    description = "3D simulator game where you can drive, fly and sail various vehicles";
+    homepage = http://rigsofrods.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
index 7d127332845..e0e6de6b8ef 100644
--- a/pkgs/games/rili/default.nix
+++ b/pkgs/games/rili/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   patches = [ ./moderinze_cpp.patch ];
 
-  CPPFLAGS = "-I${SDL}/include -I${SDL}/include/SDL -I${SDL_mixer}/include";
+  CPPFLAGS = "-I${SDL.dev}/include -I${SDL.dev}/include/SDL -I${SDL_mixer}/include";
 
   buildInputs = [ SDL SDL_mixer autoreconfHook ];
 
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index 15b7f87ed10..5e52a92e621 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${alsaLib}/lib:${qt48}/lib:${SDL}/lib:${fontconfig}/lib:${freetype}/lib:${SDL_ttf}/lib:${xorg.libX11}/lib:${xorg.libXinerama}/lib:${stdenv.cc.cc}/lib" \
+      --set-rpath "${stdenv.lib.makeLibraryPath [ alsaLib qt48 SDL fontconfig freetype SDL_ttf xorg.libX11 xorg.libXinerama stdenv.cc.cc ]}" \
       share/sdlmame/sdlmame
 
     mkdir -p "$out/bin"
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 4bb81d30027..7a4fd611b1b 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -24,6 +24,8 @@ let
       which
       # Needed by gdialog, including in the steam-runtime
       perl
+      # Open URLs
+      xdg_utils
     ] ++ lib.optional withJava jdk
       ++ lib.optional withPrimus (primus.override {
            stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index c4dc96a4c4d..9ba78c0ab14 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DWITH_SYSTEM_FFMPEG=1"
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
   ];
 
   patches = [
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 2c41a11ab57..436ac958f34 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "stunt-rally-${version}";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchgit {
     url = git://github.com/stuntrally/stuntrally.git;
     rev = "refs/tags/${version}";
-    sha256 = "1lsh7z7sjfwpdybg6vbwqx1zxsgbfp2n60n7xl33v225p32qh1qf";
+    sha256 = "0rrfmldl6m7igni1n4rv2i0s2q5j1ik8dh05ydkaqrpcky96bdr8";
   };
 
   tracks = fetchgit {
     url = git://github.com/stuntrally/tracks.git;
     rev = "refs/tags/${version}";
-    sha256 = "1614j6q1d2f69l58kkqndndvf6svcghhw8pzc2s1plf6k87h67mg";
+    sha256 = "186qqyr1nrabfzsgy7b4sjgm38mgd875f4c7qwkm8k2bl7zjkrm2";
   };
 
   preConfigure = ''
@@ -34,5 +34,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
+    # Build failure
+    broken = true;
   };
 }
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index c1f533276d6..1af750f462a 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     mkdir -pv $out/res
     cp -r * $out/res
 
-    patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
+    patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \
              --set-rpath ${stdenv.cc.cc}/lib:${libX11}/lib:${mesa}/lib \
              "$out/res/Tibia"
 
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
     cat << EOF > "$out/bin/Tibia"
     #!${stdenv.shell}
     cd $out/res
-    ${glibc}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@"
+    ${glibc.out}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@"
     EOF
 
     chmod +x $out/bin/Tibia
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index 22d8c944fa8..7cf741f2fab 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   postUnpack = optionalString debug
     "mkdir -p $out/src; cp -R * $out/src ; cd $out/src";
 
-  NIX_CFLAGS_COMPILE = "-iquote ${SDL}/include/SDL";
+  NIX_CFLAGS_COMPILE = "-iquote ${SDL.dev}/include/SDL";
   configureFlags = optionalString debug "--enable-debug";
 
   patchPhase = ''
diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix
index ed2ea23d415..963dde91068 100644
--- a/pkgs/games/ue4demos/default.nix
+++ b/pkgs/games/ue4demos/default.nix
@@ -12,7 +12,7 @@ let
 
       rtdeps = stdenv.lib.makeLibraryPath
         [ xorg.libXxf86vm xorg.libXext openal ]
-        + ":" + stdenv.lib.makeSearchPath "lib64" [ stdenv.cc.cc ];
+        + ":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] [ stdenv.cc.cc ];
 
       buildCommand =
       ''
@@ -20,7 +20,7 @@ let
         cd $out
         unzip $src
 
-        interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2)
         binary=$(find . -executable -type f)
         patchelf \
           --set-interpreter $interpreter \
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 3eabaa090bb..5027abedcf4 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   # The fpc is not properly wrapped to add -rpath. I add this manually.
   # I even do a trick on lib/lib64 for libgcc, that I expect it will work.
   preBuild = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc}/lib64 -rpath ${stdenv.cc.cc}/lib"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL.out}/lib -rpath ${SDL_image}/lib -rpath ${libpng.out}/lib -rpath ${freetype.out}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg.out}/lib -rpath ${zlib.out}/lib -rpath ${sqlite.out}/lib -rpath ${libX11.out}/lib -rpath ${pcre.out}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc.out}/lib64 -rpath ${stdenv.cc.cc.out}/lib"
 
     sed -i 414,424d Makefile
   '';
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index bba7823f663..ea3231dbe63 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -1,26 +1,28 @@
-{ fetchurl, stdenv, mesa, SDL, scons, freeglut, SDL_image, glew, libvorbis,
-  asio, boost, SDL_gfx, pkgconfig, bullet, curl, libarchive }:
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, mesa, SDL2, SDL2_image, libvorbis,
+  bullet, curl, gettext }:
 
 stdenv.mkDerivation rec {
-  version = "2012-07-22";
+  version = "2014-10-20";
   name = "vdrift-${version}";
-  patch = "c"; # see https://github.com/VDrift/vdrift/issues/110
 
-  src = fetchurl {
-    url = "mirror://sourceforge/vdrift/${name}.tar.bz2";
-    sha256 = "1yqkc7y4s4g5ylw501bf0c03la7kfddjdk4yyi1xkcwy3pmgw2al";
+  src = fetchFromGitHub {
+    owner = "VDrift";
+    repo = "vdrift";
+    rev = version;
+    sha256 = "09yny5qzdrpffq3xhqwfymsracwsxwmdd5xa8bxx9a56hhxbak2l";
   };
 
-  patches = fetchurl {
-    url = "mirror://sourceforge/vdrift/${name}${patch}_patch.diff";
-    sha256 = "08mfg4xxkzyp6602cgqyjzc3rn0zsaa3ddjkpd44b83drv19lriy";
+  data = fetchsvn {
+    url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
+    rev = 1386;
+    sha256 = "0ka6zir9hg0md5p03dl461jkvbk05ywyw233hnc3ka6shz3vazi1";
   };
-  patchFlags = "-p0";
 
-  buildInputs = [ scons mesa SDL freeglut SDL_image glew libvorbis asio boost
-    SDL_gfx pkgconfig bullet curl libarchive ];
+  buildInputs = [ pkgconfig scons mesa SDL2 SDL2_image libvorbis bullet curl gettext ];
 
   buildPhase = ''
+    cp -r --reflink=auto $data data
+    chmod -R +w data
     sed -i -e s,/usr/local,$out, SConstruct
     scons
   '';
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index b525e3cb0f8..9f2dfbab2ec 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     cp -rv basewsw libs $dest
     # Since 1.03 some modules are _always_ downloaded from server, thus
     makeWrapper $dest/warsow $out/bin/warsow \
-      --suffix-each LD_LIBRARY_PATH ':' "${freetype}/lib"
+      --suffix-each LD_LIBRARY_PATH ':' "${freetype.out}/lib"
     makeWrapper $dest/wsw_server $out/bin/wsw_server
     makeWrapper $dest/wswtv_server $out/bin/wswtv_server
   '';
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index bd94fbecb2a..7c578f370d7 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -1,25 +1,29 @@
 { stdenv, fetchurl, bison, flex, gettext, pkgconfig, libpng
 , libtheora, openal, physfs, mesa, fribidi, fontconfig
 , freetype, qt4, glew, libogg, libvorbis, zlib, libX11
-, libXrandr, zip, unzip, which
+, libXrandr, zip, unzip, which, perl
 , withVideos ? false
 }:
-stdenv.mkDerivation rec {
+
+let
   pname = "warzone2100";
-  version = "3.1.1";
-  name = "${pname}-${version}";
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/releases/${version}/${name}.tar.xz";
-    sha256 = "c937a2e2c7afdad00b00767636234bbec4d8b18efb008073445439d32edb76cf";
-  };
   sequences_src = fetchurl {
     url = "mirror://sourceforge/${pname}/warzone2100/Videos/high-quality-en/sequences.wz";
     sha256 = "90ff552ca4a70e2537e027e22c5098ea4ed1bc11bb7fc94138c6c941a73d29fa";
   };
+in
+
+stdenv.mkDerivation rec {
+  version = "3.1.5";
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/releases/${version}/${name}.tar.xz";
+    sha256 = "0hm49i2knvvg3wlnryv7h4m84s3qa7jfyym5yy6365sx8wzcrai1";
+  };
   buildInputs = [ bison flex gettext pkgconfig libpng libtheora openal
                   physfs mesa fribidi fontconfig freetype qt4
                   glew libogg libvorbis zlib libX11 libXrandr zip
-                  unzip
+                  unzip perl
                 ];
   patchPhase = ''
     substituteInPlace lib/exceptionhandler/dumpinfo.cpp \
@@ -31,8 +35,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
 
-  postInstall = []
-    ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
+  postInstall = stdenv.lib.optionalString withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
 
   meta = with stdenv.lib; {
     description = "A free RTS game, originally developed by Pumpkin Studios";
@@ -45,7 +48,7 @@ stdenv.mkDerivation rec {
       missiles. The game offers campaign, multi-player, and single-player
       skirmish modes. An extensive tech tree with over 400 different
       technologies, combined with the unit design system, allows for a wide
-      variety of possible units and tactics. 
+      variety of possible units and tactics.
     '';
     homepage = http://wz2100.net;
     license = licenses.gpl2Plus;
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 7fb7c11694f..e45bbb20d3a 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -32,9 +32,9 @@ stdenv.mkDerivation rec {
   #'';
 
   NIX_LDFLAGS = ''
-    -rpath ${zlib}/lib
-    -rpath ${libvorbis}/lib
-    -rpath ${curl}/lib
+    -rpath ${zlib.out}/lib
+    -rpath ${libvorbis.out}/lib
+    -rpath ${curl.out}/lib
   '';
 
   buildPhase = ''
diff --git a/pkgs/games/xsokoban/default.nix b/pkgs/games/xsokoban/default.nix
index e6686a658a9..502771e18ee 100644
--- a/pkgs/games/xsokoban/default.nix
+++ b/pkgs/games/xsokoban/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     sed -e 's/getline/my_getline/' -i score.c
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXpm}/include/X11"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXpm.dev}/include/X11"
     for i in  $NIX_CFLAGS_COMPILE; do echo $i; ls ''${i#-I}; done
     chmod a+rw config.h
     cat >>config.h <<EOF
diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix
index 8feb78ad969..3a301ed0f2b 100644
--- a/pkgs/games/zdoom/default.nix
+++ b/pkgs/games/zdoom/default.nix
@@ -14,10 +14,10 @@ stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so"
-    "-DSDL_INCLUDE_DIR=${SDL}/include"
+    "-DSDL_INCLUDE_DIR=${SDL.dev}/include"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-I ${SDL}/include/SDL" ];
+  NIX_CFLAGS_COMPILE = [ "-I ${SDL.dev}/include/SDL" ];
    
   preConfigure = ''
     sed s@zdoom.pk3@$out/share/zdoom.pk3@ -i src/version.h