1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 gobject-introspection,
6 setuptools,
7 proton-core,
8 proton-vpn-network-manager,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "proton-vpn-network-manager-openvpn";
14 version = "0.0.7";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "ProtonVPN";
19 repo = "python-proton-vpn-network-manager-openvpn";
20 rev = "refs/tags/v${version}";
21 hash = "sha256-AHG4jEEv1ihpboQwz6FmNtlqCE83qyOeGzBDHQcvD6o=";
22 };
23
24 nativeBuildInputs = [
25 # Solves Namespace NM not available
26 gobject-introspection
27 setuptools
28 ];
29
30 propagatedBuildInputs = [
31 proton-core
32 proton-vpn-network-manager
33 ];
34
35 postPatch = ''
36 substituteInPlace setup.cfg \
37 --replace "--cov=proton.vpn.backend.linux.networkmanager.protocol.openvpn --cov-report html --cov-report term" ""
38 '';
39
40 pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager.protocol" ];
41
42 nativeCheckInputs = [ pytestCheckHook ];
43
44 meta = with lib; {
45 description = "Adds support for the OpenVPN protocol using NetworkManager";
46 homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-openvpn";
47 license = licenses.gpl3Only;
48 maintainers = with maintainers; [ wolfangaukang ];
49 };
50}