summary refs log tree commit diff
path: root/pkgs/games/mindustry
diff options
context:
space:
mode:
authorRick van Schijndel <rol3517@gmail.com>2021-11-18 23:05:38 +0100
committerRick van Schijndel <rol3517@gmail.com>2021-11-23 23:41:15 +0100
commit7824302dd034e7e08088f5dda982aacde63aa3b4 (patch)
tree3203592d95d3e76a5d810d0648ffec219e4bda04 /pkgs/games/mindustry
parent19c06baf6c4bde49fbfb592d64ccac6ca69950d7 (diff)
downloadnixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar.gz
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar.bz2
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar.lz
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar.xz
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.tar.zst
nixpkgs-7824302dd034e7e08088f5dda982aacde63aa3b4.zip
mindustry: mitigate issue with missing glew
Fixes: https://github.com/NixOS/nixpkgs/issues/109798
Diffstat (limited to 'pkgs/games/mindustry')
-rw-r--r--pkgs/games/mindustry/default.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index 63892330b44..92436128437 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -129,6 +129,15 @@ stdenv.mkDerivation rec {
     rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so
   '' + cleanupMindustrySrc;
 
+  # Propagate glew to prevent it from being cleaned up.
+  # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there,
+  # and will assume that it's not actually needed.
+  # This can cause issues.
+  # See https://github.com/NixOS/nixpkgs/issues/109798.
+  propagatedBuildInputs = lib.optionals enableClient [
+    glew.out
+  ];
+
   buildInputs = lib.optionals enableClient [
     SDL2
     glew
@@ -157,9 +166,11 @@ stdenv.mkDerivation rec {
   '' + optionalString enableClient ''
     gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion}
     gradle --offline --no-daemon sdlnatives -Pdynamic -Pbuildversion=${buildVersion}
+    glewlib=${lib.getLib glew}/lib/libGLEW.so
+    sdllib=${lib.getLib SDL2}/lib/libSDL2.so
     patchelf ../Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so \
-      --add-needed ${glew.out}/lib/libGLEW.so \
-      --add-needed ${SDL2}/lib/libSDL2.so
+      --add-needed $glewlib \
+      --add-needed $sdllib
     gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion}
   '' + optionalString enableServer ''
     gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion}