1{
2 lib,
3 buildPythonApplication,
4 fetchPypi,
5 setuptools,
6 setuptools-scm,
7 wheel,
8 pillow,
9 psutil,
10 async-tkinter-loop,
11 timeago,
12 platformdirs,
13 sv-ttk,
14}:
15
16buildPythonApplication rec {
17 pname = "steamback";
18 version = "0.3.6";
19 format = "pyproject";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-hvMPSxIfwwQqo80JCpYhcbVY4kXs5jWtjjafVSMrw6o=";
24 };
25
26 build-system = [
27 setuptools-scm
28 wheel
29 ];
30
31 buildInputs = [
32 setuptools
33 pillow
34 ];
35
36 dependencies = [
37 psutil
38 async-tkinter-loop
39 timeago
40 platformdirs
41 sv-ttk
42 ];
43
44 pythonRelaxDeps = [
45 "async-tkinter-loop"
46 "platformdirs"
47 "Pillow"
48 "psutil"
49 ];
50
51 checkPhase = ''
52 runHook preCheck
53
54 $out/bin/steamback --help
55
56 runHook postCheck
57 '';
58
59 pythonImportsCheck = [
60 "steamback"
61 "steamback.gui"
62 "steamback.test"
63 "steamback.util"
64 ];
65
66 meta = {
67 description = "Decky plugin to add versioned save-game snapshots to Steam-cloud enabled games";
68 mainProgram = "steamback";
69 homepage = "https://github.com/geeksville/steamback";
70 license = lib.licenses.gpl3;
71 maintainers = with lib.maintainers; [ AngryAnt ];
72 };
73}