biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / misc / cartridges / default.nix
blob008004aa3c8ea2afc97435c71c3155e454e622f9
1 { blueprint-compiler
2 , desktop-file-utils
3 , fetchFromGitHub
4 , gobject-introspection
5 , lib
6 , libadwaita
7 , meson
8 , ninja
9 , python3Packages
10 , stdenv
11 , wrapGAppsHook4
12 , nix-update-script
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "cartridges";
16   version = "2.7.4";
18   src = fetchFromGitHub {
19     owner = "kra-mo";
20     repo = "cartridges";
21     rev = "v${finalAttrs.version}";
22     hash = "sha256-AfO+vLJSWdaMqqbzRZWrY94nu/9BM7mqdad9rkiq1pg=";
23   };
25   pythonPath = with python3Packages; [
26     pillow
27     pygobject3
28     pyyaml
29     requests
30   ];
32   # TODO: remove this when #286814 hits master
33   mesonFlags = [ "-Dtiff_compression=jpeg" ];
35   buildInputs = [
36     libadwaita
37     (python3Packages.python.withPackages (_: finalAttrs.pythonPath))
38   ];
40   nativeBuildInputs = [
41     blueprint-compiler
42     desktop-file-utils
43     gobject-introspection
44     meson
45     ninja
46     python3Packages.wrapPython
47     wrapGAppsHook4
48   ];
50   dontWrapGApps = true;
52   postFixup = ''
53     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
54     wrapPythonPrograms "$out/bin" "$out" "$pythonPath"
55   '';
57   passthru = {
58     updateScript = nix-update-script { };
59   };
61   meta = with lib; {
62     description = "A GTK4 + Libadwaita game launcher";
63     mainProgram = "cartridges";
64     longDescription = ''
65       A simple game launcher for all of your games.
66       It has support for importing games from Steam, Lutris, Heroic
67       and more with no login necessary.
68       You can sort and hide games or download cover art from SteamGridDB.
69     '';
70     homepage = "https://apps.gnome.org/app/hu.kramo.Cartridges/";
71     license = licenses.gpl3Plus;
72     maintainers = [ maintainers.getchoo ];
73     platforms = platforms.linux;
74   };