about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games')
-rw-r--r--nixpkgs/pkgs/games/angband/default.nix4
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix336
-rw-r--r--nixpkgs/pkgs/games/augustus/default.nix24
-rw-r--r--nixpkgs/pkgs/games/chiaki/default.nix4
-rw-r--r--nixpkgs/pkgs/games/easyrpg-player/default.nix4
-rw-r--r--nixpkgs/pkgs/games/factorio/default.nix4
-rw-r--r--nixpkgs/pkgs/games/factorio/utils.nix2
-rw-r--r--nixpkgs/pkgs/games/freecell-solver/default.nix2
-rw-r--r--nixpkgs/pkgs/games/galaxis/default.nix2
-rw-r--r--nixpkgs/pkgs/games/hedgewars/default.nix4
-rw-r--r--nixpkgs/pkgs/games/julius/default.nix24
-rw-r--r--nixpkgs/pkgs/games/katago/default.nix4
-rw-r--r--nixpkgs/pkgs/games/klavaro/default.nix30
-rw-r--r--nixpkgs/pkgs/games/ninvaders/default.nix23
-rw-r--r--nixpkgs/pkgs/games/openmw/default.nix12
-rw-r--r--nixpkgs/pkgs/games/openrw/default.nix4
-rw-r--r--nixpkgs/pkgs/games/openttd/default.nix8
-rw-r--r--nixpkgs/pkgs/games/privateer/default.nix4
-rw-r--r--nixpkgs/pkgs/games/steam/runtime.nix19
-rw-r--r--nixpkgs/pkgs/games/taisei/default.nix6
-rw-r--r--nixpkgs/pkgs/games/teeworlds/default.nix3
-rw-r--r--nixpkgs/pkgs/games/terraria-server/default.nix6
-rw-r--r--nixpkgs/pkgs/games/tintin/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tome4/default.nix2
-rw-r--r--nixpkgs/pkgs/games/tuxpaint/default.nix8
-rw-r--r--nixpkgs/pkgs/games/ultrastardx/default.nix2
-rw-r--r--nixpkgs/pkgs/games/vms-empire/default.nix2
-rw-r--r--nixpkgs/pkgs/games/wesnoth/default.nix14
28 files changed, 327 insertions, 234 deletions
diff --git a/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix
index e7681a4b7f84..937fd30d405a 100644
--- a/nixpkgs/pkgs/games/angband/default.nix
+++ b/nixpkgs/pkgs/games/angband/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "angband";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "angband";
     repo = "angband";
     rev = version;
-    sha256 = "0fr59986swx9a2xkxkbfgadzpwy2lq55fgcib05k393kibyz49kg";
+    sha256 = "174fphiywwb4yb3kqavwaysx7c97an2n8wjbm4p4d41i1svjsryz";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index 1548a9de63af..489e72768ea4 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/pkgs/games/anki/default.nix
@@ -22,179 +22,187 @@
 , setuptools
 , send2trash
 , CoreAudio
-# This little flag adds a huge number of dependencies, but we assume that
-# everyone wants Anki to draw plots with statistics by default.
+  # This little flag adds a huge number of dependencies, but we assume that
+  # everyone wants Anki to draw plots with statistics by default.
 , plotsSupport ? true
-# manual
+  # manual
 , asciidoc
 }:
 
 let
-    # when updating, also update rev-manual to a recent version of
-    # https://github.com/dae/ankidocs
-    # The manual is distributed independently of the software.
-    version = "2.1.15";
-    sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss";
-    rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139";
-    sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml";
-
-    manual = stdenv.mkDerivation {
-      pname = "anki-manual";
-      inherit version;
-      src = fetchFromGitHub {
-        owner = "dae";
-        repo = "ankidocs";
-        rev = rev-manual;
-        sha256 = sha256-manual;
-      };
-      phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
-      nativeBuildInputs = [ asciidoc ];
-      patchPhase = ''
-        # rsync isnt needed
-        # WEB is the PREFIX
-        # We remove any special ankiweb output generation
-        # and rename every .mako to .html
-        sed -e 's/rsync -a/cp -a/g' \
-            -e "s|\$(WEB)/docs|$out/share/doc/anki/html|" \
-            -e '/echo asciidoc/,/mv $@.tmp $@/c \\tasciidoc -b html5 -o $@ $<' \
-            -e 's/\.mako/.html/g' \
-            -i Makefile
-        # patch absolute links to the other language manuals
-        sed -e 's|https://apps.ankiweb.net/docs/|link:./|g' \
-            -i {manual.txt,manual.*.txt}
-        # there’s an artifact in most input files
-        sed -e '/<%def.*title.*/d' \
-            -i *.txt
-        mkdir -p $out/share/doc/anki/html
-      '';
+  # when updating, also update rev-manual to a recent version of
+  # https://github.com/dae/ankidocs
+  # The manual is distributed independently of the software.
+  version = "2.1.15";
+  sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss";
+  rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139";
+  sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml";
+
+  manual = stdenv.mkDerivation {
+    pname = "anki-manual";
+    inherit version;
+    src = fetchFromGitHub {
+      owner = "dae";
+      repo = "ankidocs";
+      rev = rev-manual;
+      sha256 = sha256-manual;
     };
+    phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
+    nativeBuildInputs = [ asciidoc ];
+    patchPhase = ''
+      # rsync isnt needed
+      # WEB is the PREFIX
+      # We remove any special ankiweb output generation
+      # and rename every .mako to .html
+      sed -e 's/rsync -a/cp -a/g' \
+          -e "s|\$(WEB)/docs|$out/share/doc/anki/html|" \
+          -e '/echo asciidoc/,/mv $@.tmp $@/c \\tasciidoc -b html5 -o $@ $<' \
+          -e 's/\.mako/.html/g' \
+          -i Makefile
+      # patch absolute links to the other language manuals
+      sed -e 's|https://apps.ankiweb.net/docs/|link:./|g' \
+          -i {manual.txt,manual.*.txt}
+      # there’s an artifact in most input files
+      sed -e '/<%def.*title.*/d' \
+          -i *.txt
+      mkdir -p $out/share/doc/anki/html
+    '';
+  };
 
 in
 buildPythonApplication rec {
-    pname = "anki";
-    inherit version;
-
-    src = fetchurl {
-      urls = [
-        "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz"
-        # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
-        # "http://ankisrs.net/download/mirror/${name}.tgz"
-        # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
-      ];
-      sha256 = sha256-pkg;
-    };
-
-    outputs = [ "out" "doc" "man" ];
-
-    propagatedBuildInputs = [
-      pyqtwebengine sqlalchemy beautifulsoup4 send2trash pyaudio requests decorator
-      markdown jsonschema setuptools
-    ]
-      ++ lib.optional plotsSupport matplotlib
-      ++ lib.optional stdenv.isDarwin [ CoreAudio ]
-      ;
-
-    checkInputs = [ pytest glibcLocales nose ];
-
-    nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
-    buildInputs = [ lame mplayer libpulseaudio  ];
-
-    patches = [
-      # Disable updated version check.
-      ./no-version-check.patch
+  pname = "anki";
+  inherit version;
+
+  src = fetchurl {
+    urls = [
+      "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz"
+      # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
+      # "http://ankisrs.net/download/mirror/${name}.tgz"
+      # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
     ];
-
-    buildPhase = ''
-      # Dummy build phase
-      # Anki does not use setup.py
-    '';
-
-    postPatch = ''
-      # Remove unused starter. We'll create our own, minimalistic,
-      # starter.
-      # rm anki/anki
-
-      # Remove QT translation files. We'll use the standard QT ones.
-      rm "locale/"*.qm
-
-      # hitting F1 should open the local manual
-      substituteInPlace anki/consts.py \
-        --replace 'HELP_SITE="http://ankisrs.net/docs/manual.html"' \
-                  'HELP_SITE="${manual}/share/doc/anki/html/manual.html"'
-    '';
-
-    # UTF-8 locale needed for testing
-    LC_ALL = "en_US.UTF-8";
-
-    checkPhase = ''
-      # - Anki writes some files to $HOME during tests
-      # - Skip tests using network
-      env HOME=$TMP pytest --ignore tests/test_sync.py
-    '';
-
-    installPhase = ''
-      pp=$out/lib/${python.libPrefix}/site-packages
-
-      mkdir -p $out/bin
-      mkdir -p $out/share/applications
-      mkdir -p $doc/share/doc/anki
-      mkdir -p $man/share/man/man1
-      mkdir -p $out/share/mime/packages
-      mkdir -p $out/share/pixmaps
-      mkdir -p $pp
-
-      cat > $out/bin/anki <<EOF
-      #!${python}/bin/python
-      import aqt
-      aqt.run()
-      EOF
-      chmod 755 $out/bin/anki
-
-      cp -v anki.desktop $out/share/applications/
-      cp -v README* LICENSE* $doc/share/doc/anki/
-      cp -v anki.1 $man/share/man/man1/
-      cp -v anki.xml $out/share/mime/packages/
-      cp -v anki.{png,xpm} $out/share/pixmaps/
-      cp -rv locale $out/share/
-      cp -rv anki aqt web $pp/
-
-      # copy the manual into $doc
-      cp -r ${manual}/share/doc/anki/html $doc/share/doc/anki
-    '';
-
-    dontWrapQtApps = true;
-
-    preFixup = ''
-      makeWrapperArgs+=(
-        "''${qtWrapperArgs[@]}"
-        --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
-      )
+    sha256 = sha256-pkg;
+  };
+
+  outputs = [ "out" "doc" "man" ];
+
+  propagatedBuildInputs = [
+    pyqtwebengine
+    sqlalchemy
+    beautifulsoup4
+    send2trash
+    pyaudio
+    requests
+    decorator
+    markdown
+    jsonschema
+    setuptools
+  ]
+  ++ lib.optional plotsSupport matplotlib
+  ++ lib.optional stdenv.isDarwin [ CoreAudio ]
+  ;
+
+  checkInputs = [ pytest glibcLocales nose ];
+
+  nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
+  buildInputs = [ lame mplayer libpulseaudio ];
+
+  patches = [
+    # Disable updated version check.
+    ./no-version-check.patch
+  ];
+
+  buildPhase = ''
+    # Dummy build phase
+    # Anki does not use setup.py
+  '';
+
+  postPatch = ''
+    # Remove unused starter. We'll create our own, minimalistic,
+    # starter.
+    # rm anki/anki
+
+    # Remove QT translation files. We'll use the standard QT ones.
+    rm "locale/"*.qm
+
+    # hitting F1 should open the local manual
+    substituteInPlace anki/consts.py \
+      --replace 'HELP_SITE="http://ankisrs.net/docs/manual.html"' \
+                'HELP_SITE="${manual}/share/doc/anki/html/manual.html"'
+  '';
+
+  # UTF-8 locale needed for testing
+  LC_ALL = "en_US.UTF-8";
+
+  checkPhase = ''
+    # - Anki writes some files to $HOME during tests
+    # - Skip tests using network
+    env HOME=$TMP pytest --ignore tests/test_sync.py
+  '';
+
+  installPhase = ''
+    pp=$out/lib/${python.libPrefix}/site-packages
+
+    mkdir -p $out/bin
+    mkdir -p $out/share/applications
+    mkdir -p $doc/share/doc/anki
+    mkdir -p $man/share/man/man1
+    mkdir -p $out/share/mime/packages
+    mkdir -p $out/share/pixmaps
+    mkdir -p $pp
+
+    cat > $out/bin/anki <<EOF
+    #!${python}/bin/python
+    import aqt
+    aqt.run()
+    EOF
+    chmod 755 $out/bin/anki
+
+    cp -v anki.desktop $out/share/applications/
+    cp -v README* LICENSE* $doc/share/doc/anki/
+    cp -v anki.1 $man/share/man/man1/
+    cp -v anki.xml $out/share/mime/packages/
+    cp -v anki.{png,xpm} $out/share/pixmaps/
+    cp -rv locale $out/share/
+    cp -rv anki aqt web $pp/
+
+    # copy the manual into $doc
+    cp -r ${manual}/share/doc/anki/html $doc/share/doc/anki
+  '';
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+      --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
+    )
+  '';
+
+  # now wrapPythonPrograms from postFixup will add both python and qt env variables
+
+  passthru = {
+    inherit manual;
+  };
+
+  meta = with lib; {
+    homepage = "https://apps.ankiweb.net/";
+    description = "Spaced repetition flashcard program";
+    longDescription = ''
+      Anki is a program which makes remembering things easy. Because it is a lot
+      more efficient than traditional study methods, you can either greatly
+      decrease your time spent studying, or greatly increase the amount you learn.
+
+      Anyone who needs to remember things in their daily life can benefit from
+      Anki. Since it is content-agnostic and supports images, audio, videos and
+      scientific markup (via LaTeX), the possibilities are endless. For example:
+      learning a language, studying for medical and law exams, memorizing
+      people's names and faces, brushing up on geography, mastering long poems,
+      or even practicing guitar chords!
     '';
-
-    # now wrapPythonPrograms from postFixup will add both python and qt env variables
-
-    passthru = {
-      inherit manual;
-    };
-
-    meta = with lib; {
-      homepage = "https://apps.ankiweb.net/";
-      description = "Spaced repetition flashcard program";
-      longDescription = ''
-        Anki is a program which makes remembering things easy. Because it is a lot
-        more efficient than traditional study methods, you can either greatly
-        decrease your time spent studying, or greatly increase the amount you learn.
-
-        Anyone who needs to remember things in their daily life can benefit from
-        Anki. Since it is content-agnostic and supports images, audio, videos and
-        scientific markup (via LaTeX), the possibilities are endless. For example:
-        learning a language, studying for medical and law exams, memorizing
-        people's names and faces, brushing up on geography, mastering long poems,
-        or even practicing guitar chords!
-      '';
-      license = licenses.agpl3Plus;
-      broken = stdenv.hostPlatform.isAarch64;
-      platforms = platforms.mesaPlatforms;
-      maintainers = with maintainers; [ oxij Profpatsch enzime ];
-    };
+    license = licenses.agpl3Plus;
+    broken = stdenv.hostPlatform.isAarch64;
+    platforms = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ oxij Profpatsch enzime ];
+  };
 }
diff --git a/nixpkgs/pkgs/games/augustus/default.nix b/nixpkgs/pkgs/games/augustus/default.nix
new file mode 100644
index 000000000000..cabe419ef5bc
--- /dev/null
+++ b/nixpkgs/pkgs/games/augustus/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, libpng }:
+
+stdenv.mkDerivation rec {
+  pname = "augustus";
+  version = "1.4.1a";
+
+  src = fetchFromGitHub {
+    owner = "Keriew";
+    repo = "augustus";
+    rev = "v${version}";
+    sha256 = "1xqv8j8jh3f13fjhyf7hk1anrn799cwwsvsd75kpl9n5yh5s1j5y";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ SDL2 SDL2_mixer libpng ];
+
+  meta = with stdenv.lib; {
+    description = "An open source re-implementation of Caesar III. Fork of Julius incorporating gameplay changes";
+    homepage = "https://github.com/Keriew/augustus";
+    license = licenses.agpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ Thra11 ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/chiaki/default.nix b/nixpkgs/pkgs/games/chiaki/default.nix
index 0d0bab2c4ebe..ac228118444a 100644
--- a/nixpkgs/pkgs/games/chiaki/default.nix
+++ b/nixpkgs/pkgs/games/chiaki/default.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub
-, cmake, ffmpeg, libopus, qtbase, qtmultimedia, qtsvg, pkgconfig, protobuf
+, cmake, ffmpeg_3, libopus, qtbase, qtmultimedia, qtsvg, pkgconfig, protobuf
 , python3Packages, SDL2 }:
 
 mkDerivation rec {
@@ -17,7 +17,7 @@ mkDerivation rec {
   nativeBuildInputs = [
     cmake pkgconfig protobuf python3Packages.python python3Packages.protobuf
   ];
-  buildInputs = [ ffmpeg libopus qtbase qtmultimedia qtsvg protobuf SDL2 ];
+  buildInputs = [ ffmpeg_3 libopus qtbase qtmultimedia qtsvg protobuf SDL2 ];
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/games/easyrpg-player/default.nix b/nixpkgs/pkgs/games/easyrpg-player/default.nix
index dfa57a728649..79628d0d2ae9 100644
--- a/nixpkgs/pkgs/games/easyrpg-player/default.nix
+++ b/nixpkgs/pkgs/games/easyrpg-player/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyrpg-player";
-  version = "0.6.1";
+  version = "0.6.2.1";
 
   src = fetchFromGitHub {
     owner = "EasyRPG";
     repo = "Player";
     rev = version;
-    sha256 = "0w4a4jg3py0phsp99nl7abyd31salnc57w4l05a228imvyy0maia";
+    sha256 = "19wpjvlkjmjhdv1dbph6i2da1xx479zhr532x0ili1aphw1j9hi6";
   };
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
diff --git a/nixpkgs/pkgs/games/factorio/default.nix b/nixpkgs/pkgs/games/factorio/default.nix
index 19ed6ccab372..fde3d31716eb 100644
--- a/nixpkgs/pkgs/games/factorio/default.nix
+++ b/nixpkgs/pkgs/games/factorio/default.nix
@@ -53,11 +53,11 @@ let
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
       alpha = {
         stable        = bdist { sha256 = "1fg2wnia6anzya4m53jf2xqwwspvwskz3awdb3j0v3fzijps94wc"; version = "0.17.79"; withAuth = true; };
-        experimental  = bdist { sha256 = "1ypq9qxry2b9a74p2i20f1yl20yf37xr4kvflbg1cn5nb8vvznxq"; version = "0.18.26"; withAuth = true; };
+        experimental  = bdist { sha256 = "0dm2s8iz7247i3j8cl5f4i3kipnmn5514gm21p7b4ahj6fhpc7pf"; version = "0.18.30"; withAuth = true; };
       };
       headless = {
         stable        = bdist { sha256 = "1pr39nm23fj83jy272798gbl9003rgi4vgsi33f2iw3dk3x15kls"; version = "0.17.79"; };
-        experimental  = bdist { sha256 = "1srlzncwp1gcdy6ih8cc1ml5ggvg6xkw5jc2q95qjb9gpjv29mnl"; version = "0.18.26"; };
+        experimental  = bdist { sha256 = "1c5jiqva2z58lghm6bhvjdj2n61xk8b8ss2hx80qsywgh3nqafr3"; version = "0.18.30"; };
       };
       demo = {
         stable        = bdist { sha256 = "07qknasaqvzl9vy1fglm7xmdi7ynhmslrb0a209fhbfs0s7qqlgi"; version = "0.17.79"; };
diff --git a/nixpkgs/pkgs/games/factorio/utils.nix b/nixpkgs/pkgs/games/factorio/utils.nix
index 563ece6cb9c2..2764592a3246 100644
--- a/nixpkgs/pkgs/games/factorio/utils.nix
+++ b/nixpkgs/pkgs/games/factorio/utils.nix
@@ -5,7 +5,7 @@ with stdenv.lib;
 {
   mkModDirDrv = mods: # a list of mod derivations
     let
-      recursiveDeps = modDrv: [modDrv] ++ optionals (modDrv.deps == []) (map recursiveDeps modDrv.deps);
+      recursiveDeps = modDrv: [modDrv] ++ map recursiveDeps modDrv.deps;
       modDrvs = unique (flatten (map recursiveDeps mods));
     in
     stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/games/freecell-solver/default.nix b/nixpkgs/pkgs/games/freecell-solver/default.nix
index f574f2539558..1845ba825eb2 100644
--- a/nixpkgs/pkgs/games/freecell-solver/default.nix
+++ b/nixpkgs/pkgs/games/freecell-solver/default.nix
@@ -3,7 +3,7 @@
 , perlPackages, python3 }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
 
   pname = "freecell-solver";
   version = "4.18.0";
diff --git a/nixpkgs/pkgs/games/galaxis/default.nix b/nixpkgs/pkgs/games/galaxis/default.nix
index 1bbbc5ead949..19df8db78a0a 100644
--- a/nixpkgs/pkgs/games/galaxis/default.nix
+++ b/nixpkgs/pkgs/games/galaxis/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ncurses, xmlto }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
 
   pname = "galaxis";
   version = "1.10";
diff --git a/nixpkgs/pkgs/games/hedgewars/default.nix b/nixpkgs/pkgs/games/hedgewars/default.nix
index 771554192d80..00df6f338210 100644
--- a/nixpkgs/pkgs/games/hedgewars/default.nix
+++ b/nixpkgs/pkgs/games/hedgewars/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut
+{ mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg_3, freeglut
 , lib, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
 , zlib, libpng, libGL, libGLU, physfs
 , qtbase, qttools
@@ -27,7 +27,7 @@ mkDerivation rec {
   buildInputs = [
     SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image
     fpc lua5_1
-    ffmpeg freeglut physfs
+    ffmpeg_3 freeglut physfs
     qtbase
   ] ++ lib.optional withServer ghc;
 
diff --git a/nixpkgs/pkgs/games/julius/default.nix b/nixpkgs/pkgs/games/julius/default.nix
new file mode 100644
index 000000000000..d1dad86e1c54
--- /dev/null
+++ b/nixpkgs/pkgs/games/julius/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, libpng }:
+
+stdenv.mkDerivation rec {
+  pname = "julius";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "bvschaik";
+    repo = "julius";
+    rev = "v${version}";
+    sha256 = "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ SDL2 SDL2_mixer libpng ];
+
+  meta = with stdenv.lib; {
+    description = "An open source re-implementation of Caesar III";
+    homepage = "https://github.com/bvschaik/julius";
+    license = licenses.agpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ Thra11 ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/katago/default.nix b/nixpkgs/pkgs/games/katago/default.nix
index 0a9ebd9e3eb4..fd4303eb2b1d 100644
--- a/nixpkgs/pkgs/games/katago/default.nix
+++ b/nixpkgs/pkgs/games/katago/default.nix
@@ -35,13 +35,13 @@ let
 
 in env.mkDerivation rec {
   pname = "katago";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "lightvector";
     repo = "katago";
     rev = "v${version}";
-    sha256 = "0qdc9hgbzd175b2xkjs62dy6gyybcn9lf1mifiyhjbzjpgv192h4";
+    sha256 = "14xs2bm8sky9cdsjdahjqs82q6blzcw05f5d9r1h171dm1hcx566";
   };
 
   # To workaround CMake 3.17.0's new buggy behavior wrt CUDA Compiler testing
diff --git a/nixpkgs/pkgs/games/klavaro/default.nix b/nixpkgs/pkgs/games/klavaro/default.nix
index e62c5a182339..557f75580ca9 100644
--- a/nixpkgs/pkgs/games/klavaro/default.nix
+++ b/nixpkgs/pkgs/games/klavaro/default.nix
@@ -1,12 +1,20 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }:
+{ stdenv
+, fetchurl
+, makeWrapper
+, curl
+, file
+, gtk3
+, intltool
+, pkgconfig
+}:
 
 stdenv.mkDerivation rec {
   pname = "klavaro";
-  version = "3.08";
+  version = "3.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
-    sha256 = "0qmvr6d8wshwp0xvk5wbig4vlzxzcxrakhyhd32v8v3s18nhqsrc";
+    sha256 = "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95";
   };
 
   nativeBuildInputs = [ intltool makeWrapper pkgconfig ];
@@ -17,14 +25,20 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
+  # Fixes /usr/bin/file: No such file or directory
+  preConfigure = ''
+    substituteInPlace configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" '';
 
-  meta = {
-    description = "Just another free touch typing tutor program";
+  meta = with stdenv.lib; {
+    description = "Free touch typing tutor program";
     homepage = "http://klavaro.sourceforge.net/";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [stdenv.lib.maintainers.mimame];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mimame davidak ];
   };
 }
diff --git a/nixpkgs/pkgs/games/ninvaders/default.nix b/nixpkgs/pkgs/games/ninvaders/default.nix
new file mode 100644
index 000000000000..009cb1e548f5
--- /dev/null
+++ b/nixpkgs/pkgs/games/ninvaders/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "ninvaders";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "sf-refugees";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wmwws1zsap4bfc2439p25vnja0hnsf57k293rdxw626gly06whi";
+  };
+
+  buildInputs = [ cmake ncurses ];
+
+  meta = with stdenv.lib; {
+    description = "Space Invaders clone based on ncurses";
+    homepage = "http://ninvaders.sourceforge.net/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ maintainers."1000101" ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/games/openmw/default.nix b/nixpkgs/pkgs/games/openmw/default.nix
index a9047de70416..22f3ea8d6ad3 100644
--- a/nixpkgs/pkgs/games/openmw/default.nix
+++ b/nixpkgs/pkgs/games/openmw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivationWith, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg
+{ stdenv, mkDerivationWith, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg_3
 , boost, cmake, SDL2, unshield, openal, libXt, pkgconfig }:
 
 let
@@ -6,25 +6,25 @@ let
     src = fetchFromGitHub {
       owner = "OpenMW";
       repo = "osg";
-      rev = "2b4c8e37268e595b82da4b9aadd5507852569b87";
-      sha256 = "0admnllxic6dcpic0h100927yw766ab55dix002vvdx36i6994jb";
+      rev = "1556cd7966ebc1c80b6626988d2b25fb43a744cf";
+      sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
     };
   });
 in mkDerivationWith stdenv.mkDerivation rec {
-  version = "0.45.0";
+  version = "0.46.0";
   pname = "openmw";
 
   src = fetchFromGitHub {
     owner = "OpenMW";
     repo = "openmw";
     rev = "${pname}-${version}";
-    sha256 = "1r87zrsnza2v9brksh809zzqj6zhk5xj15qs8iq11v1bscm2a2j4";
+    sha256 = "0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x";
   };
 
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake boost ffmpeg bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
+  buildInputs = [ cmake boost ffmpeg_3 bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
 
   cmakeFlags = [
     "-DDESIRED_QT_VERSION:INT=5"
diff --git a/nixpkgs/pkgs/games/openrw/default.nix b/nixpkgs/pkgs/games/openrw/default.nix
index c2bb5cfa20ce..b53850a87438 100644
--- a/nixpkgs/pkgs/games/openrw/default.nix
+++ b/nixpkgs/pkgs/games/openrw/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
-, SDL2, boost, ffmpeg, Cocoa, OpenAL }:
+, SDL2, boost, ffmpeg_3, Cocoa, OpenAL }:
 
 stdenv.mkDerivation {
   version = "2019-10-26";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
+    sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg_3
   ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenAL Cocoa ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/games/openttd/default.nix b/nixpkgs/pkgs/games/openttd/default.nix
index 519d4e3a7419..223f0a6ae8c5 100644
--- a/nixpkgs/pkgs/games/openttd/default.nix
+++ b/nixpkgs/pkgs/games/openttd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchzip, pkgconfig, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir
+{ stdenv, fetchurl, fetchzip, pkgconfig, which, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir
 , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true
 , withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps
 , writeScriptBin, makeWrapper, runtimeShell
@@ -29,14 +29,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openttd";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
-    sha256 = "0d22a3c50f7a321f4f211594f4987ac16c381e8e3e40f116848e63e91e7fbb9b";
+    sha256 = "1xdn9rr858nq22a13cpbhcw74bwygf7lw95kvx3wn4zvb795b74k";
   };
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  nativeBuildInputs = [ pkgconfig which makeWrapper ];
   buildInputs = [ SDL2 libpng xz zlib freetype fontconfig libxdg_basedir ]
     ++ stdenv.lib.optionals withFluidSynth [ fluidsynth soundfont-fluid ];
 
diff --git a/nixpkgs/pkgs/games/privateer/default.nix b/nixpkgs/pkgs/games/privateer/default.nix
index 9fd90945ebad..16d0036b6583 100644
--- a/nixpkgs/pkgs/games/privateer/default.nix
+++ b/nixpkgs/pkgs/games/privateer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib,
+{ stdenv, fetchsvn, boost, cmake, ffmpeg_3, freeglut, glib,
   gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp,
   libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs =
-    [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng
+    [ boost cmake ffmpeg_3 freeglut glib gtk2 libjpeg libpng
       libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal
       pixman pkgconfig python27 SDL ];
 
diff --git a/nixpkgs/pkgs/games/steam/runtime.nix b/nixpkgs/pkgs/games/steam/runtime.nix
index 44d80c0d7948..6d81d6c775e2 100644
--- a/nixpkgs/pkgs/games/steam/runtime.nix
+++ b/nixpkgs/pkgs/games/steam/runtime.nix
@@ -1,4 +1,4 @@
-{ stdenv, steamArch, fetchurl, }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
 
@@ -6,20 +6,15 @@ stdenv.mkDerivation rec {
   # from https://repo.steampowered.com/steamrt-images-scout/snapshots/
   version = "0.20200417.0";
 
-  src =
-    if steamArch == "amd64" then fetchurl {
-      url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/com.valvesoftware.SteamRuntime.Platform-amd64,i386-scout-runtime.tar.gz";
-      sha256 = "0kps8i5v23sycqm69xz389n8k831jd7ncsmlrkky7nib2q91rbvj";
-      name = "scout-runtime-${version}.tar.gz";
-    } else fetchurl {
-      url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/com.valvesoftware.SteamRuntime.Platform-i386-scout-runtime.tar.gz";
-      sha256 = "03fhac1r25xf7ia2pd35wjw360v5pa9h4870yrhhygp9h7v4klzf";
-      name = "scout-runtime-i386-${version}.tar.gz";
-    };
+  src = fetchurl {
+    url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
+    sha256 = "0d4dfl6i31i8187wj8rr9yvmrg32bx96bsgs2ya21b00czf070sy";
+    name = "scout-runtime-${version}.tar.gz";
+  };
 
   buildCommand = ''
     mkdir -p $out
-    tar -C $out -x --strip=1 -f $src files/
+    tar -C $out --strip=1 -x -f $src
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/games/taisei/default.nix b/nixpkgs/pkgs/games/taisei/default.nix
index c3b76b4980e3..3c4d0df2b036 100644
--- a/nixpkgs/pkgs/games/taisei/default.nix
+++ b/nixpkgs/pkgs/games/taisei/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "taisei";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://github.com/taisei-project/${pname}/releases/download/v${version}/${pname}-v${version}.tar.xz";
-    sha256 = "0fl41cbjr8h6gmhc27l44cfkcnhg5c10b4fcfvnfsbjii8gdwvjd";
+    sha256 = "11f9mlqmzy1lszwcc1nsbar9q1hs4ml6pbm52hqfd4q0f4x3ln46";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       project of shoot-em-up games set in an isolated world full of Japanese
       folklore.
     '';
-    homepage = https://taisei-project.org/;
+    homepage = "https://taisei-project.org/";
     license = [ licenses.mit licenses.cc-by-40 ];
     maintainers = [ maintainers.lambda-11235 ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/games/teeworlds/default.nix b/nixpkgs/pkgs/games/teeworlds/default.nix
index 3035c02e2623..9ff50d533bec 100644
--- a/nixpkgs/pkgs/games/teeworlds/default.nix
+++ b/nixpkgs/pkgs/games/teeworlds/default.nix
@@ -1,5 +1,6 @@
 { fetchFromGitHub, stdenv, cmake, pkgconfig, python3, alsaLib
 , libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -36,6 +37,8 @@ stdenv.mkDerivation rec {
     install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop
   '';
 
+  passthru.tests.teeworlds = nixosTests.teeworlds;
+
   meta = {
     description = "Retro multiplayer shooter game";
 
diff --git a/nixpkgs/pkgs/games/terraria-server/default.nix b/nixpkgs/pkgs/games/terraria-server/default.nix
index d3198e2b35c0..e16a771d272e 100644
--- a/nixpkgs/pkgs/games/terraria-server/default.nix
+++ b/nixpkgs/pkgs/games/terraria-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "terraria-server";
-  version = "1.4.0.4";
+  version = "1.4.0.5";
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
-    url = "https://terraria.org/system/dedicated_servers/archives/000/000/038/original/terraria-server-${urlVersion}.zip";
-    sha256 = "09zkadjd04gbx1yvwpqmm89viydwxqgixbqhbqncb94qb2z5gfxk";
+    url = "https://terraria.org/system/dedicated_servers/archives/000/000/039/original/terraria-server-${urlVersion}.zip";
+    sha256 = "1bvcafpjxp7ddrbhm3z0xamgi71ymbi41dlx990daz0b5kbdir8y";
   };
 
   buildInputs = [ file unzip ];
diff --git a/nixpkgs/pkgs/games/tintin/default.nix b/nixpkgs/pkgs/games/tintin/default.nix
index 7291f5b4bd21..cd58fcf24fd8 100644
--- a/nixpkgs/pkgs/games/tintin/default.nix
+++ b/nixpkgs/pkgs/games/tintin/default.nix
@@ -6,11 +6,11 @@
 assert tlsSupport -> gnutls != null;
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.02.02";
+  name = "tintin-2.02.03";
 
   src = fetchurl {
     url    = "mirror://sourceforge/tintin/${name}.tar.gz";
-    sha256 = "11ylbp8ip7dwmh4gzb53z147pcfxkl3lwhyy8ngyn2zc634vdn65";
+    sha256 = "0ybgy8j8i36d7f892x539vl6fl5zvvfyy5ffc98550vjr6qqhk74";
   };
 
   nativeBuildInputs = lib.optional tlsSupport gnutls.dev;
diff --git a/nixpkgs/pkgs/games/tome4/default.nix b/nixpkgs/pkgs/games/tome4/default.nix
index 99391f2e3018..59dced9ac67d 100644
--- a/nixpkgs/pkgs/games/tome4/default.nix
+++ b/nixpkgs/pkgs/games/tome4/default.nix
@@ -9,7 +9,7 @@ let
     name = pname;
     exec = "@out@/bin/${pname}";
     icon = pname;
-    terminal = "False";
+    terminal = "false";
     comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal.";
     type = "Application";
     categories = "Game;RolePlaying;";
diff --git a/nixpkgs/pkgs/games/tuxpaint/default.nix b/nixpkgs/pkgs/games/tuxpaint/default.nix
index b9d7f1b8c286..ea37ded6b6cd 100644
--- a/nixpkgs/pkgs/games/tuxpaint/default.nix
+++ b/nixpkgs/pkgs/games/tuxpaint/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer, libpng,
-  cairo, librsvg, gettext, libpaper, fribidi, pkgconfig, gperf }:
+  cairo, librsvg, gettext, libpaper, fribidi, pkgconfig, gperf, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.22";
+  version = "0.9.24";
   pname = "tuxpaint";
 
   src = fetchurl {
     url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca";
+    sha256 = "06m1lg2pikfkmassfvvrbwqffwgixcmjh1li6akaldgkalpmfql7";
   };
 
   nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_mixer libpng cairo
-    librsvg gettext libpaper fribidi pkgconfig gperf ];
+    librsvg gettext libpaper fribidi pkgconfig gperf imagemagick ];
   hardeningDisable = [ "format" ];
   makeFlags = [ "GPERF=${gperf}/bin/gperf"
                 "PREFIX=$$out"
diff --git a/nixpkgs/pkgs/games/ultrastardx/default.nix b/nixpkgs/pkgs/games/ultrastardx/default.nix
index 3e17dfdf644f..b2d601df3498 100644
--- a/nixpkgs/pkgs/games/ultrastardx/default.nix
+++ b/nixpkgs/pkgs/games/ultrastardx/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     owner = "UltraStar-Deluxe";
     repo = "USDX";
     rev = "3df142590f29db1505cc58746af9f8cf7cb4a6a5";
-    sha256 = "EpwGKK9B8seF7gRwo3kCeSzFQQW1p8rP4HXeu8/LoyA=";
+    sha256 = "0853rg7vppkmw37wm9xm0m0wab3r09ws6w04xs2wgwj1mwl0d70j";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/nixpkgs/pkgs/games/vms-empire/default.nix b/nixpkgs/pkgs/games/vms-empire/default.nix
index d0920b0c68d5..eb9108c32c9a 100644
--- a/nixpkgs/pkgs/games/vms-empire/default.nix
+++ b/nixpkgs/pkgs/games/vms-empire/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ncurses, xmlto }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
 
   pname = "vms-empire";
   version = "1.15";
diff --git a/nixpkgs/pkgs/games/wesnoth/default.nix b/nixpkgs/pkgs/games/wesnoth/default.nix
index 20ec0a978f5b..2eb45ded7e29 100644
--- a/nixpkgs/pkgs/games/wesnoth/default.nix
+++ b/nixpkgs/pkgs/games/wesnoth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
 , pango, gettext, boost, libvorbis, fribidi, dbus, libpng, pcre, openssl, icu
 , Cocoa, Foundation
 , enableTools ? false
@@ -6,11 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.14.11";
+  version = "1.14.12";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v";
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "wesnoth";
+    repo = "wesnoth";
+    sha256 = "0xpypy0yfjmjp3apvlh51nm19p1cjhjw2p547kvmrckm7y6naaw8";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
       adventures.
     '';
 
-    homepage = "http://www.wesnoth.org/";
+    homepage = "https://www.wesnoth.org/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.unix;