ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / protonvpn-nm-lib / default.nix
blobd3868d556ebec95ef71601415947cb637c16e3f7
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
5 , substituteAll
6 , dbus-python
7 , distro
8 , jinja2
9 , keyring
10 , proton-client
11 , pygobject3
12 , pyxdg
13 , systemd
14 , ncurses
15 , networkmanager
16 , pkgs-systemd
17 , python
18 , xdg-utils
19 , makeWrapper
22 buildPythonPackage rec {
23   pname = "protonvpn-nm-lib";
24   version = "3.13.0";
25   disabled = pythonOlder "3.7";
27   src = fetchFromGitHub {
28     owner = "ProtonVPN";
29     repo = pname;
30     rev = "refs/tags/${version}";
31     sha256 = "sha256-i6Y+ardptWCVO2SzzluAOQp6MDO6Xzm0NneiqzkhHrw=";
32   };
34   propagatedBuildInputs = [
35     dbus-python
36     distro
37     jinja2
38     keyring
39     proton-client
40     pygobject3
41     pyxdg
42     systemd
43     ncurses
44     networkmanager
45     pkgs-systemd
46     xdg-utils
47   ];
49   patches = [
50     (substituteAll {
51       src = ./0001-Patching-GIRepository.patch;
52       networkmanager_path = "${networkmanager}/lib/girepository-1.0";
53     })
54   ];
56   postPatch = ''
57     substituteInPlace protonvpn_nm_lib/core/dbus/dbus_reconnect.py \
58       --replace "exec_start = python_interpreter_path + \" \" + python_service_path" "exec_start = \"$out/bin/protonvpn_reconnector.py\""
59   '';
61   postInstall = ''
62     makeWrapper ${python.interpreter} $out/bin/protonvpn_reconnector.py \
63       --add-flags $out/${python.sitePackages}/protonvpn_nm_lib/daemon/dbus_daemon_reconnector.py \
64       --prefix PYTHONPATH : "$PYTHONPATH"
65   '';
67   # Checks cannot be run in the sandbox
68   # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
69   doCheck = false;
71   pythonImportsCheck = [ "protonvpn_nm_lib" ];
73   meta = with lib; {
74     description = "ProtonVPN NetworkManager Library intended for every ProtonVPN service user";
75     homepage = "https://github.com/ProtonVPN/protonvpn-nm-lib";
76     license = licenses.gpl3Only;
77     maintainers = with maintainers; [ wolfangaukang ];
78     platforms = platforms.linux;
79   };