about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-03-15 10:36:38 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-16 11:37:19 +0000
commitd435710923ac6e6f9fc155534800745004f2ce93 (patch)
tree386f9401476f96bdc6ec25173a090198942b5d5b /nixpkgs/pkgs/games
parentc725f0011e91ae49d351b981690eb66b862b6104 (diff)
parent3239fd2b8f728106491154b44625662e10259af2 (diff)
downloadnixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.gz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.bz2
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.lz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.xz
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.tar.zst
nixlib-d435710923ac6e6f9fc155534800745004f2ce93.zip
Merge commit '3239fd2b8f728106491154b44625662e10259af2'
Conflicts:
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
Diffstat (limited to 'nixpkgs/pkgs/games')
-rw-r--r--nixpkgs/pkgs/games/90secondportraits/default.nix2
-rw-r--r--nixpkgs/pkgs/games/abuse/default.nix2
-rw-r--r--nixpkgs/pkgs/games/airshipper/default.nix6
-rw-r--r--nixpkgs/pkgs/games/alephone/default.nix2
-rw-r--r--nixpkgs/pkgs/games/angband/default.nix4
-rw-r--r--nixpkgs/pkgs/games/assaultcube/default.nix2
-rw-r--r--nixpkgs/pkgs/games/ballerburg/default.nix3
-rw-r--r--nixpkgs/pkgs/games/blackshades/default.nix4
-rw-r--r--nixpkgs/pkgs/games/blockattack/default.nix5
-rw-r--r--nixpkgs/pkgs/games/brogue/default.nix3
-rw-r--r--nixpkgs/pkgs/games/bsdgames/default.nix5
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix1
-rw-r--r--nixpkgs/pkgs/games/clonehero/fhs-wrapper.nix2
-rw-r--r--nixpkgs/pkgs/games/devilutionx/default.nix6
-rw-r--r--nixpkgs/pkgs/games/dhewm3/default.nix2
-rw-r--r--nixpkgs/pkgs/games/domination/default.nix6
-rw-r--r--nixpkgs/pkgs/games/duckmarines/default.nix2
-rw-r--r--nixpkgs/pkgs/games/ecwolf/default.nix2
-rw-r--r--nixpkgs/pkgs/games/eduke32/default.nix2
-rw-r--r--nixpkgs/pkgs/games/factorio/default.nix3
-rw-r--r--nixpkgs/pkgs/games/factorio/versions.json24
-rw-r--r--nixpkgs/pkgs/games/fheroes2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/fish-fillets-ng/default.nix2
-rw-r--r--nixpkgs/pkgs/games/flightgear/default.nix2
-rw-r--r--nixpkgs/pkgs/games/freedroid/default.nix2
-rw-r--r--nixpkgs/pkgs/games/freedroidrpg/default.nix11
-rw-r--r--nixpkgs/pkgs/games/freenukum/default.nix5
-rw-r--r--nixpkgs/pkgs/games/frogatto/default.nix4
-rw-r--r--nixpkgs/pkgs/games/frozen-bubble/default.nix2
-rw-r--r--nixpkgs/pkgs/games/gnujump/default.nix2
-rw-r--r--nixpkgs/pkgs/games/gzdoom/default.nix2
-rw-r--r--nixpkgs/pkgs/games/heroic/default.nix4
-rw-r--r--nixpkgs/pkgs/games/hyperrogue/default.nix2
-rw-r--r--nixpkgs/pkgs/games/itch/default.nix8
-rw-r--r--nixpkgs/pkgs/games/ivan/default.nix2
-rw-r--r--nixpkgs/pkgs/games/klavaro/default.nix14
-rw-r--r--nixpkgs/pkgs/games/klavaro/icons.patch146
-rw-r--r--nixpkgs/pkgs/games/klavaro/trans_lang_get_similar.patch71
-rw-r--r--nixpkgs/pkgs/games/lgogdownloader/default.nix18
-rw-r--r--nixpkgs/pkgs/games/lunar-client/default.nix4
-rw-r--r--nixpkgs/pkgs/games/maelstrom/default.nix2
-rw-r--r--nixpkgs/pkgs/games/mari0/default.nix2
-rw-r--r--nixpkgs/pkgs/games/mindustry/default.nix1
-rw-r--r--nixpkgs/pkgs/games/minecraft-servers/versions.json6
-rw-r--r--nixpkgs/pkgs/games/minecraft/default.nix2
-rw-r--r--nixpkgs/pkgs/games/minetest/default.nix4
-rw-r--r--nixpkgs/pkgs/games/mrrescue/default.nix2
-rw-r--r--nixpkgs/pkgs/games/oh-my-git/default.nix2
-rw-r--r--nixpkgs/pkgs/games/openjk/default.nix4
-rw-r--r--nixpkgs/pkgs/games/opensupaplex/default.nix2
-rw-r--r--nixpkgs/pkgs/games/orthorobot/default.nix2
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/default.nix2
-rw-r--r--nixpkgs/pkgs/games/quakespasm/default.nix2
-rw-r--r--nixpkgs/pkgs/games/randtype/default.nix1
-rw-r--r--nixpkgs/pkgs/games/rocksndiamonds/default.nix2
-rw-r--r--nixpkgs/pkgs/games/rott/default.nix2
-rw-r--r--nixpkgs/pkgs/games/runelite/default.nix3
-rw-r--r--nixpkgs/pkgs/games/sauerbraten/default.nix2
-rw-r--r--nixpkgs/pkgs/games/scid-vs-pc/default.nix2
-rw-r--r--nixpkgs/pkgs/games/scummvm/games.nix2
-rw-r--r--nixpkgs/pkgs/games/sdlpop/default.nix2
-rw-r--r--nixpkgs/pkgs/games/sienna/default.nix2
-rw-r--r--nixpkgs/pkgs/games/starsector/default.nix2
-rw-r--r--nixpkgs/pkgs/games/steam-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/games/steam/default.nix1
-rw-r--r--nixpkgs/pkgs/games/steam/fhsenv.nix85
-rw-r--r--nixpkgs/pkgs/games/steam/fonts.nix20
-rw-r--r--nixpkgs/pkgs/games/system-syzygy/default.nix2
-rw-r--r--nixpkgs/pkgs/games/terraria-server/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tome2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tome4/default.nix3
-rw-r--r--nixpkgs/pkgs/games/tuxpaint/default.nix26
-rw-r--r--nixpkgs/pkgs/games/ufoai/default.nix8
-rw-r--r--nixpkgs/pkgs/games/unciv/default.nix6
-rw-r--r--nixpkgs/pkgs/games/unvanquished/default.nix12
-rw-r--r--nixpkgs/pkgs/games/ut2004/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/games/vimgolf/Gemfile2
-rw-r--r--nixpkgs/pkgs/games/vimgolf/Gemfile.lock19
-rw-r--r--nixpkgs/pkgs/games/vimgolf/default.nix17
-rw-r--r--nixpkgs/pkgs/games/vimgolf/gemset.nix43
-rw-r--r--nixpkgs/pkgs/games/vintagestory/default.nix7
-rw-r--r--nixpkgs/pkgs/games/warzone2100/default.nix4
-rw-r--r--nixpkgs/pkgs/games/worldofgoo/default.nix3
-rw-r--r--nixpkgs/pkgs/games/xbill/default.nix2
-rw-r--r--nixpkgs/pkgs/games/xonotic/default.nix4
-rw-r--r--nixpkgs/pkgs/games/xsnow/default.nix4
86 files changed, 480 insertions, 250 deletions
diff --git a/nixpkgs/pkgs/games/90secondportraits/default.nix b/nixpkgs/pkgs/games/90secondportraits/default.nix
index 07458cc64463..1cf7829cfcd0 100644
--- a/nixpkgs/pkgs/games/90secondportraits/default.nix
+++ b/nixpkgs/pkgs/games/90secondportraits/default.nix
@@ -16,7 +16,7 @@ let
     comment = "A silly speed painting game";
     desktopName = "90 Second Portraits";
     genericName = "90secondportraits";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/nixpkgs/pkgs/games/abuse/default.nix b/nixpkgs/pkgs/games/abuse/default.nix
index 2e863022a68b..1e2d4f82f837 100644
--- a/nixpkgs/pkgs/games/abuse/default.nix
+++ b/nixpkgs/pkgs/games/abuse/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "abuse";
     desktopName = "Abuse";
     comment     = "Side-scroller action game that pits you against ruthless alien killers";
-    categories  = "Game;ActionGame;";
+    categories  = [ "Game" "ActionGame" ];
   }) ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/airshipper/default.nix b/nixpkgs/pkgs/games/airshipper/default.nix
index 1fe33a86f978..bc6f2a8dc71e 100644
--- a/nixpkgs/pkgs/games/airshipper/default.nix
+++ b/nixpkgs/pkgs/games/airshipper/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "airshipper";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitLab {
     owner = "Veloren";
     repo = "airshipper";
     rev = "v${version}";
-    sha256 = "sha256-m3H2FE1DoV/uk9PGgf9PCagwmWWSQO/gCi7zpS02/WY=";
+    sha256 = "sha256-nOE9ZNHxLEAnMkuBSpxmeq3DxkRIlcoase6AxU+eFug=";
   };
 
-  cargoSha256 = "sha256-ddy4TjT/ia+sLBnpwcXBVUzAS07ar+Jjc04KS5/arlU=";
+  cargoSha256 = "sha256-s3seKVEhXyOVlt3a8cubzRWoB4SVQpdCmq12y0FpDUw=";
 
   buildInputs = [
     openssl
diff --git a/nixpkgs/pkgs/games/alephone/default.nix b/nixpkgs/pkgs/games/alephone/default.nix
index aa76cc17b402..98b21865d7ca 100644
--- a/nixpkgs/pkgs/games/alephone/default.nix
+++ b/nixpkgs/pkgs/games/alephone/default.nix
@@ -72,7 +72,7 @@ in self // {
         name = desktopName;
         exec = pname;
         genericName = pname;
-        categories = "Game;";
+        categories = [ "Game" ];
         comment = meta.description;
         inherit desktopName icon;
       };
diff --git a/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix
index ed18624deb12..3f706b42c32c 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.3";
+  version = "4.2.4";
 
   src = fetchFromGitHub {
     owner = "angband";
     repo = "angband";
     rev = version;
-    sha256 = "sha256-SFHAG74qJcV3E+jxPcOH2moW/kXhpwUwbGZVkNxqWd8=";
+    sha256 = "sha256-Fp3BGCZYYdQCKXOLYsT4zzlibNRlbELZi26ofrbGGPQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/games/assaultcube/default.nix b/nixpkgs/pkgs/games/assaultcube/default.nix
index 640ea81c6c6b..1013be2694e9 100644
--- a/nixpkgs/pkgs/games/assaultcube/default.nix
+++ b/nixpkgs/pkgs/games/assaultcube/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     desktopName = "AssaultCube";
     comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
     genericName = "First-person shooter";
-    categories = "Game;ActionGame;Shooter";
+    categories = [ "Game" "ActionGame" "Shooter" ];
     icon = "assaultcube.png";
     exec = pname;
   };
diff --git a/nixpkgs/pkgs/games/ballerburg/default.nix b/nixpkgs/pkgs/games/ballerburg/default.nix
index 43b274a12825..b15abdbc4703 100644
--- a/nixpkgs/pkgs/games/ballerburg/default.nix
+++ b/nixpkgs/pkgs/games/ballerburg/default.nix
@@ -25,11 +25,10 @@ in stdenv.mkDerivation rec {
     (makeDesktopItem {
       name = "Ballerburg";
       desktopName = "Ballerburg SDL";
-      type = "Application";
       exec = "_NET_WM_ICON=ballerburg ballerburg";
       comment = meta.description;
       icon = "ballerburg";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/blackshades/default.nix b/nixpkgs/pkgs/games/blackshades/default.nix
index 76f22e98d9e9..bd21fc080703 100644
--- a/nixpkgs/pkgs/games/blackshades/default.nix
+++ b/nixpkgs/pkgs/games/blackshades/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "blackshades";
-  version = "2.4.7";
+  version = "2.4.9";
 
   src = fetchFromSourcehut {
     owner = "~cnx";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-hvJwWUUmGeb7MQgKe79cPS2ckPZ9z0Yc5S9IiwuXPD8=";
+    sha256 = "sha256-Hg+VcWI28GzY/CPm1lUftP0RGztOnzizrKJQVTmeJ9I=";
   };
 
   nativeBuildInputs = [ zig ];
diff --git a/nixpkgs/pkgs/games/blockattack/default.nix b/nixpkgs/pkgs/games/blockattack/default.nix
index 7616d2e51a34..6deba7987ada 100644
--- a/nixpkgs/pkgs/games/blockattack/default.nix
+++ b/nixpkgs/pkgs/games/blockattack/default.nix
@@ -15,14 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "blockattack";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
-    name = "${pname}-${version}-src";
     owner = "blockattack";
     repo = "blockattack-game";
     rev = "v${version}";
-    hash = "sha256-ySLm3AdoJRiMRdla45OJh8ZIFYNh+HzjG2VnFqoWuZA=";
+    hash = "sha256-2oKesdr2eNZhDlGrFRiH5/8APFkGJfxPCNvzFoIumdQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/games/brogue/default.nix b/nixpkgs/pkgs/games/brogue/default.nix
index 77811e76e96d..d4f1f8faeeba 100644
--- a/nixpkgs/pkgs/games/brogue/default.nix
+++ b/nixpkgs/pkgs/games/brogue/default.nix
@@ -26,8 +26,7 @@ stdenv.mkDerivation rec {
     comment = "Brave the Dungeons of Doom!";
     icon = "brogue";
     exec = "brogue";
-    categories = "Game;AdventureGame;";
-    terminal = "false";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/games/bsdgames/default.nix b/nixpkgs/pkgs/games/bsdgames/default.nix
index 837fb4e17682..c837ba39b444 100644
--- a/nixpkgs/pkgs/games/bsdgames/default.nix
+++ b/nixpkgs/pkgs/games/bsdgames/default.nix
@@ -5,13 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.17";
 
   src = fetchurl {
-    url = "ftp://metalab.unc.edu/pub/Linux/games/bsd-games-${version}.tar.gz";
-    sha256 = "0q7zdyyfvn15y0w4g54kq3gza89h61py727m8slmw73cxx594vq6";
+    url = "mirror://ibiblioPubLinux/games/${pname}-${version}.tar.gz";
+    hash = "sha256-Bm+SSu9sHF6pRvWI428wMCH138CTlEc48CXY7bxv/2A=";
   };
 
   buildInputs = [ ncurses openssl flex bison ];
 
   patches = [
+    # Remove UTMPX support on Makefrag file
     (fetchurl {
       url = "http://svn.exactcode.de/t2/trunk/package/games/bsd-games/dm-noutmpx.patch";
       sha256 = "1k3qp3jj0dksjr4dnppv6dvkwslrgk9c7p2n9vipqildpxgqp7w2";
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index ccba8e23d5ae..1701d84e8df7 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -68,6 +68,7 @@ stdenv.mkDerivation {
   );
 
   dontStrip = debug;
+  enableParallelBuilding = true;
 
   passthru = {
     isTiles = tiles;
diff --git a/nixpkgs/pkgs/games/clonehero/fhs-wrapper.nix b/nixpkgs/pkgs/games/clonehero/fhs-wrapper.nix
index 97758b2c1fab..cd7f3986b109 100644
--- a/nixpkgs/pkgs/games/clonehero/fhs-wrapper.nix
+++ b/nixpkgs/pkgs/games/clonehero/fhs-wrapper.nix
@@ -13,7 +13,7 @@ let
     comment = clonehero-unwrapped.meta.description;
     exec = name;
     icon = name;
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 buildFHSUserEnv {
diff --git a/nixpkgs/pkgs/games/devilutionx/default.nix b/nixpkgs/pkgs/games/devilutionx/default.nix
index 7a6dc2808805..ac76ab5ad189 100644
--- a/nixpkgs/pkgs/games/devilutionx/default.nix
+++ b/nixpkgs/pkgs/games/devilutionx/default.nix
@@ -93,8 +93,10 @@ stdenv.mkDerivation rec {
     install -Dm755 -t $out/bin devilutionx
     install -Dm755 -t $out/share/diasurgical/devilutionx devilutionx.mpq
     install -Dm755 -t $out/share/applications ../Packaging/nix/devilutionx-hellfire.desktop ../Packaging/nix/devilutionx.desktop
-    install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilution.png
-    install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilution-hellfire.png
+    install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilutionx.png
+    install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png
+    install -Dm755 ../Packaging/resources/icon_32.png $out/share/icons/hicolor/32x32/apps/devilutionx.png
+    install -Dm755 ../Packaging/resources/hellfire_32.png $out/share/icons/hicolor/32x32/apps/devilutionx-hellfire.png
   '') + ''
 
     runHook postInstall
diff --git a/nixpkgs/pkgs/games/dhewm3/default.nix b/nixpkgs/pkgs/games/dhewm3/default.nix
index a87236c48f4a..da75f3fd5d1b 100644
--- a/nixpkgs/pkgs/games/dhewm3/default.nix
+++ b/nixpkgs/pkgs/games/dhewm3/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       name = "dhewm3";
       exec = "dhewm3";
       desktopName = "Doom 3";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/domination/default.nix b/nixpkgs/pkgs/games/domination/default.nix
index 0dde8ab16413..b7eae5e5acd6 100644
--- a/nixpkgs/pkgs/games/domination/default.nix
+++ b/nixpkgs/pkgs/games/domination/default.nix
@@ -11,15 +11,13 @@
 
 let
   desktopItem = makeDesktopItem {
-    type = "Application";
-    name = "Domination";
+    name = "domination";
     desktopName = "Domination";
     exec = "domination";
     icon = "domination";
   };
   editorDesktopItem = makeDesktopItem {
-    type = "Application";
-    name = "Domination Map Editor";
+    name = "domination-map-editor";
     desktopName = "Domination Map Editor";
     exec = "domination-map-editor";
     icon = "domination";
diff --git a/nixpkgs/pkgs/games/duckmarines/default.nix b/nixpkgs/pkgs/games/duckmarines/default.nix
index af34742b9fd8..a4e37081ab0e 100644
--- a/nixpkgs/pkgs/games/duckmarines/default.nix
+++ b/nixpkgs/pkgs/games/duckmarines/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = "Duck-themed action puzzle video game";
     desktopName = "Duck Marines";
     genericName = "duckmarines";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/games/ecwolf/default.nix b/nixpkgs/pkgs/games/ecwolf/default.nix
index 251b51df43a8..f8ca3b40f532 100644
--- a/nixpkgs/pkgs/games/ecwolf/default.nix
+++ b/nixpkgs/pkgs/games/ecwolf/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       exec = "ecwolf";
       comment = "Enhanced Wolfenstein 3D port";
       desktopName = "Wolfenstein 3D";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/eduke32/default.nix b/nixpkgs/pkgs/games/eduke32/default.nix
index c34922349612..4eb46e0ac155 100644
--- a/nixpkgs/pkgs/games/eduke32/default.nix
+++ b/nixpkgs/pkgs/games/eduke32/default.nix
@@ -11,7 +11,7 @@ let
     comment = "Duke Nukem 3D port";
     desktopName = "Enhanced Duke Nukem 3D";
     genericName = "Duke Nukem 3D port";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   wrapper = "eduke32-wrapper";
diff --git a/nixpkgs/pkgs/games/factorio/default.nix b/nixpkgs/pkgs/games/factorio/default.nix
index 74702a973397..4cf335a61378 100644
--- a/nixpkgs/pkgs/games/factorio/default.nix
+++ b/nixpkgs/pkgs/games/factorio/default.nix
@@ -53,8 +53,7 @@ let
     comment = "A game in which you build and maintain factories.";
     exec = "factorio";
     icon = "factorio";
-    type = "Application";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   branch = if experimental then "experimental" else "stable";
diff --git a/nixpkgs/pkgs/games/factorio/versions.json b/nixpkgs/pkgs/games/factorio/versions.json
index 663dffe24982..3c083c555d27 100644
--- a/nixpkgs/pkgs/games/factorio/versions.json
+++ b/nixpkgs/pkgs/games/factorio/versions.json
@@ -2,12 +2,12 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.53.tar.xz",
+        "name": "factorio_alpha_x64-1.1.56.tar.xz",
         "needsAuth": true,
-        "sha256": "1l5sk9rhf4pq9l87w5sv4a1ikqx8rpby5hf4xn7sdsm9mshd3wyw",
+        "sha256": "1i9mcq8m48ar0b3x53zgi5x9rsaddmlm2wqaphyf81xampl7ivcx",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/alpha/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.56/alpha/linux64",
+        "version": "1.1.56"
       },
       "stable": {
         "name": "factorio_alpha_x64-1.1.53.tar.xz",
@@ -20,12 +20,12 @@
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.53.tar.xz",
+        "name": "factorio_demo_x64-1.1.56.tar.xz",
         "needsAuth": false,
-        "sha256": "0m3mk296w4azma2v5z6pay1caqql2jfnlcyyd120laxl4rdg2k76",
+        "sha256": "0g1gphysh79h1frcjpfd5i3fpi05y8mq9gwmgnmalmr56w5n4qlz",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/demo/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.56/demo/linux64",
+        "version": "1.1.56"
       },
       "stable": {
         "name": "factorio_demo_x64-1.1.53.tar.xz",
@@ -38,12 +38,12 @@
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.53.tar.xz",
+        "name": "factorio_headless_x64-1.1.56.tar.xz",
         "needsAuth": false,
-        "sha256": "18ra52h32nhdqxz6vagp9nw3an5pgamariy0ny050xr2xpidw3v1",
+        "sha256": "174fvi9slpdp3y8j46w0w0ays7i7gy98il74xx5wxh7s94zb1b68",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/headless/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.56/headless/linux64",
+        "version": "1.1.56"
       },
       "stable": {
         "name": "factorio_headless_x64-1.1.53.tar.xz",
diff --git a/nixpkgs/pkgs/games/fheroes2/default.nix b/nixpkgs/pkgs/games/fheroes2/default.nix
index 567ab267cfea..10d7a23aca4e 100644
--- a/nixpkgs/pkgs/games/fheroes2/default.nix
+++ b/nixpkgs/pkgs/games/fheroes2/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "0.9.12";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    sha256 = "sha256-6voM6aQ22zW6NHm9x2TDsM4Kea6TLYZTdSLyc/6fz8A=";
+    sha256 = "sha256-+VAgS7NR/D0HD/Fy7idSUTMJPp2ctpirMpcFooo+bEg=";
   };
 
   buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
diff --git a/nixpkgs/pkgs/games/fish-fillets-ng/default.nix b/nixpkgs/pkgs/games/fish-fillets-ng/default.nix
index 5ddad7fda4c9..e610f2427a2e 100644
--- a/nixpkgs/pkgs/games/fish-fillets-ng/default.nix
+++ b/nixpkgs/pkgs/games/fish-fillets-ng/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "fish-fillets-ng";
     desktopName = "Fish Fillets";
     comment     = "Puzzle game about witty fish saving the world sokoban-style";
-    categories  = "Game;LogicGame;";
+    categories  = [ "Game" "LogicGame" ];
   }) ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/flightgear/default.nix b/nixpkgs/pkgs/games/flightgear/default.nix
index 6f4a57587de9..af79a6d4b2b4 100644
--- a/nixpkgs/pkgs/games/flightgear/default.nix
+++ b/nixpkgs/pkgs/games/flightgear/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     comment = "FlightGear Flight Simulator";
     desktopName = "FlightGear";
     genericName = "Flight simulator";
-    categories = "Game;Simulation";
+    categories = [ "Game" "Simulation" ];
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/games/freedroid/default.nix b/nixpkgs/pkgs/games/freedroid/default.nix
index 266407d17dba..38eb60e7e045 100644
--- a/nixpkgs/pkgs/games/freedroid/default.nix
+++ b/nixpkgs/pkgs/games/freedroid/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "Freedroid Classic";
     comment     = "A clone of the classic game 'Paradroid' on Commodore 64";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/freedroidrpg/default.nix b/nixpkgs/pkgs/games/freedroidrpg/default.nix
index e0582c524eca..84fd9c154a24 100644
--- a/nixpkgs/pkgs/games/freedroidrpg/default.nix
+++ b/nixpkgs/pkgs/games/freedroidrpg/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, pkg-config, gettext, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }:
+{ fetchurl, fetchpatch, lib, stdenv, pkg-config, gettext, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }:
 
 let
   version = "0.16.1";
@@ -11,6 +11,15 @@ in stdenv.mkDerivation {
     sha256 = "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common tolchains.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitlab.com/freedroid/freedroid-src/-/commit/e610d427374226b79da5258d979936459f30c761.patch";
+      sha256 = "1s7sw4dkc7b6i72j6x47driq6v0k3wss48l9ivd4fw40n3iaxjb1";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config gettext python3 ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/games/freenukum/default.nix b/nixpkgs/pkgs/games/freenukum/default.nix
index ff1e8872233e..0d2f833671e3 100644
--- a/nixpkgs/pkgs/games/freenukum/default.nix
+++ b/nixpkgs/pkgs/games/freenukum/default.nix
@@ -16,12 +16,9 @@ let
     name = pname;
     exec = pname;
     icon = pname;
-    terminal = "false";
     comment = description;
-    type = "Application";
-    categories = "Game;ArcadeGame;ActionGame";
+    categories = [ "Game" "ArcadeGame" "ActionGame" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in
diff --git a/nixpkgs/pkgs/games/frogatto/default.nix b/nixpkgs/pkgs/games/frogatto/default.nix
index 0b53e3d0bea3..f987992858da 100644
--- a/nixpkgs/pkgs/games/frogatto/default.nix
+++ b/nixpkgs/pkgs/games/frogatto/default.nix
@@ -7,12 +7,12 @@ let
   desktopItem = makeDesktopItem {
     name = "frogatto";
     exec = "frogatto";
-    startupNotify = "true";
+    startupNotify = true;
     icon = "${data}/share/frogatto/modules/frogatto/images/os/frogatto-icon.png";
     comment = description;
     desktopName = "Frogatto";
     genericName = "frogatto";
-    categories = "Game;ArcadeGame;";
+    categories = [ "Game" "ArcadeGame" ];
   };
   version = "unstable-2020-12-04";
 in buildEnv {
diff --git a/nixpkgs/pkgs/games/frozen-bubble/default.nix b/nixpkgs/pkgs/games/frozen-bubble/default.nix
index f9dd3fd61592..6738f979d00b 100644
--- a/nixpkgs/pkgs/games/frozen-bubble/default.nix
+++ b/nixpkgs/pkgs/games/frozen-bubble/default.nix
@@ -25,7 +25,7 @@ perlPackages.buildPerlModule {
       desktopName = "Frozen Bubble";
       genericName = "Frozen Bubble";
       comment = "Arcade/reflex colour matching game";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/gnujump/default.nix b/nixpkgs/pkgs/games/gnujump/default.nix
index 6f91b1034581..1c918395d40b 100644
--- a/nixpkgs/pkgs/games/gnujump/default.nix
+++ b/nixpkgs/pkgs/games/gnujump/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     icon = "gnujump";
     desktopName = "GNUjump";
     comment     = "Jump up the tower to survive";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix
index e38294ff4014..a10b370e648b 100644
--- a/nixpkgs/pkgs/games/gzdoom/default.nix
+++ b/nixpkgs/pkgs/games/gzdoom/default.nix
@@ -60,7 +60,7 @@ let
         name = "gzdoom";
         exec = "gzdoom";
         desktopName = "GZDoom";
-        categories = "Game;";
+        categories = [ "Game" ];
       })
     ];
 
diff --git a/nixpkgs/pkgs/games/heroic/default.nix b/nixpkgs/pkgs/games/heroic/default.nix
index bcbe2a6c6535..c0416d0dd7e8 100644
--- a/nixpkgs/pkgs/games/heroic/default.nix
+++ b/nixpkgs/pkgs/games/heroic/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "heroic";
-  version = "2.0.2";
+  version = "2.2.1";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage";
-    sha256 = "sha256-4gq0ZCcPIx/CkFNZTM5Atkd/GP6v1t3MO2tibrKkcZQ=";
+    sha256 = "sha256-zzxf3eM1fUWTVtzzABcwlmptNuCVQafvotnbOiCzu0c=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 
diff --git a/nixpkgs/pkgs/games/hyperrogue/default.nix b/nixpkgs/pkgs/games/hyperrogue/default.nix
index 08427bd29205..0397bb474da3 100644
--- a/nixpkgs/pkgs/games/hyperrogue/default.nix
+++ b/nixpkgs/pkgs/games/hyperrogue/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     icon = "hyperrogue";
     exec = "hyperrogue";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/itch/default.nix b/nixpkgs/pkgs/games/itch/default.nix
index a8cfe8f24d76..34a2775c3c80 100644
--- a/nixpkgs/pkgs/games/itch/default.nix
+++ b/nixpkgs/pkgs/games/itch/default.nix
@@ -24,14 +24,12 @@ stdenvNoCC.mkDerivation rec{
     (makeDesktopItem {
       name = pname;
       exec = pname;
+      tryExec = "itch %U";
       icon = pname;
       desktopName = pname;
-      mimeType = "x-scheme-handler/itchio;x-scheme-handler/itch";
+      mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ];
       comment = "Install and play itch.io games easily";
-      extraDesktopEntries = {
-        TryExec = "itch %U";
-        Categories = "Game;";
-      };
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/ivan/default.nix b/nixpkgs/pkgs/games/ivan/default.nix
index ce0eeea738af..53e1b3cf00e1 100644
--- a/nixpkgs/pkgs/games/ivan/default.nix
+++ b/nixpkgs/pkgs/games/ivan/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     icon = "ivan.png";
     desktopName = "IVAN";
     genericName = pname;
-    categories = "Game;AdventureGame;RolePlaying;";
+    categories = [ "Game" "AdventureGame" "RolePlaying" ];
     comment = meta.description;
   };
 
diff --git a/nixpkgs/pkgs/games/klavaro/default.nix b/nixpkgs/pkgs/games/klavaro/default.nix
index 2a8f68ddd2cc..6ea029176482 100644
--- a/nixpkgs/pkgs/games/klavaro/default.nix
+++ b/nixpkgs/pkgs/games/klavaro/default.nix
@@ -2,23 +2,31 @@
 , fetchurl
 , makeWrapper
 , curl
+, espeak
 , file
 , gtk3
+, gtkdatabox
 , intltool
 , pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "klavaro";
-  version = "3.11";
+  version = "3.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
-    sha256 = "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w";
+    sha256 = "0z6c3lqikk50mkz3ipm93l48qj7b98lxyip8y6ndg9y9k0z0n878";
   };
 
   nativeBuildInputs = [ intltool makeWrapper pkg-config ];
-  buildInputs = [ curl gtk3 ];
+  buildInputs = [ curl gtk3 gtkdatabox ];
+
+  postPatch = ''
+    substituteInPlace src/tutor.c --replace '"espeak ' '"${espeak}/bin/espeak '
+  '';
+
+  patches = [ ./icons.patch ./trans_lang_get_similar.patch ];
 
   postInstall = ''
     wrapProgram $out/bin/klavaro \
diff --git a/nixpkgs/pkgs/games/klavaro/icons.patch b/nixpkgs/pkgs/games/klavaro/icons.patch
new file mode 100644
index 000000000000..1717fdf44e68
--- /dev/null
+++ b/nixpkgs/pkgs/games/klavaro/icons.patch
@@ -0,0 +1,146 @@
+--- a/data/klavaro.glade	(revision 137)
++++ b/data/klavaro.glade	(working copy)
+@@ -311,7 +311,7 @@
+                       <object class="GtkImage" id="image24">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -708,7 +708,7 @@
+                     <property name="can-default">True</property>
+                     <property name="has-default">True</property>
+                     <property name="tooltip-text" translatable="yes">Drag and drop text here to practice with it.</property>
+-                    <property name="secondary-icon-name">gtk-clear</property>
++                    <property name="secondary-icon-name">edit-clear</property>
+                     <property name="secondary-icon-tooltip-text" translatable="yes">Press here to restart the exercise. Hotkey: [Ctrl-R]</property>
+                     <property name="secondary-icon-tooltip-markup" translatable="yes">Press here to restart the exercise. Hotkey: [Ctrl-R]</property>
+                     <signal name="activate" handler="on_entry_mesg_activate" after="yes" swapped="no"/>
+@@ -1232,7 +1232,7 @@
+                       <object class="GtkImage" id="image27">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -1352,7 +1352,7 @@
+                       <object class="GtkImage" id="image23">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-open</property>
++                        <property name="icon-name">document-open</property>
+                       </object>
+                       <packing>
+                         <property name="expand">True</property>
+@@ -1510,7 +1510,7 @@
+                       <object class="GtkImage" id="image11">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-open</property>
++                        <property name="icon-name">document-open</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -1557,7 +1557,7 @@
+                       <object class="GtkImage" id="image6">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-paste</property>
++                        <property name="icon-name">edit-paste</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -1604,7 +1604,7 @@
+                       <object class="GtkImage" id="image19">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -2051,7 +2051,7 @@
+                       <object class="GtkImage" id="image14">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2343,7 +2343,7 @@
+                   <object class="GtkImage" id="image3">
+                     <property name="visible">True</property>
+                     <property name="can-focus">False</property>
+-                    <property name="icon-name">gtk-media-rewind</property>
++                    <property name="icon-name">media-seek-backward</property>
+                     <property name="icon_size">1</property>
+                   </object>
+                 </child>
+@@ -2418,7 +2418,7 @@
+                       <object class="GtkImage" id="image20">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-go-back</property>
++                        <property name="icon-name">go-previous</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2469,7 +2469,7 @@
+                       <object class="GtkImage" id="image18">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-go-forward</property>
++                        <property name="icon-name">go-next</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2577,7 +2577,7 @@
+                       <object class="GtkImage" id="image13">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-save</property>
++                        <property name="icon-name">document-save</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2825,7 +2825,7 @@
+                       <object class="GtkImage" id="image_basic">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-strikethrough</property>
++                        <property name="icon-name">format-text-strikethrough</property>
+                         <property name="icon_size">6</property>
+                       </object>
+                       <packing>
+@@ -2901,7 +2901,7 @@
+                       <object class="GtkImage" id="image_adapt">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-bold</property>
++                        <property name="icon-name">format-text-bold</property>
+                         <property name="icon_size">6</property>
+                       </object>
+                       <packing>
+@@ -3630,7 +3630,7 @@
+                       <object class="GtkImage" id="image_top10_publish">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-goto-top</property>
++                        <property name="icon-name">go-top</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -3678,7 +3678,7 @@
+                       <object class="GtkImage" id="image_top10_update">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-goto-bottom</property>
++                        <property name="icon-name">go-bottom</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
diff --git a/nixpkgs/pkgs/games/klavaro/trans_lang_get_similar.patch b/nixpkgs/pkgs/games/klavaro/trans_lang_get_similar.patch
new file mode 100644
index 000000000000..3b6644c5f7f7
--- /dev/null
+++ b/nixpkgs/pkgs/games/klavaro/trans_lang_get_similar.patch
@@ -0,0 +1,71 @@
+--- a/src/translation.c	(revision 137)
++++ b/src/translation.c	(working copy)
+@@ -257,23 +257,23 @@
+  * Private auxiliar function
+  */
+ static gboolean
+-trans_lang_get_similar (gchar * test)
++trans_lang_get_similar (gchar ** test)
+ {
+ 	gint i;
+ 	gchar aux_code_2[3];
+ 
+ 	/* Prefer C over en_GB for English variants other than en_GB. (Debian patch 02) */
+-	if (g_str_has_prefix (test, "en"))
++	if (g_str_has_prefix (*test, "en"))
+ 	{
+-		g_free (test);
+-		test = g_strdup ("C");
++		g_free (*test);
++		*test = g_strdup ("C");
+ 		return (TRUE);
+ 	}
+ 
+-	if (g_str_equal (test, "C"))
++	if (g_str_equal (*test, "C"))
+ 		return TRUE;
+ 
+-	strncpy (aux_code_2, test, 2);
++	strncpy (aux_code_2, *test, 2);
+ 	aux_code_2[2] = '\0';
+ 
+ 	for (i = 0; i < lang_num; i++)
+@@ -280,15 +280,15 @@
+ 	{
+ 		if (strstr (lang[i].code, aux_code_2))
+ 		{
+-			g_free (test);
+-			test = g_strdup (lang[i].code);
++			g_free (*test);
++			*test = g_strdup (lang[i].code);
+ 			break;
+ 		}
+ 	}
+-	if (i == lang_num && g_str_has_prefix (test, "en"))
++	if (i == lang_num && g_str_has_prefix (*test, "en"))
+ 	{
+-		g_free (test);
+-		test = g_strdup ("C");
++		g_free (*test);
++		*test = g_strdup ("C");
+ 		return (TRUE);
+ 	}
+ 	return (i == lang_num ? FALSE : TRUE);
+@@ -356,7 +356,7 @@
+ 					lang_ok = (i == 0 ? TRUE : FALSE);
+ 					break;
+ 				}
+-				lang_ok = trans_lang_get_similar (tmp_code);
++				lang_ok = trans_lang_get_similar (&tmp_code);
+ 				if (lang_ok == TRUE)
+ 					break;
+ 				g_free (tmp_code);
+@@ -368,7 +368,7 @@
+ 		tmp_code = g_win32_getlocale ();
+ 		lang_ok = trans_lang_is_available (tmp_code);
+ 		if (lang_ok == FALSE)
+-			lang_ok = trans_lang_get_similar (tmp_code);
++			lang_ok = trans_lang_get_similar (&tmp_code);
+ #endif
+ 	}
+ 	if (tmp_code == NULL)
diff --git a/nixpkgs/pkgs/games/lgogdownloader/default.nix b/nixpkgs/pkgs/games/lgogdownloader/default.nix
index 93f17dbb8135..0c40d537fcec 100644
--- a/nixpkgs/pkgs/games/lgogdownloader/default.nix
+++ b/nixpkgs/pkgs/games/lgogdownloader/default.nix
@@ -11,17 +11,19 @@
 , rhash
 , tinyxml-2
 , help2man
+, testVersion
+, lgogdownloader
 }:
 
 stdenv.mkDerivation rec {
   pname = "lgogdownloader";
-  version = "3.8";
+  version = "3.9";
 
   src = fetchFromGitHub {
     owner = "Sude-";
     repo = "lgogdownloader";
     rev = "v${version}";
-    sha256 = "sha256-LywFJCZevlhthOkAZo7JkXcPT9V6Zh28VD/MVQnMQjo=";
+    sha256 = "sha256-Qt9uTKsD0kQ6b9Y5+eC+YWpCHMIJGzP+pMfuUBt/fME=";
   };
 
   nativeBuildInputs = [
@@ -40,15 +42,9 @@ stdenv.mkDerivation rec {
     tinyxml-2
   ];
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    if [[ "$("$out/bin/${pname}" --version)" == "LGOGDownloader ${version}" ]]; then
-       echo '${pname} smoke check passed'
-     else
-       echo '${pname} smoke check failed'
-       return 1
-     fi
-  '';
+  passthru.tests = {
+    version = testVersion { package = lgogdownloader; };
+  };
 
   meta = with lib; {
     description = "Unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOGDownloader";
diff --git a/nixpkgs/pkgs/games/lunar-client/default.nix b/nixpkgs/pkgs/games/lunar-client/default.nix
index 2dc0e14daf8e..fbebe85cf007 100644
--- a/nixpkgs/pkgs/games/lunar-client/default.nix
+++ b/nixpkgs/pkgs/games/lunar-client/default.nix
@@ -5,13 +5,13 @@ let
   version = "2.9.3";
 
   desktopItem = makeDesktopItem {
-    name = "Lunar Client";
+    name = "lunar-client";
     exec = "lunar-client";
     icon = "lunarclient";
     comment = "Minecraft 1.7, 1.8, 1.12, 1.15, and 1.16 Client";
     desktopName = "Lunar Client";
     genericName = "Minecraft Client";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   appimageContents = appimageTools.extract {
diff --git a/nixpkgs/pkgs/games/maelstrom/default.nix b/nixpkgs/pkgs/games/maelstrom/default.nix
index 5f78e34edac9..065784d605ef 100644
--- a/nixpkgs/pkgs/games/maelstrom/default.nix
+++ b/nixpkgs/pkgs/games/maelstrom/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       desktopName = "Maelstrom";
       genericName = "Maelstrom";
       comment = "An arcade-style game resembling Asteroids";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/mari0/default.nix b/nixpkgs/pkgs/games/mari0/default.nix
index 55ef9f51d5b3..8189c0789811 100644
--- a/nixpkgs/pkgs/games/mari0/default.nix
+++ b/nixpkgs/pkgs/games/mari0/default.nix
@@ -10,7 +10,7 @@ let
     comment = "Crossover between Super Mario Bros. and Portal";
     desktopName = "mari0";
     genericName = "mari0";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/nixpkgs/pkgs/games/mindustry/default.nix b/nixpkgs/pkgs/games/mindustry/default.nix
index d28f2b1d1e7f..82df3710c577 100644
--- a/nixpkgs/pkgs/games/mindustry/default.nix
+++ b/nixpkgs/pkgs/games/mindustry/default.nix
@@ -66,7 +66,6 @@ let
   '';
 
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Mindustry";
     desktopName = "Mindustry";
     exec = "mindustry";
diff --git a/nixpkgs/pkgs/games/minecraft-servers/versions.json b/nixpkgs/pkgs/games/minecraft-servers/versions.json
index ba0b652a6bdc..af1b032bd781 100644
--- a/nixpkgs/pkgs/games/minecraft-servers/versions.json
+++ b/nixpkgs/pkgs/games/minecraft-servers/versions.json
@@ -1,8 +1,8 @@
 {
   "1.18": {
-    "url": "https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar",
-    "sha1": "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9",
-    "version": "1.18.1",
+    "url": "https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar",
+    "sha1": "c8f83c5655308435b3dcf03c06d9fe8740a77469",
+    "version": "1.18.2",
     "javaVersion": 17
   },
   "1.17": {
diff --git a/nixpkgs/pkgs/games/minecraft/default.nix b/nixpkgs/pkgs/games/minecraft/default.nix
index 254c01fdf1b6..08104310faa3 100644
--- a/nixpkgs/pkgs/games/minecraft/default.nix
+++ b/nixpkgs/pkgs/games/minecraft/default.nix
@@ -38,7 +38,7 @@ let
     icon = "minecraft-launcher";
     comment = "Official launcher for Minecraft, a sandbox-building game";
     desktopName = "Minecraft Launcher";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix
index 9e94bb6a4a7d..e607fbc71134 100644
--- a/nixpkgs/pkgs/games/minetest/default.nix
+++ b/nixpkgs/pkgs/games/minetest/default.nix
@@ -3,6 +3,7 @@
 , freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
 , leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp
 , OpenGL, OpenAL ? openal, Carbon, Cocoa
+, Kernel
 }:
 
 with lib;
@@ -20,7 +21,8 @@ let
       sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
     };
     nativeBuildInputs = [ cmake ];
-    buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ];
+    buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ]
+    ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ];
     outputs = [ "out" "dev" ];
     meta = irrlicht.meta;
   };
diff --git a/nixpkgs/pkgs/games/mrrescue/default.nix b/nixpkgs/pkgs/games/mrrescue/default.nix
index 2328c20ef91d..a873424aa24c 100644
--- a/nixpkgs/pkgs/games/mrrescue/default.nix
+++ b/nixpkgs/pkgs/games/mrrescue/default.nix
@@ -16,7 +16,7 @@ let
     comment = "Arcade-style fire fighting game";
     desktopName = "Mr. Rescue";
     genericName = "mrrescue";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/nixpkgs/pkgs/games/oh-my-git/default.nix b/nixpkgs/pkgs/games/oh-my-git/default.nix
index 881935279fe4..57fbad34057b 100644
--- a/nixpkgs/pkgs/games/oh-my-git/default.nix
+++ b/nixpkgs/pkgs/games/oh-my-git/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       desktopName = "oh-my-git";
       comment = "An interactive Git learning game!";
       genericName = "An interactive Git learning game!";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/openjk/default.nix b/nixpkgs/pkgs/games/openjk/default.nix
index c16b38fc8f1f..d2844809eea8 100644
--- a/nixpkgs/pkgs/games/openjk/default.nix
+++ b/nixpkgs/pkgs/games/openjk/default.nix
@@ -8,7 +8,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Multi Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
   jasp = makeDesktopItem rec {
     name = "jasp";
@@ -17,7 +17,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Single Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in stdenv.mkDerivation {
   pname = "OpenJK";
diff --git a/nixpkgs/pkgs/games/opensupaplex/default.nix b/nixpkgs/pkgs/games/opensupaplex/default.nix
index 44fc219bef91..d3f8155f546c 100644
--- a/nixpkgs/pkgs/games/opensupaplex/default.nix
+++ b/nixpkgs/pkgs/games/opensupaplex/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     icon = "open-supaplex";
     desktopName = "OpenSupaplex";
     comment = meta.description;
-    categories = "Application;Game;";
+    categories = [ "Application" "Game" ];
   })];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/orthorobot/default.nix b/nixpkgs/pkgs/games/orthorobot/default.nix
index c168af81ad6b..34808438da7d 100644
--- a/nixpkgs/pkgs/games/orthorobot/default.nix
+++ b/nixpkgs/pkgs/games/orthorobot/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     comment = "Robot game";
     desktopName = "Orthorobot";
     genericName = "orthorobot";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix
index 5ddbabe042ea..2b1a2f044fa0 100644
--- a/nixpkgs/pkgs/games/osu-lazer/default.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/default.nix
@@ -63,7 +63,7 @@ buildDotnetModule rec {
     icon = "osu!";
     comment = meta.description;
     type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   })];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/quakespasm/default.nix b/nixpkgs/pkgs/games/quakespasm/default.nix
index ec5ae3e7d154..137b86f57b6b 100644
--- a/nixpkgs/pkgs/games/quakespasm/default.nix
+++ b/nixpkgs/pkgs/games/quakespasm/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
       name = "quakespasm";
       exec = "quake";
       desktopName = "Quakespasm";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/randtype/default.nix b/nixpkgs/pkgs/games/randtype/default.nix
index 0eaf2c092160..97993a5ffdac 100644
--- a/nixpkgs/pkgs/games/randtype/default.nix
+++ b/nixpkgs/pkgs/games/randtype/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ dandellion ];
     license = licenses.gpl2Only;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/randtype.x86_64-darwin
   };
 }
diff --git a/nixpkgs/pkgs/games/rocksndiamonds/default.nix b/nixpkgs/pkgs/games/rocksndiamonds/default.nix
index fd570e4d7c63..b01d616452bb 100644
--- a/nixpkgs/pkgs/games/rocksndiamonds/default.nix
+++ b/nixpkgs/pkgs/games/rocksndiamonds/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "Rocks'n'Diamonds";
     genericName = "Tile-based puzzle";
-    categories = "Game;LogicGame;";
+    categories = [ "Game" "LogicGame" ];
   };
 
   buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net ];
diff --git a/nixpkgs/pkgs/games/rott/default.nix b/nixpkgs/pkgs/games/rott/default.nix
index cac357faf2e0..b3a517dab02b 100644
--- a/nixpkgs/pkgs/games/rott/default.nix
+++ b/nixpkgs/pkgs/games/rott/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       name = "rott";
       exec = "launch-rott";
       desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/runelite/default.nix b/nixpkgs/pkgs/games/runelite/default.nix
index 9a2ce6314cd1..d342d543e2fc 100644
--- a/nixpkgs/pkgs/games/runelite/default.nix
+++ b/nixpkgs/pkgs/games/runelite/default.nix
@@ -31,10 +31,9 @@ stdenv.mkDerivation rec {
     exec = "runelite";
     icon = icon;
     comment = "Open source Old School RuneScape client";
-    terminal = "false";
     desktopName = "RuneLite";
     genericName = "Oldschool Runescape";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/nixpkgs/pkgs/games/sauerbraten/default.nix b/nixpkgs/pkgs/games/sauerbraten/default.nix
index 7373779c9e5a..1d2e39d4164e 100644
--- a/nixpkgs/pkgs/games/sauerbraten/default.nix
+++ b/nixpkgs/pkgs/games/sauerbraten/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       icon = "sauerbraten";
       desktopName = "Sauerbraten";
       comment = "FPS that uses an improved version of the Cube engine";
-      categories = "Application;Game;ActionGame;";
+      categories = [ "Application" "Game" "ActionGame" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/scid-vs-pc/default.nix b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
index e6fb00eb76cf..4711ffa2f549 100644
--- a/nixpkgs/pkgs/games/scid-vs-pc/default.nix
+++ b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
@@ -68,7 +68,7 @@ tcl.mkTclDerivation rec {
     comment = meta.description;
     icon = "scid";
     exec = "scid";
-    categories = "Game;BoardGame;";
+    categories = [ "Game" "BoardGame" ];
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/scummvm/games.nix b/nixpkgs/pkgs/games/scummvm/games.nix
index 2ffd176ccf6e..b146bf1bc49d 100644
--- a/nixpkgs/pkgs/games/scummvm/games.nix
+++ b/nixpkgs/pkgs/games/scummvm/games.nix
@@ -3,7 +3,7 @@
 
 let
   desktopItem = name: short: long: description: makeDesktopItem {
-    categories  = "Game;AdventureGame;";
+    categories  = [ "Game" "AdventureGame" ];
     comment     = description;
     desktopName = long;
     exec        = "@out@/bin/${short}";
diff --git a/nixpkgs/pkgs/games/sdlpop/default.nix b/nixpkgs/pkgs/games/sdlpop/default.nix
index f9b91e3dc158..f9f2f6d0dc91 100644
--- a/nixpkgs/pkgs/games/sdlpop/default.nix
+++ b/nixpkgs/pkgs/games/sdlpop/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     exec = "prince";
     desktopName = "SDLPoP";
     comment = "An open-source port of Prince of Persia";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/games/sienna/default.nix b/nixpkgs/pkgs/games/sienna/default.nix
index 59f01f6a2c47..37138f152b6a 100644
--- a/nixpkgs/pkgs/games/sienna/default.nix
+++ b/nixpkgs/pkgs/games/sienna/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     comment = "Fast-paced one button platformer";
     desktopName = "Sienna";
     genericName = "sienna";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/starsector/default.nix b/nixpkgs/pkgs/games/starsector/default.nix
index 4aac0afb22b1..95fb3988f28e 100644
--- a/nixpkgs/pkgs/games/starsector/default.nix
+++ b/nixpkgs/pkgs/games/starsector/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       comment = meta.description;
       genericName = "starsector";
       desktopName = "Starsector";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/steam-tui/default.nix b/nixpkgs/pkgs/games/steam-tui/default.nix
index 66e17b1752ea..63deb3b969ce 100644
--- a/nixpkgs/pkgs/games/steam-tui/default.nix
+++ b/nixpkgs/pkgs/games/steam-tui/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , steamcmd
 , fetchFromGitHub
-, steam-run-native
+, steam-run
 , runtimeShell
 , withWine ? false
 , wine
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-VYBzwDLSV4N4qt2dNgIS399T2HIbPTdQ2rDIeheLlfo=";
 
-  buildInputs = [ steamcmd steam-run-native ]
+  buildInputs = [ steamcmd ]
     ++ lib.optional withWine wine;
 
   preFixup = ''
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     cat > $out/bin/steam-tui <<EOF
     #!${runtimeShell}
     export PATH=${steamcmd}/bin:\$PATH
-    exec ${steam-run-native}/bin/steam-run $out/bin/.steam-tui-unwrapped '\$@'
+    exec ${steam-run}/bin/steam-run $out/bin/.steam-tui-unwrapped '\$@'
     EOF
     chmod +x $out/bin/steam-tui
   '';
diff --git a/nixpkgs/pkgs/games/steam/default.nix b/nixpkgs/pkgs/games/steam/default.nix
index bfe19a88ca98..430a2b3a67de 100644
--- a/nixpkgs/pkgs/games/steam/default.nix
+++ b/nixpkgs/pkgs/games/steam/default.nix
@@ -14,7 +14,6 @@ let
     steam-runtime = callPackage ./runtime.nix { };
     steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
     steam = callPackage ./steam.nix { };
-    steam-fonts = callPackage ./fonts.nix { };
     steam-fhsenv = callPackage ./fhsenv.nix {
       glxinfo-i686 = pkgsi686Linux.glxinfo;
       steam-runtime-wrapped-i686 =
diff --git a/nixpkgs/pkgs/games/steam/fhsenv.nix b/nixpkgs/pkgs/games/steam/fhsenv.nix
index 35e8b9838f5a..37ec8ef8c7e2 100644
--- a/nixpkgs/pkgs/games/steam/fhsenv.nix
+++ b/nixpkgs/pkgs/games/steam/fhsenv.nix
@@ -3,7 +3,6 @@
 , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
 , extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs
 , extraProfile ? "" # string to append to profile
-, nativeOnly ? false
 , runtimeOnly ? false
 , runtimeShell
 , stdenv
@@ -16,7 +15,6 @@
 let
   commonTargetPkgs = pkgs: with pkgs;
     [
-      steamPackages.steam-fonts
       # Needed for operating system detection until
       # https://github.com/ValveSoftware/steam-for-linux/issues/5909 is resolved
       lsb-release
@@ -62,22 +60,6 @@ let
     fi
   '';
 
-  setupSh = writeScript "setup.sh" ''
-    #!${runtimeShell}
-  '';
-
-  runSh = writeScript "run.sh" ''
-    #!${runtimeShell}
-    runtime_paths="${lib.concatStringsSep ":" ldPath}"
-    if [ "$1" == "--print-steam-runtime-library-paths" ]; then
-      echo "$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
-      exit 0
-    fi
-    export LD_LIBRARY_PATH="$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
-    export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
-    exec "$@"
-  '';
-
 in buildFHSUserEnv rec {
   name = "steam";
 
@@ -117,12 +99,12 @@ in buildFHSUserEnv rec {
     xorg.xkeyboardconfig
     xorg.libpciaccess
     udev # shadow of the tomb raider
+    icu # dotnet runtime, e.g. stardew valley
 
     # screeps dependencies
     gtk3
     dbus
     zlib
-    glib
     atk
     cairo
     freetype
@@ -148,9 +130,6 @@ in buildFHSUserEnv rec {
     openssl_1_1
     rtmpdump
 
-    # needed by getcap for vr startup
-    libcap
-
     # dependencies for mesa drivers, needed inside pressure-vessel
     mesa.drivers
     mesa.llvmPackages.llvm.lib
@@ -162,52 +141,36 @@ in buildFHSUserEnv rec {
     xorg.libxshmfence
     xorg.libXxf86vm
     libelf
-  ] ++ (if (!nativeOnly) then [
-    (steamPackages.steam-runtime-wrapped.override {
-      inherit runtimeOnly;
-    })
-  ] else [
+
     # Required
     glib
     gtk2
     bzip2
-    zlib
-    gdk-pixbuf
 
     # Without these it silently fails
     xorg.libXinerama
-    xorg.libXdamage
     xorg.libXcursor
     xorg.libXrender
     xorg.libXScrnSaver
-    xorg.libXxf86vm
     xorg.libXi
     xorg.libSM
     xorg.libICE
     gnome2.GConf
-    freetype
     (curl.override { gnutlsSupport = true; opensslSupport = false; })
     nspr
     nss
-    fontconfig
-    cairo
-    expat
-    dbus
     cups
     libcap
     SDL2
     libusb1
     dbus-glib
     ffmpeg
-    atk
     # Only libraries are needed from those two
     libudev0-shim
-    networkmanager098
 
     # Verified games requirements
     xorg.libXt
     xorg.libXmu
-    xorg.libxcb
     libogg
     libvorbis
     SDL
@@ -215,7 +178,6 @@ in buildFHSUserEnv rec {
     glew110
     libidn
     tbb
-    wayland
 
     # Other things from runtime
     flac
@@ -241,29 +203,15 @@ in buildFHSUserEnv rec {
     librsvg
     xorg.libXft
     libvdpau
-  ] ++ steamPackages.steam-runtime-wrapped.overridePkgs) ++ extraLibraries pkgs;
+  ]
+  ++ steamPackages.steam-runtime-wrapped.overridePkgs
+  ++ extraLibraries pkgs;
 
   extraBuildCommands = ''
-    if [ -f $out/usr/share/vulkan/icd.d/nvidia_icd.json ]; then
-      cp $out/usr/share/vulkan/icd.d/nvidia_icd{,32}.json
-      nvidia32Lib=$(realpath $out/lib32/libGLX_nvidia.so.0 | cut -d'/' -f-4)
-      escapedNvidia32Lib="''${nvidia32Lib//\//\\\/}"
-      sed -i "s/\/nix\/store\/.*\/lib\/libGLX_nvidia\.so\.0/$escapedNvidia32Lib\/lib\/libGLX_nvidia\.so\.0/g" $out/usr/share/vulkan/icd.d/nvidia_icd32.json
-    fi
-  '' + (if (!nativeOnly) then ''
-    mkdir -p steamrt
-    ln -s ../lib/steam-runtime steamrt/${steam-runtime-wrapped.arch}
-    ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
-      ln -s ../lib32/steam-runtime steamrt/${steam-runtime-wrapped-i686.arch}
-    ''}
-    ln -s ${runSh} steamrt/run.sh
-    ln -s ${setupSh} steamrt/setup.sh
-  '' else ''
     ln -s /usr/lib/libbz2.so usr/lib/libbz2.so.1.0
-    ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
-      ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
-    ''}
-  '');
+  '' + lib.optionalString (steam-runtime-wrapped-i686 != null) ''
+    ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
+  '';
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications
@@ -282,9 +230,8 @@ in buildFHSUserEnv rec {
       fi
     fi
 
-    export STEAM_RUNTIME=${if nativeOnly then "0" else "/steamrt"}
-
-    export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json:/usr/share/vulkan/icd.d/lvp_icd.x86_64.json:/usr/share/vulkan/icd.d/lvp_icd.i686.json:/usr/share/vulkan/icd.d/nvidia_icd.json:/usr/share/vulkan/icd.d/nvidia_icd32.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json
+    # XDG_DATA_DIRS is used by pressure-vessel and vulkan loaders to find the corresponding icd
+    export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
   '' + extraProfile;
 
   runScript = writeScript "steam-wrapper.sh" ''
@@ -305,14 +252,13 @@ in buildFHSUserEnv rec {
     EOF
       fi
     fi
-    ${lib.optionalString (!nativeOnly) exportLDPath}
+
+    ${exportLDPath}
     ${fixBootstrap}
     exec steam "$@"
   '';
 
-  meta = steam.meta // {
-    broken = nativeOnly;
-  };
+  inherit (steam) meta;
 
   # allows for some gui applications to share IPC
   # this fixes certain issues where they don't render correctly
@@ -327,7 +273,7 @@ in buildFHSUserEnv rec {
     name = "steam-run";
 
     targetPkgs = commonTargetPkgs;
-    inherit multiPkgs extraBuildCommands profile;
+    inherit multiPkgs extraBuildCommands profile extraInstallCommands;
 
     inherit unshareIpc unsharePid;
 
@@ -339,7 +285,8 @@ in buildFHSUserEnv rec {
         exit 1
       fi
       shift
-      ${lib.optionalString (!nativeOnly) exportLDPath}
+
+      ${exportLDPath}
       ${fixBootstrap}
       exec -- "$run" "$@"
     '';
diff --git a/nixpkgs/pkgs/games/steam/fonts.nix b/nixpkgs/pkgs/games/steam/fonts.nix
deleted file mode 100644
index 65efd42a22a4..000000000000
--- a/nixpkgs/pkgs/games/steam/fonts.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, unzip }:
-
-stdenv.mkDerivation {
-  pname = "steam-fonts";
-  version = "1";
-
-  src = fetchurl {
-    url = "https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip";
-    sha256 = "1cgygmwich5f1jhhbmbkkpnzasjl8gy36xln76n6r2gjh6awqfx0";
-  };
-
-  nativeBuildInputs = [ unzip ];
-
-  sourceRoot = ".";
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp -r *.TTF *.ttf $out/share/fonts/truetype
-  '';
-}
diff --git a/nixpkgs/pkgs/games/system-syzygy/default.nix b/nixpkgs/pkgs/games/system-syzygy/default.nix
index f01f93572ba2..67bb6b716616 100644
--- a/nixpkgs/pkgs/games/system-syzygy/default.nix
+++ b/nixpkgs/pkgs/games/system-syzygy/default.nix
@@ -6,7 +6,7 @@ let
     exec = "@out@/bin/syzygy";
     comment = "A puzzle game";
     desktopName = "System Syzygy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 rustPlatform.buildRustPackage rec {
diff --git a/nixpkgs/pkgs/games/terraria-server/default.nix b/nixpkgs/pkgs/games/terraria-server/default.nix
index c4094f2816d2..0100418326dc 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.3.2";
+  version = "1.4.3.5";
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
     url = "https://terraria.org/api/download/pc-dedicated-server/terraria-server-${urlVersion}.zip";
-    sha256 = "sha256-/OClQTO9iBRQk3iTvYbjG1cCicKIBh+yi2OFpurJx8U=";
+    sha256 = "sha256-N1GnxEe0A6Wuzy08lL3CFPWjQJECGGf504FE+lnhDcw=";
   };
 
   buildInputs = [ file ];
diff --git a/nixpkgs/pkgs/games/tome2/default.nix b/nixpkgs/pkgs/games/tome2/default.nix
index d40717c9a385..3440e183515c 100644
--- a/nixpkgs/pkgs/games/tome2/default.nix
+++ b/nixpkgs/pkgs/games/tome2/default.nix
@@ -9,12 +9,10 @@ let
     name = pname;
     exec = "${pname}-x11";
     icon = pname;
-    terminal = "false";
     comment = description;
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/games/tome4/default.nix b/nixpkgs/pkgs/games/tome4/default.nix
index 581220c339c4..70fbebe084c7 100644
--- a/nixpkgs/pkgs/games/tome4/default.nix
+++ b/nixpkgs/pkgs/games/tome4/default.nix
@@ -15,10 +15,9 @@ stdenv.mkDerivation rec {
     name = pname;
     exec = "@out@/bin/${pname}";
     icon = pname;
-    terminal = "false";
     comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal.";
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
   };
 
diff --git a/nixpkgs/pkgs/games/tuxpaint/default.nix b/nixpkgs/pkgs/games/tuxpaint/default.nix
index 289b4e386be0..638fa170f50f 100644
--- a/nixpkgs/pkgs/games/tuxpaint/default.nix
+++ b/nixpkgs/pkgs/games/tuxpaint/default.nix
@@ -1,17 +1,21 @@
-{ lib, stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer, libpng,
-  cairo, librsvg, gettext, libpaper, fribidi, pkg-config, gperf, imagemagick }:
+{ lib, stdenv, fetchurl, SDL, SDL_gfx, SDL_image, SDL_ttf, SDL_mixer, libpng
+, libimagequant, cairo, librsvg, gettext, libpaper, fribidi, pkg-config, gperf
+, imagemagick
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.9.24";
+  version = "0.9.27";
   pname = "tuxpaint";
 
   src = fetchurl {
     url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}.tar.gz";
-    sha256 = "06m1lg2pikfkmassfvvrbwqffwgixcmjh1li6akaldgkalpmfql7";
+    sha256 = "sha256-qyuA6J34gijNDsCmyQtJ1UPLFXqjj7kMvTop8AFAVXo=";
   };
 
-  nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_mixer libpng cairo
-    librsvg gettext libpaper fribidi pkg-config gperf imagemagick ];
+  nativeBuildInputs = [
+    SDL SDL_gfx SDL_image SDL_ttf SDL_mixer libpng cairo libimagequant librsvg
+    gettext libpaper fribidi pkg-config gperf imagemagick
+  ];
   hardeningDisable = [ "format" ];
   makeFlags = [ "GPERF=${gperf}/bin/gperf"
                 "PREFIX=$$out"
@@ -25,8 +29,8 @@ stdenv.mkDerivation rec {
 
   # stamps
   stamps = fetchurl {
-    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2014-08-23/tuxpaint-stamps-2014.08.23.tar.gz";
-    sha256 = "0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q";
+    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2021-11-25/tuxpaint-stamps-2021.11.25.tar.gz";
+    sha256 = "sha256-y1XuIbLSW0QO4has+rC7jZBq8cma28d+jbEe7DBYnVI=";
   };
 
   postInstall = ''
@@ -37,15 +41,17 @@ stdenv.mkDerivation rec {
 
     # Install stamps
     tar xzf $stamps
-    cd tuxpaint-stamps-2014.08.23
+    cd tuxpaint-stamps-*
     make install-all PREFIX=$out
     rm -rf $out/share/tuxpaint/stamps/military
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Open Source Drawing Software for Children";
     homepage = "http://www.tuxpaint.org/";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ woffs ];
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/games/ufoai/default.nix b/nixpkgs/pkgs/games/ufoai/default.nix
index 89f8f5ec91bf..1dc2abbf7624 100644
--- a/nixpkgs/pkgs/games/ufoai/default.nix
+++ b/nixpkgs/pkgs/games/ufoai/default.nix
@@ -24,7 +24,13 @@ stdenv.mkDerivation rec {
     curl libjpeg libpng gettext cunit
   ];
 
-  NIX_CFLAGS_LINK = "-lgcc_s"; # to avoid occasional runtime error in finding libgcc_s.so.1
+  NIX_CFLAGS_LINK = [
+    # to avoid occasional runtime error in finding libgcc_s.so.1
+    "-lgcc_s"
+    # tests are underlinked against libm:
+    # ld: release-linux-x86_64/testall/client/sound/s_mix.c.o: undefined reference to symbol 'acos@@GLIBC_2.2.5'
+    "-lm"
+  ];
 
   meta = {
     homepage = "http://ufoai.org";
diff --git a/nixpkgs/pkgs/games/unciv/default.nix b/nixpkgs/pkgs/games/unciv/default.nix
index b6085fdce391..50db51b4e89e 100644
--- a/nixpkgs/pkgs/games/unciv/default.nix
+++ b/nixpkgs/pkgs/games/unciv/default.nix
@@ -14,7 +14,7 @@ let
     exec = "unciv";
     comment = "An open-source Android/Desktop remake of Civ V";
     desktopName = "Unciv";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "3.19.8";
+  version = "3.19.12";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    sha256 = "sha256-ubMREVcislhkA3pzxuqI+HpBHq9vbMa8nyq0qhTh2x8=";
+    sha256 = "sha256-PALrOyaUYXyNH+QdE8oy1TM5U4SZjw1N0NJ2BKiqjtU=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/games/unvanquished/default.nix b/nixpkgs/pkgs/games/unvanquished/default.nix
index f3f8c1413dbc..191d8c218070 100644
--- a/nixpkgs/pkgs/games/unvanquished/default.nix
+++ b/nixpkgs/pkgs/games/unvanquished/default.nix
@@ -135,25 +135,17 @@ in stdenv.mkDerivation rec {
       desktopName = "Unvanquished";
       comment = "FPS/RTS Game - Aliens vs. Humans";
       icon = "unvanquished";
-      terminal = false;
       exec = "unvanquished";
-      categories = "Game;ActionGame;StrategyGame;";
-      # May or may not work
+      categories = [ "Game" "ActionGame" "StrategyGame" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
-      # yes, PrefersNonDefaultGPU is standard:
-      # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
     })
     (makeDesktopItem {
       name = "net.unvanquished.UnvanquishedProtocolHandler.desktop";
       desktopName = "Unvanquished (protocol handler)";
       noDisplay = true;
-      terminal = false;
       exec = "unvanquished -connect %u";
-      mimeType = "x-scheme-handler/unv";
-      # May or may not work
+      mimeTypes = [ "x-scheme-handler/unv" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
     })
   ];
 
diff --git a/nixpkgs/pkgs/games/ut2004/wrapper.nix b/nixpkgs/pkgs/games/ut2004/wrapper.nix
index 0f70a07ca8fc..bf344372933d 100644
--- a/nixpkgs/pkgs/games/ut2004/wrapper.nix
+++ b/nixpkgs/pkgs/games/ut2004/wrapper.nix
@@ -27,7 +27,7 @@ let
     desktopName = "Unreal Tournament 2004";
     comment = "A first-person shooter video game developed by Epic Games and Digital Extreme";
     genericName = "First-person shooter";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "ut2004";
   };
 
diff --git a/nixpkgs/pkgs/games/vimgolf/Gemfile b/nixpkgs/pkgs/games/vimgolf/Gemfile
new file mode 100644
index 000000000000..a375239ffc82
--- /dev/null
+++ b/nixpkgs/pkgs/games/vimgolf/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'vimgolf'
diff --git a/nixpkgs/pkgs/games/vimgolf/Gemfile.lock b/nixpkgs/pkgs/games/vimgolf/Gemfile.lock
new file mode 100644
index 000000000000..9eaf1172d05e
--- /dev/null
+++ b/nixpkgs/pkgs/games/vimgolf/Gemfile.lock
@@ -0,0 +1,19 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    highline (2.0.3)
+    json_pure (2.6.1)
+    thor (1.2.1)
+    vimgolf (0.5.0)
+      highline (~> 2.0, >= 2.0.3)
+      json_pure (~> 2.3, >= 2.3.1)
+      thor (~> 1.0, >= 1.0.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  vimgolf
+
+BUNDLED WITH
+   2.1.4
diff --git a/nixpkgs/pkgs/games/vimgolf/default.nix b/nixpkgs/pkgs/games/vimgolf/default.nix
new file mode 100644
index 000000000000..2847ff7dd3bf
--- /dev/null
+++ b/nixpkgs/pkgs/games/vimgolf/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+
+bundlerApp {
+  pname = "vimgolf";
+  gemdir = ./.;
+  exes = [ "vimgolf" ];
+
+  passthru.updateScript = bundlerUpdateScript "vimgolf";
+
+  meta = with lib; {
+    description = "A game that tests Vim efficiency";
+    homepage = "https://vimgolf.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ leungbk ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/games/vimgolf/gemset.nix b/nixpkgs/pkgs/games/vimgolf/gemset.nix
new file mode 100644
index 000000000000..17d66b934b22
--- /dev/null
+++ b/nixpkgs/pkgs/games/vimgolf/gemset.nix
@@ -0,0 +1,43 @@
+{
+  highline = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
+      type = "gem";
+    };
+    version = "2.0.3";
+  };
+  json_pure = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05ddn30jkpw6anfakfm7lffnrl2i0265ryrrwa4j0ivihjr95y82";
+      type = "gem";
+    };
+    version = "2.6.1";
+  };
+  thor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  vimgolf = {
+    dependencies = ["highline" "json_pure" "thor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190dzqkvshd4i6jf30xnpm4sczraw6rdh4wvfh6qnmg0czmj0sny";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+}
diff --git a/nixpkgs/pkgs/games/vintagestory/default.nix b/nixpkgs/pkgs/games/vintagestory/default.nix
index 8c2e8573177e..e6e7d28e17bd 100644
--- a/nixpkgs/pkgs/games/vintagestory/default.nix
+++ b/nixpkgs/pkgs/games/vintagestory/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vintagestory";
-  version = "1.16.3";
+  version = "1.16.4";
 
   src = fetchurl {
     url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz";
-    sha256 = "sha256-PpvTHG/EBKBhtlgIrAz/B+U1aHbZURN2cWTlZ/DkZQs=";
+    sha256 = "sha256-wdwQ1Dv0872nEOYIB+rEzYtG5rnSw8DZgoSlSvCvtrI=";
   };
 
   nativeBuildInputs = [ makeWrapper copyDesktopItems ];
@@ -47,8 +47,7 @@ stdenv.mkDerivation rec {
     exec = "vintagestory";
     icon = "vintagestory";
     comment = "Innovate and explore in a sandbox world";
-    type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix
index 788fbdbf6c8e..e4a2ff4c31b3 100644
--- a/nixpkgs/pkgs/games/warzone2100/default.nix
+++ b/nixpkgs/pkgs/games/warzone2100/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version  = "4.2.4";
+  version  = "4.2.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
-    sha256 = "sha256-IkD1WkeKas9qtUUTTo9w4cEoGAoX+d+Cr2C5PTUFaEg=";
+    sha256 = "sha256-sdHc/i1ffbTAY7ehO6LsIa+ll+LHkuXIwcwTIEOY28g=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/games/worldofgoo/default.nix b/nixpkgs/pkgs/games/worldofgoo/default.nix
index fee4699aec92..00a8af6d8b70 100644
--- a/nixpkgs/pkgs/games/worldofgoo/default.nix
+++ b/nixpkgs/pkgs/games/worldofgoo/default.nix
@@ -8,11 +8,10 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "World of Goo";
     genericName = "World of Goo";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "WorldOfGoo.bin.${arch}";
     icon = "2dboy-worldofgoo";
     name = "worldofgoo";
-    type = "Application";
   };
 
 in
diff --git a/nixpkgs/pkgs/games/xbill/default.nix b/nixpkgs/pkgs/games/xbill/default.nix
index a20b52e78546..765af44936a2 100644
--- a/nixpkgs/pkgs/games/xbill/default.nix
+++ b/nixpkgs/pkgs/games/xbill/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     icon = "xbill";
     desktopName = "XBill";
     comment     = "Get rid of those Wingdows viruses!";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/games/xonotic/default.nix b/nixpkgs/pkgs/games/xonotic/default.nix
index d5374c5446d1..46b0b594d724 100644
--- a/nixpkgs/pkgs/games/xonotic/default.nix
+++ b/nixpkgs/pkgs/games/xonotic/default.nix
@@ -50,9 +50,9 @@ let
     exec = "xonotic";
     comment = meta.description;
     desktopName = "Xonotic";
-    categories = "Game;Shooter;";
+    categories = [ "Game" "Shooter" ];
     icon = "xonotic";
-    startupNotify = "false";
+    startupNotify = false;
   };
 
   xonotic-unwrapped = stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/games/xsnow/default.nix b/nixpkgs/pkgs/games/xsnow/default.nix
index ee7cbd8fb48d..ff34bfe729ba 100644
--- a/nixpkgs/pkgs/games/xsnow/default.nix
+++ b/nixpkgs/pkgs/games/xsnow/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xsnow";
-  version = "3.3.6";
+  version = "3.4.4";
 
   src = fetchurl {
     url = "https://ratrabbit.nl/downloads/xsnow/xsnow-${version}.tar.gz";
-    sha256 = "sha256-rTJO1btS1VBHatj9Yr2R6vZBUPQtCB1Aa6AD6IzwuLg=";
+    sha256 = "sha256-fPMy5AxKspFkcWphf/IjMc/ZQtayljThKxbcMtvOjRc=";
   };
 
   nativeBuildInputs = [ pkg-config ];