diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-10-14 12:01:00 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-14 12:01:00 +0000 |
commit | af075c4055d9410254614e75c45f454e78ea8e4b (patch) | |
tree | 27be22303f06ffcd67429442e50bbd1d1d6b0643 /pkgs/games | |
parent | a71ea1f9fd14cda8407a9b912022e35693e91bac (diff) | |
parent | 94785f216aee40803f8061ad7ed6edca3a7b2c2b (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/papermc/default.nix | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix index 2fa4545362daf..20861779185ce 100644 --- a/pkgs/games/papermc/default.nix +++ b/pkgs/games/papermc/default.nix @@ -1,40 +1,50 @@ -{ lib, stdenv, fetchurl, bash, jre }: - -stdenv.mkDerivation rec { +{ + lib, + stdenvNoCC, + fetchurl, + jre, + makeBinaryWrapper, +}: +stdenvNoCC.mkDerivation (finalAttrs: { pname = "papermc"; - version = "1.20.1.83"; - - jar = let - mcVersion = lib.versions.pad 3 version; - buildNum = builtins.elemAt (lib.versions.splitVersion version) 3; - in fetchurl { - url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar"; - sha256 = "sha256-HQpc3MOXa1wkXqgm9ciQj04FUIyuupnYiu+2RZ/sXE4="; - }; + version = "1.20.2.234"; - preferLocalBuild = true; + src = + let + mcVersion = lib.versions.pad 3 finalAttrs.version; + buildNum = builtins.elemAt (lib.splitVersion finalAttrs.version) 3; + in + fetchurl { + url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar"; + hash = "sha256-fR7Dq09iFGVXodQjrS7Hg4NcrKPJbNg0hexU520JC6c="; + }; - dontUnpack = true; - dontConfigure = true; + installPhase = '' + runHook preInstall - buildPhase = '' - cat > minecraft-server << EOF - #!${bash}/bin/sh - exec ${jre}/bin/java \$@ -jar $out/share/papermc/papermc.jar nogui - ''; + install -D $src $out/share/papermc/papermc.jar - installPhase = '' - install -Dm444 ${jar} $out/share/papermc/papermc.jar - install -Dm555 -t $out/bin minecraft-server + makeWrapper ${lib.getExe jre} "$out/bin/minecraft-server" \ + --append-flags "-jar $out/share/papermc/papermc.jar nogui" + + runHook postInstall ''; + nativeBuildInputs = [ + makeBinaryWrapper + ]; + + dontUnpack = true; + preferLocalBuild = true; + allowSubstitutes = false; + meta = { description = "High-performance Minecraft Server"; - homepage = "https://papermc.io/"; + homepage = "https://papermc.io/"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; - license = lib.licenses.gpl3Only; - platforms = lib.platforms.unix; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ aaronjanse neonfuz ]; mainProgram = "minecraft-server"; }; -} +}) |