ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
56 lines
1.7 KiB
Nix
56 lines
1.7 KiB
Nix
{ lib, stdenv, fetchurl, cmake, SDL, makeDesktopItem, copyDesktopItems
|
|
, imagemagick }:
|
|
|
|
let
|
|
|
|
icon = fetchurl {
|
|
url = "https://baller.tuxfamily.org/king.png";
|
|
sha256 = "1xq2h87s648wjpjl72ds3xnnk2jp8ghbkhjzh2g4hpkq2zdz90hy";
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
pname = "ballerburg";
|
|
version = "1.2.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://download.tuxfamily.org/baller/ballerburg-${version}.tar.gz";
|
|
sha256 = "sha256-BiX0shPBGA8sshee8rxs41x+mdsrJzBqhpDDic6sYwA=";
|
|
};
|
|
|
|
nativeBuildInputs = [ cmake copyDesktopItems imagemagick ];
|
|
|
|
buildInputs = [ SDL ];
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
name = "Ballerburg";
|
|
desktopName = "Ballerburg SDL";
|
|
exec = "_NET_WM_ICON=ballerburg ballerburg";
|
|
comment = meta.description;
|
|
icon = "ballerburg";
|
|
categories = [ "Game" ];
|
|
})
|
|
];
|
|
|
|
postInstall = ''
|
|
# Generate and install icon files
|
|
for size in 16 32 48 64 72 96 128 192 512 1024; do
|
|
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
|
convert ${icon} -sample "$size"x"$size" \
|
|
-background white -gravity south -extent "$size"x"$size" \
|
|
$out/share/icons/hicolor/"$size"x"$size"/apps/ballerburg.png
|
|
done
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Classic cannon combat game";
|
|
mainProgram = "ballerburg";
|
|
longDescription = ''
|
|
Two castles, separated by a mountain, try to defeat each other with their cannonballs,
|
|
either by killing the opponent's king or by weakening the opponent enough so that the king capitulates.'';
|
|
homepage = "https://baller.tuxfamily.org/";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = [ maintainers.j0hax ];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|