diff options
Diffstat (limited to 'packages/betacraft.nix')
| -rw-r--r-- | packages/betacraft.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/packages/betacraft.nix b/packages/betacraft.nix new file mode 100644 index 0000000..1e2b080 --- /dev/null +++ b/packages/betacraft.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + jre8, + libxxf86vm, + libGL, + openal, + pulseaudio, + xrandr +}: +stdenv.mkDerivation rec { + pname = "betacraft"; + version = "1.09_17"; + + launcherjar = fetchurl { + url = "https://github.com/betacraftuk/betacraft-launcher/releases/download/${version}/launcher-${version}.jar"; + hash = "sha256-CMemX7mrCa5d9kQJN1/ryeBnJ/s6yz3aHq9ym4WWWOM"; + }; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + + runtimeLibs = lib.makeLibraryPath ([ + libxxf86vm + libGL + openal + ]); + + runtimeBins = lib.makeBinPath ([ + xrandr + ]); + + desktopItems = [ + (makeDesktopItem { + name = "betacraft"; + desktopName = "Betacraft Launcher"; + exec = "betacraft"; + categories = [ "Game" ]; + }) + ]; + + phases = [ "installPhase" "preFixup" ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/betacraft $out/bin + cp -r ${launcherjar} $out/share/betacraft/launcher-${version}.jar + runHook postInstall + ''; + preFixup = '' + makeWrapper ${pulseaudio}/bin/padsp $out/bin/betacraft \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --prefix PATH : "${runtimeBins}" \ + --set DISPLAY ":0" \ + --add-flags ${jre8}/lib/openjdk/jre/bin/java \ + --add-flags -jar \ + --add-flags $out/share/betacraft/launcher-${version}.jar + ''; +} |
