Skip to content

Commit

Permalink
Merge pull request #146557 from Mindavi/mindustry/unbreak
Browse files Browse the repository at this point in the history
mindustry: unbreak
  • Loading branch information
symphorien committed Nov 25, 2021
2 parents 14217c5 + 9e58e39 commit 9d4747a
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
24 changes: 16 additions & 8 deletions pkgs/games/mindustry/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
, copyDesktopItems
, fetchFromGitHub
, gradle_6
, jdk11
, jdk
, perl

# for arc
Expand Down Expand Up @@ -87,8 +87,7 @@ let
popd
'';

jdk = jdk11;
gradle = (gradle_6.override (old: { java = jdk11; }));
gradle = (gradle_6.override (old: { java = jdk; }));

# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
Expand Down Expand Up @@ -129,6 +128,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
Expand Down Expand Up @@ -157,9 +165,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}
Expand Down Expand Up @@ -191,8 +201,6 @@ stdenv.mkDerivation rec {
platforms = platforms.x86_64;
# Hash mismatch on darwin:
# https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293
broken = stdenv.isDarwin
# does not work with any maintained java version (https://github.com/Anuken/Mindustry/issues/5114)
|| true;
broken = stdenv.isDarwin;
};
}
10 changes: 8 additions & 2 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30316,10 +30316,16 @@ with pkgs;

methane = callPackage ../games/methane { };

mindustry = callPackage ../games/mindustry { };
mindustry-wayland = callPackage ../games/mindustry { glew = glew-egl; };
mindustry = callPackage ../games/mindustry {
jdk = adoptopenjdk-hotspot-bin-15;
};
mindustry-wayland = callPackage ../games/mindustry {
jdk = adoptopenjdk-hotspot-bin-15;
glew = glew-egl;
};

mindustry-server = callPackage ../games/mindustry {
jdk = adoptopenjdk-hotspot-bin-15;
enableClient = false;
enableServer = true;
};
Expand Down

0 comments on commit 9d4747a

Please sign in to comment.