nixpkgs/pkgs/games/atlauncher/default.nix
2023-06-17 23:23:00 +04:00

57 lines
1.8 KiB
Nix

{ copyDesktopItems, fetchurl, jre, lib, makeDesktopItem, makeWrapper, stdenv, steam-run, withSteamRun ? true, writeShellScript }:
stdenv.mkDerivation (finalAttrs: {
pname = "atlauncher";
version = "3.4.28.1";
src = fetchurl {
url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar";
hash = "sha256-IIwDMazxUMQ7nGQk/4VEZicgCmCR4oR8UYtO36pCEq4=";
};
dontUnpack = true;
buildInputs = [ ];
nativeBuildInputs = [ copyDesktopItems makeWrapper ];
installPhase =
let
# hack to use steam-run along with the exec
steamrun = writeShellScript "steamrun" ''
shift
exec ${steam-run}/bin/steam-run "''$@"
'';
in
''
runHook preInstall
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/atlauncher \
--add-flags "-jar $src --working-dir=\$HOME/.atlauncher" \
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" ${
lib.strings.optionalString withSteamRun ''--run "${steamrun} \\"''
}
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = finalAttrs.pname;
exec = finalAttrs.pname;
icon = fetchurl {
url = "https://avatars.githubusercontent.com/u/7068667";
hash = "sha256-YmEkxf4rZxN3jhiib0UtdUDDcn9lw7IMbiEucBL7b9o=";
};
desktopName = "ATLauncher";
categories = [ "Game" ];
})
];
meta = with lib; {
description = "A simple and easy to use Minecraft launcher which contains many different modpacks for you to choose from and play";
downloadPage = "https://atlauncher.com/downloads";
homepage = "https://atlauncher.com/";
license = licenses.gpl3;
maintainers = [ maintainers.getpsyched ];
platforms = platforms.all;
};
})