16 writeShellApplication,
24 name = "BombSquad_Linux_x86_64";
25 hash = "sha256-ICjaNZSCUbslB5pELbI4e+1zXWrZzkCkv69jLRx4dr0=";
28 name = "BombSquad_Linux_Arm64";
29 hash = "sha256-/m0SOQbHssk0CqZJPRLK9YKphup3dtMqkbWGzqcF0+g=";
32 .${stdenv.targetPlatform.system} or (throw "${stdenv.targetPlatform.system} is unsupported.");
34 bombsquadIcon = fetchurl {
35 url = "https://files.ballistica.net/bombsquad/promo/BombSquadIcon.png";
36 hash = "sha256-MfOvjVmjhLejrJmdLo/goAM9DTGubnYGhlN6uF2GugA=";
40 stdenv.mkDerivation (finalAttrs: {
45 url = "https://web.archive.org/web/20240825230506if_/https://files.ballistica.net/bombsquad/builds/${archive.name}_${finalAttrs.version}.tar.gz";
46 inherit (archive) hash;
49 sourceRoot = "${archive.name}_${finalAttrs.version}";
68 genericName = "bombsquad";
69 desktopName = "BombSquad";
73 comment = "An explosive arcade-style party game.";
74 categories = [ "Game" ];
81 mkdir -p $out/bin $out/libexec $out/share/bombsquad/ba_data
83 install -Dm555 -t $out/libexec ${finalAttrs.meta.mainProgram}
84 cp -r ba_data $out/share/bombsquad
86 makeWrapper "$out/libexec/${finalAttrs.meta.mainProgram}" "$out/bin/${finalAttrs.meta.mainProgram}" \
87 --add-flags ${lib.escapeShellArg commandLineArgs} \
88 --add-flags "-d $out/share/bombsquad"
90 install -Dm755 ${bombsquadIcon} $out/share/icons/hicolor/1024x1024/apps/bombsquad.png
95 passthru.updateScript = genericUpdater {
96 versionLister = lib.getExe (writeShellApplication {
97 name = "bombsquad-versionLister";
103 curl -sL "https://files.ballistica.net/bombsquad/builds/CHANGELOG.md" \
104 | grep -oP '^### \K\d+\.\d+\.\d+' \
111 description = "Free, multiplayer, arcade-style game for up to eight players that combines elements of fighting games and first-person shooters (FPS)";
112 homepage = "https://ballistica.net";
113 changelog = "https://ballistica.net/downloads?display=changelog";
114 license = with lib.licenses; [
118 maintainers = with lib.maintainers; [
122 mainProgram = "bombsquad";
123 platforms = lib.platforms.linux;