diff options
author | Syed Ahkam <smahkam57@gmail.com> | 2024-05-15 22:03:22 +0530 |
---|---|---|
committer | Syed Ahkam <smahkam57@gmail.com> | 2024-05-15 22:03:22 +0530 |
commit | 022ab91f56c94591699e747c58207c6f2bddf211 (patch) | |
tree | ac33c1132ee993c6b5a24a7dbe0f10e2d27a9498 /pkgs/by-name | |
parent | 59478e811929a66e797def84ec0680ba343889db (diff) |
bombsquad: init at 1.7.34
Diffstat (limited to 'pkgs/by-name')
-rw-r--r-- | pkgs/by-name/bo/bombsquad/package.nix | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/pkgs/by-name/bo/bombsquad/package.nix b/pkgs/by-name/bo/bombsquad/package.nix new file mode 100644 index 0000000000000..5fee9d25a6c83 --- /dev/null +++ b/pkgs/by-name/bo/bombsquad/package.nix @@ -0,0 +1,114 @@ +{ + lib, + stdenv, + targetPlatform, + fetchurl, + python312, + SDL2, + libvorbis, + openal, + curl, + gnugrep, + libgcc, + makeWrapper, + makeDesktopItem, + autoPatchelfHook, + copyDesktopItems, + writeShellApplication, + commandLineArgs ? "", +}: +let + archive = + { + x86_64-linux = { + name = "BombSquad_Linux_x86_64"; + hash = "sha256-VLNO0TxI/KBj8RkpGjo9Rx40f7fuV3pK2kIoKff9sRU="; + }; + aarch-64-linux = { + name = "BombSquad_Linux_Arm64"; + hash = "sha256-w42qhioZ9JRm004WEKzsJ3G1u09tLuPvTy8qV3DuglI="; + }; + } + .${targetPlatform.system} or (throw "${targetPlatform.system} is unsupported."); +in +stdenv.mkDerivation (finalAttrs: { + name = "bombsquad"; + version = "1.7.34"; + sourceRoot = "."; + src = fetchurl { + url = "https://files.ballistica.net/bombsquad/builds/${archive.name}_${finalAttrs.version}.tar.gz"; + inherit (archive) hash; + }; + + bombsquadIcon = fetchurl { + url = "https://files.ballistica.net/bombsquad/promo/BombSquadIcon.png"; + hash = "sha256-MfOvjVmjhLejrJmdLo/goAM9DTGubnYGhlN6uF2GugA="; + }; + + nativeBuildInputs = [ + python312 + SDL2 + libvorbis + openal + libgcc + makeWrapper + autoPatchelfHook + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "bombsquad"; + genericName = "bombsquad"; + desktopName = "BombSquad"; + icon = "bombsquad"; + exec = "bombsquad"; + comment = "An explosive arcade-style party game."; + categories = [ "Game" ]; + }) + ]; + + installPhase = '' + runHook preInstall + + base=${archive.name}_${finalAttrs.version} + + install -m755 -D $base/bombsquad $out/bin/bombsquad + install -dm755 $base/ba_data $out/usr/share/bombsquad/ba_data + cp -r $base/ba_data $out/usr/share/bombsquad/ + + wrapProgram "$out/bin/bombsquad" \ + --add-flags ${lib.escapeShellArg commandLineArgs} \ + --add-flags "-d $out/usr/share/bombsquad" + + install -Dm755 ${finalAttrs.bombsquadIcon} $out/usr/share/icons/hicolor/32x32/apps/bombsquad.png + + runHook postInstall + ''; + + passthru.updateScript = lib.getExe (writeShellApplication { + name = "bombsquad-versionLister"; + runtimeInputs = [ + curl + gnugrep + ]; + text = '' + curl -sL "https://files.ballistica.net/bombsquad/builds/CHANGELOG.md" \ + | grep -oP '^### \K\d+\.\d+\.\d+' \ + | head -n 1 + ''; + }); + + meta = { + description = "A free, multiplayer, arcade-style game for up to eight players that combines elements of fighting games and first-person shooters (FPS)"; + homepage = "https://ballistica.net"; + changelog = "https://ballistica.net/downloads?display=changelog"; + license = with lib.licenses; [ + mit + unfree + ]; + maintainers = with lib.maintainers; [ syedahkam ]; + mainProgram = "bombsquad"; + platforms = lib.platforms.linux; + }; +}) |