nixpkgs-suyu/pkgs/games/doom-ports/doomrunner/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
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.
2024-03-19 03:14:51 +01:00

61 lines
1.7 KiB
Nix

{ lib
, stdenv
, qtbase
, qmake
, makeDesktopItem
, wrapQtAppsHook
, imagemagick
, fetchFromGitHub
}:
stdenv.mkDerivation (finalAttrs: {
pname = "doomrunner";
version = "1.8.1";
src = fetchFromGitHub {
owner = "Youda008";
repo = "DoomRunner";
rev = "v${finalAttrs.version}";
hash = "sha256-mUtUXDcQXs5zTh9Msb3dXFicIsfbZpE9M8OPqtajDhw=";
};
buildInputs = [ qtbase ];
nativeBuildInputs = [ qmake wrapQtAppsHook imagemagick ];
makeFlags = [
"INSTALL_ROOT=${placeholder "out"}"
];
postInstall = ''
mkdir -p $out/{bin,share/applications}
install -Dm755 $out/usr/bin/DoomRunner $out/bin/DoomRunner
for size in 16 24 32 48 64 128; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -background none -resize "$size"x"$size" $PWD/Resources/DoomRunner.ico -flatten $out/share/icons/hicolor/"$size"x"$size"/apps/DoomRunner.png
done;
install -m 444 -D "$desktopItem/share/applications/"* -t $out/share/applications/
rm -rf $out/usr
'';
desktopItem = makeDesktopItem {
name = "DoomRunner";
desktopName = "DoomRunner";
comment = "Preset-oriented graphical launcher of ZDoom and derivatives";
categories = [ "Game" ];
icon = "DoomRunner";
type = "Application";
exec = "DoomRunner";
};
meta = with lib; {
description = "Graphical launcher of ZDoom and derivatives";
mainProgram = "DoomRunner";
homepage = "https://github.com/Youda008/DoomRunner/";
changelog = "https://github.com/Youda008/DoomRunner/blob/${finalAttrs.src.rev}/changelog.txt";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ keenanweaver ];
};
})