summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/aaaaxy/default.nix6
-rw-r--r--pkgs/games/doom-ports/prboom-plus/default.nix4
-rw-r--r--pkgs/games/doom-ports/slade/default.nix4
-rw-r--r--pkgs/games/gogui/default.nix88
-rw-r--r--pkgs/games/mari0/default.nix20
-rw-r--r--pkgs/games/openra_2019/common.nix21
-rw-r--r--pkgs/games/openra_2019/default.nix19
-rw-r--r--pkgs/games/openra_2019/engine.nix8
-rw-r--r--pkgs/games/openra_2019/mod.nix22
-rw-r--r--pkgs/games/orthorobot/default.nix22
-rw-r--r--pkgs/games/rare/default.nix5
-rw-r--r--pkgs/games/rare/fix-instance.patch10
-rw-r--r--pkgs/games/rare/legendary-gl-version.patch4
-rw-r--r--pkgs/games/space-station-14-launcher/deps.nix5
-rw-r--r--pkgs/games/space-station-14-launcher/space-station-14-launcher.nix2
-rw-r--r--pkgs/games/wireworld/default.nix9
-rw-r--r--pkgs/games/xivlauncher/default.nix14
-rw-r--r--pkgs/games/xivlauncher/deps.nix4
18 files changed, 169 insertions, 98 deletions
diff --git a/pkgs/games/aaaaxy/default.nix b/pkgs/games/aaaaxy/default.nix
index ccc8ad8853c..6539cb2db37 100644
--- a/pkgs/games/aaaaxy/default.nix
+++ b/pkgs/games/aaaaxy/default.nix
@@ -19,17 +19,17 @@
 
 buildGoModule rec {
   pname = "aaaaxy";
-  version = "1.4.6";
+  version = "1.4.18";
 
   src = fetchFromGitHub {
     owner = "divVerent";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vl5xFGsajjrD/rUQzA7qae/nTGo99wjyElpHNMbd5fg=";
+    hash = "sha256-g2xUBh0zRB+9awYEr15ay0k+EyAiWmGG5UfZatE24/8=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-A8pzwt7Rzn7jPuuApQoZpSFXk1Oepf5u13rk4atG9ww=";
+  vendorHash = "sha256-9SeNXOl1wEcG/CtNuuYQ8Y5XEw2GYAIQ2lXk5lgXsN8=";
 
   buildInputs = [
     alsa-lib
diff --git a/pkgs/games/doom-ports/prboom-plus/default.nix b/pkgs/games/doom-ports/prboom-plus/default.nix
index a249a4585bd..15875296fff 100644
--- a/pkgs/games/doom-ports/prboom-plus/default.nix
+++ b/pkgs/games/doom-ports/prboom-plus/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "prboom-plus";
-  version = "2.6.2";
+  version = "2.6.66";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "prboom-plus";
     rev = "v${version}";
-    sha256 = "iK70PMRLJiZHcK1jCQ2s88LgEMbcfG2pXjwCDVG7zUM=";
+    sha256 = "sha256-moU/bZ2mS1QfKPP6HaAwWP1nRNZ4Ue5DFl9zBBrJiHw=";
   };
 
   sourceRoot = "source/prboom2";
diff --git a/pkgs/games/doom-ports/slade/default.nix b/pkgs/games/doom-ports/slade/default.nix
index 920e22251fb..9e9fc837e82 100644
--- a/pkgs/games/doom-ports/slade/default.nix
+++ b/pkgs/games/doom-ports/slade/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slade";
-  version = "3.2.3";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "sirjuddington";
     repo = "SLADE";
     rev = version;
-    sha256 = "sha256-YZTCviGhOlAgD3RidPu8gPqqo4MLURiBGV7nazILwFg=";
+    sha256 = "sha256-CN01w+sXXRqvQqu1whePAb+phVx+VM8tL2NusfnCyF8=";
   };
 
   postPatch = lib.optionalString (!stdenv.hostPlatform.isx86) ''
diff --git a/pkgs/games/gogui/default.nix b/pkgs/games/gogui/default.nix
index d2c25e031d2..212f0af0e8e 100644
--- a/pkgs/games/gogui/default.nix
+++ b/pkgs/games/gogui/default.nix
@@ -1,28 +1,94 @@
-{ fetchurl, lib, stdenv, openjdk, unzip, makeWrapper }:
+{ ant
+, docbook-xsl-ns
+, docbook_xml_dtd_42
+, fetchFromGitHub
+, imagemagick
+, lib
+, libxslt
+, makeWrapper
+, openjdk
+, stdenv
+}:
 
 let
-  version = "1.4.9";
+  version = "1.5.3";
 in stdenv.mkDerivation {
   pname = "gogui";
   inherit version;
-  nativeBuildInputs = [ makeWrapper unzip ];
-  src = fetchurl {
-    url = "mirror://sourceforge/project/gogui/gogui/${version}/gogui-${version}.zip";
-    sha256 = "0qk6p1bhi1816n638bg11ljyj6zxvm75jdf02aabzdmmd9slns1j";
+
+  src = fetchFromGitHub {
+    owner = "Remi-Coulom";
+    repo = "gogui";
+    rev = "v${version}";
+    hash = "sha256-GezFhNYB542JnAIUeUVa188+SR5mCedwj0hZN8L83UQ=";
   };
-  dontConfigure = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    ant
+  ];
+
+  buildInputs = [
+    docbook-xsl-ns
+    imagemagick
+    libxslt
+    openjdk
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    substituteInPlace doc/manual/xml/book.xml \
+      --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd \
+      ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd
+    substituteInPlace doc/manual/xml/manpages.xml \
+      --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd \
+      ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd
+
+    # generate required gui images from svg
+    # see https://github.com/Remi-Coulom/gogui/issues/36
+    sizes=( 16x16 24x24 32x32 48x48 64x64 )
+    for i in src/net/sf/gogui/images/*.svg; do
+      for j in ''${sizes[@]}; do
+        convert $i -resize $j src/net/sf/gogui/images/$(basename $i .svg)-''${j}.png
+      done
+    done
+
+    for i in src/net/sf/gogui/images/gogui-{black,white,setup}.svg; do
+      convert $i -resize 8x8 src/net/sf/gogui/images/$(basename $i .svg)-8x8.png
+    done
+
+    ant -Ddocbook-xsl.dir=${docbook-xsl-ns}/xml/xsl/docbook
+
+    runHook postBuild
+  '';
+
   installPhase = ''
+    runHook preInstall
+
+    # copy documentation
     mkdir -p $out/share/doc
-    mv -vi {bin,lib} $out/
     mv -vi doc $out/share/doc/gogui
+
+    # make man pages available
+    mkdir -p $out/share/man/
+    ln -s $out/share/doc/gogui/manual/man $out/share/man/man1
+
+    # copy programs
+    mv -vi {bin,lib} $out/
+
+    # wrap programs
     for x in $out/bin/*; do
-      wrapProgram $x --prefix PATH ":" ${openjdk}/bin
+      wrapProgram $x --prefix PATH ":" ${openjdk}/bin --set GOGUI_JAVA_HOME ${openjdk}
     done
+
+    runHook postInstall
   '';
+
   meta = {
-    maintainers = [ lib.maintainers.cleverca22 ];
+    maintainers = [ lib.maintainers.cleverca22 lib.maintainers.omnipotententity];
     description = "A graphical user interface to programs that play the board game Go and support the Go Text Protocol such as GNU Go";
-    homepage = "https://gogui.sourceforge.net/";
+    homepage = "https://github.com/Remi-Coulom/gogui";
     platforms = lib.platforms.unix;
     license = lib.licenses.gpl3;
   };
diff --git a/pkgs/games/mari0/default.nix b/pkgs/games/mari0/default.nix
index 9541b97476c..6e644245c4f 100644
--- a/pkgs/games/mari0/default.nix
+++ b/pkgs/games/mari0/default.nix
@@ -1,5 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, zip, love, makeWrapper, makeDesktopItem
-, copyDesktopItems }:
+{ lib
+, copyDesktopItems
+, fetchFromGitHub
+, love
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, strip-nondeterminism
+, zip
+}:
 
 stdenv.mkDerivation rec {
   pname = "mari0";
@@ -12,7 +20,12 @@ stdenv.mkDerivation rec {
     sha256 = "1zqaq4w599scsjvy1rsb21fd2r8j3srx9vym4ir9bh666dp36gxa";
   };
 
-  nativeBuildInputs = [ makeWrapper copyDesktopItems zip ];
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+    strip-nondeterminism
+    zip
+  ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -28,6 +41,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
     zip -9 -r mari0.love ./*
+    strip-nondeterminism --type zip mari0.love
     install -Dm444 -t $out/share/games/lovegames/ mari0.love
     makeWrapper ${love}/bin/love $out/bin/mari0 \
       --add-flags $out/share/games/lovegames/mari0.love
diff --git a/pkgs/games/openra_2019/common.nix b/pkgs/games/openra_2019/common.nix
index 33821561619..4445cc53ba6 100644
--- a/pkgs/games/openra_2019/common.nix
+++ b/pkgs/games/openra_2019/common.nix
@@ -2,7 +2,7 @@
     and out-of-tree mod packages (mod.nix).
 */
 { lib, makeSetupHook, curl, unzip, dos2unix, pkg-config, makeWrapper
-, lua, mono, dotnetPackages, python3
+, lua, mono, python3
 , libGL, freetype, openal, SDL2
 , zenity
 }:
@@ -40,24 +40,7 @@ in {
   '';
 
   packageAttrs = {
-    buildInputs = with dotnetPackages; [
-      FuzzyLogicLibrary
-      MaxMindDb
-      MaxMindGeoIP2
-      MonoNat
-      NewtonsoftJson
-      NUnit3
-      NUnitConsole
-      OpenNAT
-      RestSharp
-      SharpFont
-      SharpZipLib
-      SmartIrc4net
-      StyleCopMSBuild
-      StyleCopPlusMSBuild
-    ] ++ [
-      libGL
-    ];
+    buildInputs = [ libGL ];
 
     # TODO: Test if this is correct.
     nativeBuildInputs = [
diff --git a/pkgs/games/openra_2019/default.nix b/pkgs/games/openra_2019/default.nix
index 76454f69e4b..0bcf71cd87f 100644
--- a/pkgs/games/openra_2019/default.nix
+++ b/pkgs/games/openra_2019/default.nix
@@ -6,9 +6,7 @@
     Additional engines or mods can be added with `openraPackages.buildOpenRAEngine` (function around `engine.nix`)
     and `openraPackages.buildOpenRAMod` (function around `mod.nix`), respectively.
 */
-pkgs:
-
-with pkgs.lib;
+{ pkgs, lib }:
 
 let
   /*  Building an engine or out-of-tree mod is very similar,
@@ -21,7 +19,10 @@ let
       so either the attributes added by `makeOverridable` have to be removed
       or the engine and mod package definitions will need to add `...` to the argument list.
   */
-  common = let f = import ./common.nix; in f (builtins.intersectAttrs (functionArgs f) pkgs // {
+  common = let
+    f = import ./common.nix;
+    fArgs = lib.functionArgs f;
+  in f (builtins.intersectAttrs fArgs pkgs // {
     lua = pkgs.lua5_1;
     # It is not necessary to run the game, but it is nicer to be given an error dialog in the case of failure,
     # rather than having to look to the logs why it is not starting.
@@ -40,8 +41,8 @@ let
       to base the name on the attribute name instead, preventing the need to specify the name twice
       if the attribute name and engine/mod name are equal.
   */
-  callWithName = name: value: if isFunction value then value name else value;
-  buildOpenRASet = f: args: pkgs.recurseIntoAttrs (mapAttrs callWithName (f ({
+  callWithName = name: value: if lib.isFunction value then value name else value;
+  buildOpenRASet = f: args: pkgs.recurseIntoAttrs (lib.mapAttrs callWithName (f ({
     inherit (pkgs) fetchFromGitHub;
     postFetch = ''
       sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh
@@ -56,14 +57,16 @@ in pkgs.recurseIntoAttrs rec {
     # Allow specifying the name at a later point if no name has been given.
     let builder = name: pkgs.callPackage ./engine.nix (common // {
       engine = engine // { inherit name; };
-    }); in if name == null then builder else builder name;
+    });
+    in if name == null then builder else builder name;
 
   # See `buildOpenRAEngine`.
   buildOpenRAMod = { name ? null, version, title, description, homepage, src, engine, assetsError ? "" }@mod: ({ version, mods ? [], src }@engine:
     let builder = name: pkgs.callPackage ./mod.nix (common // {
       mod = mod // { inherit name assetsError; };
       engine = engine // { inherit mods; };
-    }); in if name == null then builder else builder name) engine;
+    });
+    in if name == null then builder else builder name) engine;
 
   # See `buildOpenRASet`.
   engines = buildOpenRASet (import ./engines.nix) { inherit buildOpenRAEngine; };
diff --git a/pkgs/games/openra_2019/engine.nix b/pkgs/games/openra_2019/engine.nix
index f3f3b9c073c..d63800be1e2 100644
--- a/pkgs/games/openra_2019/engine.nix
+++ b/pkgs/games/openra_2019/engine.nix
@@ -14,9 +14,7 @@
 , engine
 }:
 
-with lib;
-
-stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
+stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec {
   pname = "openra_2019";
   version = "${engine.name}-${engine.version}";
 
@@ -27,7 +25,7 @@ stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
   configurePhase = ''
     runHook preConfigure
 
-    make version VERSION=${escapeShellArg version}
+    make version VERSION=${lib.escapeShellArg version}
 
     runHook postConfigure
   '';
@@ -48,7 +46,7 @@ stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
   postInstall = ''
     ${wrapLaunchGame "" "openra"}
 
-    ${concatStrings (map (mod: ''
+    ${lib.concatStrings (map (mod: ''
       makeWrapper $out/bin/openra $out/bin/openra-${mod} --add-flags Game.Mod=${mod}
     '') engine.mods)}
   '';
diff --git a/pkgs/games/openra_2019/mod.nix b/pkgs/games/openra_2019/mod.nix
index c5772658074..2f945b4b4dd 100644
--- a/pkgs/games/openra_2019/mod.nix
+++ b/pkgs/games/openra_2019/mod.nix
@@ -14,14 +14,12 @@
 , engine
 }:
 
-with lib;
-
 let
   engineSourceName = engine.src.name or "engine";
   modSourceName = mod.src.name or "mod";
 
 # Based on: https://build.opensuse.org/package/show/home:fusion809/openra-ura
-in stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
+in stdenv.mkDerivation (lib.recursiveUpdate packageAttrs rec {
   name = "${pname}-${version}";
   pname = "openra_2019-${mod.name}";
   inherit (mod) version;
@@ -54,8 +52,8 @@ in stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
   configurePhase = ''
     runHook preConfigure
 
-    make version VERSION=${escapeShellArg version}
-    make -C ${engineSourceName} version VERSION=${escapeShellArg engine.version}
+    make version VERSION=${lib.escapeShellArg version}
+    make -C ${engineSourceName} version VERSION=${lib.escapeShellArg engine.version}
 
     runHook postConfigure
   '';
@@ -67,22 +65,22 @@ in stdenv.mkDerivation (recursiveUpdate packageAttrs rec {
 
     make -C ${engineSourceName} install-engine install-common-mod-files DATA_INSTALL_DIR=$out/lib/${pname}
 
-    cp -r ${engineSourceName}/mods/{${concatStringsSep "," ([ "common" "modcontent" ] ++ engine.mods)}} mods/* \
+    cp -r ${engineSourceName}/mods/{${lib.concatStringsSep "," ([ "common" "modcontent" ] ++ engine.mods)}} mods/* \
       $out/lib/${pname}/mods/
 
     substitute ${./mod-launch-game.sh} $out/lib/openra_2019-${mod.name}/launch-game.sh \
       --subst-var out \
-      --subst-var-by name ${escapeShellArg mod.name} \
-      --subst-var-by title ${escapeShellArg mod.title} \
-      --subst-var-by assetsError ${escapeShellArg mod.assetsError}
+      --subst-var-by name ${lib.escapeShellArg mod.name} \
+      --subst-var-by title ${lib.escapeShellArg mod.title} \
+      --subst-var-by assetsError ${lib.escapeShellArg mod.assetsError}
     chmod +x $out/lib/openra_2019-${mod.name}/launch-game.sh
 
     ${wrapLaunchGame "_2019-${mod.name}" "openra-${mod.name}"}
 
     substitute ${./openra-mod.desktop} $(mkdirp $out/share/applications)/${pname}.desktop \
-      --subst-var-by name ${escapeShellArg mod.name} \
-      --subst-var-by title ${escapeShellArg mod.title} \
-      --subst-var-by description ${escapeShellArg mod.description}
+      --subst-var-by name ${lib.escapeShellArg mod.name} \
+      --subst-var-by title ${lib.escapeShellArg mod.title} \
+      --subst-var-by description ${lib.escapeShellArg mod.description}
 
     cp README.md $(mkdirp $out/share/doc/packages/${pname})/README.md
 
diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix
index 5fc11d21251..6ca70596458 100644
--- a/pkgs/games/orthorobot/default.nix
+++ b/pkgs/games/orthorobot/default.nix
@@ -1,5 +1,15 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, love, zip, fetchpatch, makeWrapper
-, makeDesktopItem, copyDesktopItems }:
+{ lib
+, copyDesktopItems
+, fetchFromGitHub
+, fetchpatch
+, fetchurl
+, love
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, strip-nondeterminism
+, zip
+}:
 
 stdenv.mkDerivation rec {
   pname = "orthorobot";
@@ -29,7 +39,12 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ makeWrapper zip copyDesktopItems ];
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+    strip-nondeterminism
+    zip
+  ];
 
   patches = [
     # support for love11
@@ -42,6 +57,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
     zip -9 -r orthorobot.love ./*
+    strip-nondeterminism --type zip orthorobot.love
     install -Dm444 -t $out/share/games/lovegames/ orthorobot.love
     makeWrapper ${love}/bin/love $out/bin/orthorobot \
                 --add-flags $out/share/games/lovegames/orthorobot.love
diff --git a/pkgs/games/rare/default.nix b/pkgs/games/rare/default.nix
index 68ad3c87260..5253d78be57 100644
--- a/pkgs/games/rare/default.nix
+++ b/pkgs/games/rare/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonApplication rec {
   pname = "rare";
-  version = "1.9.4";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "Dummerle";
     repo = "Rare";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-+STwVsDdvjP7HaqmaQVug+6h0n0rw/j4LGQQSNdLVQQ=";
+    hash = "sha256-7KER9gCpqjEKikQTVHsvwX6efCb9L0ut6OBjjLBW2tI=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,6 @@ buildPythonApplication rec {
   ];
 
   patches = [
-    ./fix-instance.patch
     # Not able to run pythonRelaxDepsHook because of https://github.com/NixOS/nixpkgs/issues/198342
     ./legendary-gl-version.patch
   ];
diff --git a/pkgs/games/rare/fix-instance.patch b/pkgs/games/rare/fix-instance.patch
deleted file mode 100644
index 9f0ed0600d6..00000000000
--- a/pkgs/games/rare/fix-instance.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/rare/utils/misc.py b/rare/utils/misc.py
-index 4492074..5352dac 100644
---- a/rare/utils/misc.py
-+++ b/rare/utils/misc.py
-@@ -190,6 +190,7 @@ def get_rare_executable() -> List[str]:
-         executable = [sys.executable]
- 
-     executable[0] = os.path.abspath(executable[0])
-+    executable.pop(0)
-     return executable
diff --git a/pkgs/games/rare/legendary-gl-version.patch b/pkgs/games/rare/legendary-gl-version.patch
index bd7fa1af74f..1ed9659d2b2 100644
--- a/pkgs/games/rare/legendary-gl-version.patch
+++ b/pkgs/games/rare/legendary-gl-version.patch
@@ -6,8 +6,8 @@ index 2416360..08de818 100644
  
  requirements = [
      "requests<3.0",
--    "legendary-gl==0.20.31",
-+    "legendary-gl~=0.20.31",
+-    "legendary-gl==0.20.32",
++    "legendary-gl~=0.20.32",
      "setuptools",
      "wheel",
      "PyQt5",
diff --git a/pkgs/games/space-station-14-launcher/deps.nix b/pkgs/games/space-station-14-launcher/deps.nix
index 46e47782916..5e3fdfec2bc 100644
--- a/pkgs/games/space-station-14-launcher/deps.nix
+++ b/pkgs/games/space-station-14-launcher/deps.nix
@@ -25,8 +25,6 @@
   (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
   (fetchNuGet { pname = "libsodium"; version = "1.0.18.2"; sha256 = "02xd4phd6wfixhdq48ma92c166absqw41vdq5kvjch8p0vc9cdl2"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.18"; sha256 = "16rydr6kc2hhnn9ws1kf4rqm0a001i56f3ayv5l4bn3z95rvdm0l"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.18"; sha256 = "002jll4a28j1rxn1sbhnfp0rlkx70hh0i91y2yzxj10hbnpvylbq"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.4.0"; sha256 = "12rn6gl4viycwk3pz5hp5df63g66zvba4hnkwr3f0876jj5ivmsw"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.4.0"; sha256 = "0rhylcwa95bxawcgixk64knv7p7xrykdjcabmx3gknk8hvj1ai9y"; })
@@ -35,9 +33,6 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
   (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "7.0.4"; sha256 = "0lsbzwqiwqv2qq6858aphq7rsp6fs3i0di132w7c0r2r081szql9"; })
   (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.4"; sha256 = "0mhfj8bj8dlc01y20ihq6j9r59f67cry6yd6qi6rg9zh93m43jpv"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.18"; sha256 = "1mhs8f7k7rc562yrr9h320jfbjlys3715d60x1h6822ywrc4qfv4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.18"; sha256 = "1riq1f8ah0lmaxxnqhw9hdlwlxg8q4dqzkqvkain0sxjxzky7akz"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.18"; sha256 = "0p77flwzh7002yl88270b05l549mk708h4bqpaa28j556l9jri2b"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
diff --git a/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
index 5b4dc1b372e..21d542f0d8c 100644
--- a/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
+++ b/pkgs/games/space-station-14-launcher/space-station-14-launcher.nix
@@ -63,7 +63,7 @@ buildDotnetModule rec {
     updateScript = ./update.sh;
   };
 
-  dotnet-sdk = dotnetCorePackages.sdk_7_0;
+  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_7_0 sdk_6_0 ];
   dotnet-runtime = dotnetCorePackages.runtime_7_0;
 
   dotnetFlags = [
diff --git a/pkgs/games/wireworld/default.nix b/pkgs/games/wireworld/default.nix
index 5528b52a280..828d313d2a8 100644
--- a/pkgs/games/wireworld/default.nix
+++ b/pkgs/games/wireworld/default.nix
@@ -6,6 +6,7 @@
 , makeWrapper
 , makeDesktopItem
 , copyDesktopItems
+, strip-nondeterminism
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +20,12 @@ stdenv.mkDerivation rec {
     hash = "sha256-8BshnGLuA8lmG9g7FU349DWKP/fZvlvjrQBau/LSJ4E=";
   };
 
-  nativeBuildInputs = [ makeWrapper copyDesktopItems zip ];
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+    strip-nondeterminism
+    zip
+  ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -35,6 +41,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
     zip -9 -r Wireworld.love ./*
+    strip-nondeterminism --type zip Wireworld.love
     install -Dm444 -t $out/share/games/lovegames/ Wireworld.love
     makeWrapper ${love}/bin/love $out/bin/Wireworld \
       --add-flags $out/share/games/lovegames/Wireworld.love
diff --git a/pkgs/games/xivlauncher/default.nix b/pkgs/games/xivlauncher/default.nix
index 3bb6ba67d03..f98771ec0fb 100644
--- a/pkgs/games/xivlauncher/default.nix
+++ b/pkgs/games/xivlauncher/default.nix
@@ -1,9 +1,9 @@
-{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, SDL2, libsecret, glib, gnutls, aria2, steam-run, gst_all_1
+{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, SDL2, libsecret, glib, gnutls, aria2, steam, gst_all_1
 , copyDesktopItems, makeDesktopItem, makeWrapper
 , useSteamRun ? true }:
 
 let
-  rev = "1.0.3";
+  rev = "1.0.4";
 in
   buildDotnetModule rec {
     pname = "XIVLauncher";
@@ -13,7 +13,7 @@ in
       owner = "goatcorp";
       repo = "XIVLauncher.Core";
       inherit rev;
-      hash = "sha256-aQVfW6Ef8X6L6hBEOCY/Py5tEyorXqtOO3v70mD7efA=";
+      hash = "sha256-HbOo1aCBYnLXI2QZEBSRQNchHD2/fo50M2ZnIXkRn6Y=";
       fetchSubmodules = true;
     };
 
@@ -39,10 +39,14 @@ in
       cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png
     '';
 
-    postFixup = lib.optionalString useSteamRun ''
+    postFixup = lib.optionalString useSteamRun (let
+      steam-run = (steam.override {
+        extraPkgs = pkgs: [ pkgs.libunwind ];
+      }).run;
+    in ''
       substituteInPlace $out/bin/XIVLauncher.Core \
         --replace 'exec' 'exec ${steam-run}/bin/steam-run'
-    '' + ''
+    '') + ''
       wrapProgram $out/bin/XIVLauncher.Core --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
       # the reference to aria2 gets mangled as UTF-16LE and isn't detectable by nix: https://github.com/NixOS/nixpkgs/issues/220065
       mkdir -p $out/nix-support
diff --git a/pkgs/games/xivlauncher/deps.nix b/pkgs/games/xivlauncher/deps.nix
index 240b0e19a9d..b92db7c2dec 100644
--- a/pkgs/games/xivlauncher/deps.nix
+++ b/pkgs/games/xivlauncher/deps.nix
@@ -23,18 +23,16 @@
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.0.1"; sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.0.1"; sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0"; sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "7.0.0"; sha256 = "1rl5zi8s213g70nvqfacf50ff8vqvaj8i7jxv0gjw2hkz73dg4h1"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "6.0.0-preview.5.21301.5"; sha256 = "02712s86n2i8s5j6vxdayqwcc7r538yw3frhf1gfrc6ah6hvqnzc"; })
   (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
   (fetchNuGet { pname = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; })
-  (fetchNuGet { pname = "Mono.Nat"; version = "3.0.1"; sha256 = "1xy3c9wsiz8k3rx8v60y6gnps337rsb5jpyj0r6g384prg6z4vh0"; })
-  (fetchNuGet { pname = "MonoTorrent"; version = "2.0.0"; sha256 = "016cbjsy1gp60g6w0mdya11ky3lfr3scg20k1p7lglbnzv7ixycq"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
-  (fetchNuGet { pname = "ReusableTasks"; version = "2.0.0"; sha256 = "0qag69n8kx164minz3h50g6f7cdq15r89vikcd1llbkdwq4qldaa"; })
   (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })