76 lines
1.6 KiB
Nix
76 lines
1.6 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, setuptools
|
|
, aiohttp
|
|
, bcrypt
|
|
, pyopenssl
|
|
, python-gnupg
|
|
, requests
|
|
, pytestCheckHook
|
|
}:
|
|
|
|
buildPythonPackage {
|
|
pname = "proton-core";
|
|
version = "0.1.15-unstable-2023-10-24";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ProtonVPN";
|
|
repo = "python-proton-core";
|
|
rev = "5e795e04094dff67c03c56f2f3de03ff43514cc4";
|
|
hash = "sha256-hchwrolc65tVmSe2IzxwH2zDU2JZzXrCMzWaETWcMDI=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
setuptools
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
bcrypt
|
|
aiohttp
|
|
pyopenssl
|
|
python-gnupg
|
|
requests
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace setup.cfg \
|
|
--replace "--cov=proton --cov-report html --cov-report term" ""
|
|
'';
|
|
|
|
pythonImportsCheck = [ "proton" ];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
# Single test, requires internet connection
|
|
"tests/test_alternativerouting.py"
|
|
];
|
|
|
|
disabledTests = [
|
|
# Invalid modulus
|
|
"test_modulus_verification"
|
|
# Permission denied: '/run'
|
|
"test_broken_data"
|
|
"test_broken_index"
|
|
"test_sessions"
|
|
# No working transports found
|
|
"test_auto_works_on_prod"
|
|
"test_ping"
|
|
"test_successful"
|
|
"test_without_pinning"
|
|
# Failed assertions
|
|
"test_bad_pinning_fingerprint_changed"
|
|
"test_bad_pinning_url_changed"
|
|
];
|
|
|
|
meta = {
|
|
description = "Core logic used by the other Proton components";
|
|
homepage = "https://github.com/ProtonVPN/python-proton-core";
|
|
license = lib.licenses.gpl3Only;
|
|
maintainers = with lib.maintainers; [ wolfangaukang ];
|
|
};
|
|
}
|