biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / networking / protonvpn-gui / default.nix
blob2930ef450ea2527a70ec2e608eb0fb70158c9244
1 { lib
2 , buildPythonApplication
3 , fetchFromGitHub
4 , gobject-introspection
5 , setuptools
6 , wrapGAppsHook
7 , dbus-python
8 , packaging
9 , proton-core
10 , proton-keyring-linux
11 , proton-keyring-linux-secretservice
12 , proton-vpn-api-core
13 , proton-vpn-connection
14 , proton-vpn-killswitch
15 , proton-vpn-killswitch-network-manager
16 , proton-vpn-logger
17 , proton-vpn-network-manager
18 , proton-vpn-network-manager-openvpn
19 , proton-vpn-session
20 , pycairo
21 , pygobject3
22 , pytestCheckHook
23 , withIndicator ? true
24 , libappindicator-gtk3
25 , libayatana-appindicator
28 buildPythonApplication rec {
29   pname = "protonvpn-gui";
30   version = "4.3.0";
31   pyproject = true;
33   src = fetchFromGitHub {
34     owner = "ProtonVPN";
35     repo = "proton-vpn-gtk-app";
36     rev = "refs/tags/v${version}";
37     hash = "sha256-H4m4u9zksab47W5aIsQZPQTPEYiXbmrVCnT67b+A5Tc=";
38   };
40   nativeBuildInputs = [
41     # Needed for the NM namespace
42     gobject-introspection
43     setuptools
44     wrapGAppsHook
45   ];
47   buildInputs = lib.optionals withIndicator [
48     # Adds AppIndicator3 namespace
49     libappindicator-gtk3
50     # Adds AyatanaAppIndicator3 namespace
51     libayatana-appindicator
52   ];
54   propagatedBuildInputs = [
55     dbus-python
56     packaging
57     proton-core
58     proton-keyring-linux
59     proton-keyring-linux-secretservice
60     proton-vpn-api-core
61     proton-vpn-connection
62     proton-vpn-killswitch
63     proton-vpn-killswitch-network-manager
64     proton-vpn-logger
65     proton-vpn-network-manager
66     proton-vpn-network-manager-openvpn
67     proton-vpn-session
68     pycairo
69     pygobject3
70   ];
72   postPatch = ''
73     substituteInPlace setup.cfg \
74       --replace-fail "--cov=proton --cov-report=html --cov-report=term" ""
75   '';
77   postInstall = ''
78     mkdir -p $out/share/{applications,pixmaps}
79     install -Dm 644 ${src}/rpmbuild/SOURCES/protonvpn-app.desktop $out/share/applications
80     install -Dm 644 ${src}/rpmbuild/SOURCES/proton-vpn-logo.svg $out/share/pixmaps
81   '';
83   nativeCheckInputs = [
84     pytestCheckHook
85   ];
87   preCheck = ''
88     # Needed for Permission denied: '/homeless-shelter'
89     export HOME=$(mktemp -d)
90   '';
92   # Gets a segmentation fault after the widgets test
93   doCheck = false;
95   meta = with lib; {
96     description = "Proton VPN GTK app for Linux";
97     homepage = "https://github.com/ProtonVPN/proton-vpn-gtk-app";
98     license = licenses.gpl3Plus;
99     platforms = platforms.linux;
100     mainProgram = "protonvpn-app";
101     maintainers = with maintainers; [ wolfangaukang ];
102   };