diff options
author | Milan <me@pbb.lc> | 2021-01-12 20:17:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-12 20:17:11 +0100 |
commit | 213286bb181c9b6588bb5c4fa130301cefc90dd0 (patch) | |
tree | d4d5ce69707a2a18a3e8c2b8e3801c73fc706353 /pkgs/games/mindustry | |
parent | ac8122739a2497a3d1809a7ba9a688ed57b5c1f1 (diff) |
mindustry: fix desktop item (#109121)
- make pre- and post-{build,install} phases usable for the main derivation - replace uses of stdenv.lib with just lib - specify which buildInputs are only needed for the client
Diffstat (limited to 'pkgs/games/mindustry')
-rw-r--r-- | pkgs/games/mindustry/default.nix | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index 6cf3941fb08a3..b9969b84fb763 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -102,10 +102,6 @@ let popd ''; - preBuild = '' - export GRADLE_USER_HOME=$(mktemp -d) - ''; - # The default one still uses jdk8 (#89731) gradle_6 = (gradleGen.override (old: { java = jdk; })).gradle_6_7; @@ -119,8 +115,9 @@ let # Here we download dependencies for both the server and the client so # we only have to specify one hash for 'deps'. Deps can be garbage # collected after the build, so this is not really an issue. - buildPhase = preBuild + '' + buildPhase = '' pushd Mindustry + export GRADLE_USER_HOME=$(mktemp -d) gradle --no-daemon resolveDependencies popd ''; @@ -136,7 +133,7 @@ let }; in -assert stdenv.lib.assertMsg (enableClient || enableServer) +assert lib.assertMsg (enableClient || enableServer) "mindustry: at least one of 'enableClient' and 'enableServer' must be true"; stdenv.mkDerivation rec { inherit pname version unpackPhase patches; @@ -147,7 +144,7 @@ stdenv.mkDerivation rec { rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so '' + cleanupMindustrySrc; - buildInputs = [ + buildInputs = lib.optionals enableClient [ SDL2 glew alsaLib @@ -157,13 +154,16 @@ stdenv.mkDerivation rec { gradle_6 makeWrapper jdk + ] ++ lib.optionals enableClient [ ant copyDesktopItems ]; - desktopItems = [ desktopItem ]; + desktopItems = lib.optional enableClient desktopItem; + + buildPhase = with lib; '' + export GRADLE_USER_HOME=$(mktemp -d) - buildPhase = with stdenv.lib; preBuild + '' # point to offline repo sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" Mindustry/build.gradle sed -ie "s#mavenCentral()#mavenCentral(); maven { url '${deps}' }#g" Arc/build.gradle @@ -180,7 +180,9 @@ stdenv.mkDerivation rec { gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion} ''; - installPhase = with stdenv.lib; optionalString enableClient '' + installPhase = with lib; '' + runHook preInstall + '' + optionalString enableClient '' install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar mkdir -p $out/bin makeWrapper ${jdk}/bin/java $out/bin/mindustry \ @@ -191,6 +193,8 @@ stdenv.mkDerivation rec { mkdir -p $out/bin makeWrapper ${jdk}/bin/java $out/bin/mindustry-server \ --add-flags "-jar $out/share/mindustry-server.jar" + '' + '' + runHook postInstall ''; meta = with lib; { |