1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 flit-core,
6 pytestCheckHook,
7 pythonOlder,
8 borgbackup,
9 appdirs,
10 arrow,
11 docopt,
12 inform,
13 nestedtext,
14 parametrize-from-file,
15 quantiphy,
16 requests,
17 shlib,
18 voluptuous,
19}:
20
21buildPythonPackage rec {
22 pname = "emborg";
23 version = "1.42";
24 format = "pyproject";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchFromGitHub {
29 owner = "KenKundert";
30 repo = "emborg";
31 tag = "v${version}";
32 hash = "sha256-/xinm/Jz4JVmm0jioLAhkbBueZCM0ehgt4gsgE7hX6I=";
33 };
34
35 nativeBuildInputs = [ flit-core ];
36
37 propagatedBuildInputs = [
38 appdirs
39 arrow
40 docopt
41 inform
42 quantiphy
43 requests
44 ];
45
46 nativeCheckInputs = [
47 nestedtext
48 parametrize-from-file
49 pytestCheckHook
50 shlib
51 voluptuous
52 borgbackup
53 ];
54
55 # this disables testing fuse mounts
56 MISSING_DEPENDENCIES = "fuse";
57
58 postPatch = ''
59 patchShebangs .
60 '';
61
62 pythonImportsCheck = [ "emborg" ];
63
64 meta = with lib; {
65 description = "Interactive command line interface to Borg Backup";
66 homepage = "https://github.com/KenKundert/emborg";
67 changelog = "https://github.com/KenKundert/emborg/releases/tag/${src.tag}";
68 license = licenses.gpl3Plus;
69 maintainers = with maintainers; [ jpetrucciani ];
70 };
71}