nixpkgs-suyu/pkgs/applications/misc/cartridges/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

75 lines
1.7 KiB
Nix

{ blueprint-compiler
, desktop-file-utils
, fetchFromGitHub
, gobject-introspection
, lib
, libadwaita
, meson
, ninja
, python3Packages
, stdenv
, wrapGAppsHook4
, nix-update-script
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cartridges";
version = "2.7.4";
src = fetchFromGitHub {
owner = "kra-mo";
repo = "cartridges";
rev = "v${finalAttrs.version}";
hash = "sha256-AfO+vLJSWdaMqqbzRZWrY94nu/9BM7mqdad9rkiq1pg=";
};
pythonPath = with python3Packages; [
pillow
pygobject3
pyyaml
requests
];
# TODO: remove this when #286814 hits master
mesonFlags = [ "-Dtiff_compression=jpeg" ];
buildInputs = [
libadwaita
(python3Packages.python.withPackages (_: finalAttrs.pythonPath))
];
nativeBuildInputs = [
blueprint-compiler
desktop-file-utils
gobject-introspection
meson
ninja
python3Packages.wrapPython
wrapGAppsHook4
];
dontWrapGApps = true;
postFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
wrapPythonPrograms "$out/bin" "$out" "$pythonPath"
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "A GTK4 + Libadwaita game launcher";
mainProgram = "cartridges";
longDescription = ''
A simple game launcher for all of your games.
It has support for importing games from Steam, Lutris, Heroic
and more with no login necessary.
You can sort and hide games or download cover art from SteamGridDB.
'';
homepage = "https://apps.gnome.org/app/hu.kramo.Cartridges/";
license = licenses.gpl3Plus;
maintainers = [ maintainers.getchoo ];
platforms = platforms.linux;
};
})