about summary refs log tree commit diff
path: root/pkgs/games/minecraft-servers/derivation.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/minecraft-servers/derivation.nix')
-rw-r--r--pkgs/games/minecraft-servers/derivation.nix18
1 files changed, 10 insertions, 8 deletions
diff --git a/pkgs/games/minecraft-servers/derivation.nix b/pkgs/games/minecraft-servers/derivation.nix
index 0773be6bcfc7e..a1b03a0a3b368 100644
--- a/pkgs/games/minecraft-servers/derivation.nix
+++ b/pkgs/games/minecraft-servers/derivation.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, nixosTests, jre_headless, version, url, sha1 }:
+{ lib, stdenv, fetchurl, nixosTests, jre_headless, makeWrapper, udev, version, url, sha1 }:
 stdenv.mkDerivation {
   pname = "minecraft-server";
   inherit version;
@@ -7,16 +7,18 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
-    mkdir -p $out/bin $out/lib/minecraft
-    cp -v $src $out/lib/minecraft/server.jar
+    runHook preInstall
+
+    install -Dm644 $src $out/lib/minecraft/server.jar
 
-    cat > $out/bin/minecraft-server << EOF
-    #!/bin/sh
-    exec ${jre_headless}/bin/java \$@ -jar $out/lib/minecraft/server.jar nogui
-    EOF
+    makeWrapper ${lib.getExe jre_headless} $out/bin/minecraft-server \
+      --append-flags "-jar $out/lib/minecraft/server.jar nogui" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
 
-    chmod +x $out/bin/minecraft-server
+    runHook postInstall
   '';
 
   dontUnpack = true;