17 writeShellApplication,
25 name = "BombSquad_Linux_x86_64";
26 hash = "sha256-jrExsqaM6uhnKMGPkJJTsKt2Imek+YDI2soSP/kfPj0=";
29 name = "BombSquad_Linux_Arm64";
30 hash = "sha256-o1Yg0C5k07NZzc9jQrHXR+kkQl8HZ55U9/fqcpe3Iyw=";
33 .${targetPlatform.system} or (throw "${targetPlatform.system} is unsupported.");
35 stdenv.mkDerivation (finalAttrs: {
40 url = "https://files.ballistica.net/bombsquad/builds/${archive.name}_${finalAttrs.version}.tar.gz";
41 inherit (archive) hash;
44 bombsquadIcon = fetchurl {
45 url = "https://files.ballistica.net/bombsquad/promo/BombSquadIcon.png";
46 hash = "sha256-MfOvjVmjhLejrJmdLo/goAM9DTGubnYGhlN6uF2GugA=";
63 genericName = "bombsquad";
64 desktopName = "BombSquad";
67 comment = "An explosive arcade-style party game.";
68 categories = [ "Game" ];
75 base=${archive.name}_${finalAttrs.version}
77 install -m755 -D $base/bombsquad $out/bin/bombsquad
78 install -dm755 $base/ba_data $out/usr/share/bombsquad/ba_data
79 cp -r $base/ba_data $out/usr/share/bombsquad/
81 wrapProgram "$out/bin/bombsquad" \
82 --add-flags ${lib.escapeShellArg commandLineArgs} \
83 --add-flags "-d $out/usr/share/bombsquad"
85 install -Dm755 ${finalAttrs.bombsquadIcon} $out/usr/share/icons/hicolor/32x32/apps/bombsquad.png
90 passthru.updateScript = genericUpdater {
91 versionLister = lib.getExe (writeShellApplication {
92 name = "bombsquad-versionLister";
98 curl -sL "https://files.ballistica.net/bombsquad/builds/CHANGELOG.md" \
99 | grep -oP '^### \K\d+\.\d+\.\d+' \
106 description = "Free, multiplayer, arcade-style game for up to eight players that combines elements of fighting games and first-person shooters (FPS)";
107 homepage = "https://ballistica.net";
108 changelog = "https://ballistica.net/downloads?display=changelog";
109 license = with lib.licenses; [
113 maintainers = with lib.maintainers; [
117 mainProgram = "bombsquad";
118 platforms = lib.platforms.linux;