Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 gobject-introspection, 6 setuptools, 7 networkmanager, 8 proton-vpn-killswitch, 9 proton-vpn-logger, 10 pycairo, 11 pygobject3, 12 pytestCheckHook, 13}: 14 15buildPythonPackage rec { 16 pname = "proton-vpn-killswitch-network-manager"; 17 version = "0.4.3"; 18 pyproject = true; 19 20 src = fetchFromGitHub { 21 owner = "ProtonVPN"; 22 repo = "python-proton-vpn-killswitch-network-manager"; 23 rev = "refs/tags/v${version}"; 24 hash = "sha256-kN41b6OZ2YXoBsmNZD3NrX4uJChSmm6DVP+5LYwiZMw="; 25 }; 26 27 nativeBuildInputs = [ 28 # Solves ImportError: cannot import name NM, introspection typelib not found 29 gobject-introspection 30 setuptools 31 ]; 32 33 propagatedBuildInputs = [ 34 # Needed here for the NM namespace 35 networkmanager 36 proton-vpn-killswitch 37 proton-vpn-logger 38 pycairo 39 pygobject3 40 ]; 41 42 postPatch = '' 43 substituteInPlace setup.cfg \ 44 --replace "--cov=proton.vpn.killswitch.backend.linux.networkmanager --cov-report=html --cov-report=term" "" 45 ''; 46 47 pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.networkmanager" ]; 48 49 nativeCheckInputs = [ pytestCheckHook ]; 50 51 meta = with lib; { 52 description = "Implementation of the proton-vpn-killswitch interface using Network Manager"; 53 homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch-network-manager"; 54 license = licenses.gpl3Only; 55 maintainers = [ ]; 56 }; 57}