mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 02:15:21 +09:00
93 lines
2 KiB
Nix
93 lines
2 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
cryptography,
|
|
setuptools,
|
|
jinja2,
|
|
proton-core,
|
|
pynacl,
|
|
aiohttp,
|
|
pyopenssl,
|
|
pytest-asyncio,
|
|
requests,
|
|
sentry-sdk,
|
|
pyxdg,
|
|
distro,
|
|
pytestCheckHook,
|
|
pytest-cov-stub,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "proton-vpn-api-core";
|
|
version = "0.42.4";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ProtonVPN";
|
|
repo = "python-proton-vpn-api-core";
|
|
rev = "v${version}";
|
|
hash = "sha256-WzyxBeIiOXDxyv0/guPWO16pN41ZVXnxd6iiiZ+bLR4=";
|
|
};
|
|
|
|
build-system = [
|
|
setuptools
|
|
];
|
|
|
|
dependencies = [
|
|
cryptography
|
|
distro
|
|
jinja2
|
|
pynacl
|
|
proton-core
|
|
sentry-sdk
|
|
pyxdg
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"proton.vpn.core"
|
|
"proton.vpn.connection"
|
|
"proton.vpn.killswitch.interface"
|
|
"proton.vpn.logging"
|
|
"proton.vpn.session"
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
aiohttp
|
|
pyopenssl
|
|
pytest-asyncio
|
|
requests
|
|
pytestCheckHook
|
|
pytest-cov-stub
|
|
];
|
|
|
|
# Needed for `pythonImportsCheck`, `preCheck` happens between `pythonImportsCheckPhase` and `pytestCheckPhase`.
|
|
postInstall = ''
|
|
# Needed for Permission denied: '/homeless-shelter'
|
|
export HOME=$(mktemp -d)
|
|
export XDG_RUNTIME_DIR=$(mktemp -d)
|
|
'';
|
|
|
|
disabledTests = [
|
|
# Permission denied: '/run'
|
|
"test_ensure_configuration_file_is_created"
|
|
"test_ovpnconfig_with_certificate"
|
|
"test_ovpnconfig_with_settings"
|
|
"test_wireguard_config_content_generation"
|
|
"test_wireguard_with_non_certificate"
|
|
"test_ensure_generate_is_returning_expected_content"
|
|
"test_ensure_same_configuration_file_in_case_of_duplicate"
|
|
"test_ensure_configuration_file_is_deleted"
|
|
];
|
|
|
|
meta = {
|
|
description = "Acts as a facade to the other Proton VPN components, exposing a uniform API to the available Proton VPN services";
|
|
homepage = "https://github.com/ProtonVPN/python-proton-vpn-api-core";
|
|
license = lib.licenses.gpl3Only;
|
|
platforms = lib.platforms.linux;
|
|
maintainers = with lib.maintainers; [
|
|
sebtm
|
|
rapiteanu
|
|
];
|
|
};
|
|
}
|