Files
nixpkgs/pkgs/by-name/ca/cartridges/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

93 lines
2.1 KiB
Nix

{
lib,
appstream,
blueprint-compiler,
desktop-file-utils,
fetchFromGitHub,
glib,
glib-networking,
gobject-introspection,
gtk4,
libadwaita,
meson,
ninja,
nix-update-script,
pkg-config,
python3Packages,
wrapGAppsHook4,
}:
python3Packages.buildPythonApplication rec {
pname = "cartridges";
version = "2.12.1";
pyproject = false;
src = fetchFromGitHub {
owner = "kra-mo";
repo = "cartridges";
tag = "v${version}";
hash = "sha256-pGEh9ugDWjaAjVL8mFUVqU+WFwcpRcstc11ikDxhihI=";
};
strictDeps = true;
nativeBuildInputs = [
appstream
blueprint-compiler
desktop-file-utils # for `desktop-file-validate`
glib # for `glib-compile-schemas`
gtk4 # for `gtk-update-icon-cache`
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook4
];
buildInputs = [
glib-networking
libadwaita
];
dependencies = with python3Packages; [
pillow
pygobject3
pyyaml
requests
];
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
postFixup = ''
wrapPythonProgramsIn $out/libexec $out $pythonPath
'';
# NOTE: `postCheck` is intentionally not used here, as the entire checkPhase
# is skipped by `buildPythonApplication`
# https://github.com/NixOS/nixpkgs/blob/9d4343b7b27a3e6f08fc22ead568233ff24bbbde/pkgs/development/interpreters/python/mk-python-derivation.nix#L296
postInstallCheck = ''
mesonCheckPhase
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "GTK4 + Libadwaita game launcher";
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/Cartridges/";
changelog = "https://github.com/kra-mo/cartridges/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
teams = [ lib.teams.gnome-circle ];
mainProgram = "cartridges";
platforms = lib.platforms.linux;
};
}