From f4176dac0954addbec901a6fbc6712477c4c2eeb Mon Sep 17 00:00:00 2001 From: "P." Date: Tue, 5 Dec 2023 14:41:42 -0600 Subject: [PATCH] python3Packages.proton-core: init at 0.1.15-unstable-2023-10-24 --- .../python-modules/proton-core/default.nix | 76 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 pkgs/development/python-modules/proton-core/default.nix diff --git a/pkgs/development/python-modules/proton-core/default.nix b/pkgs/development/python-modules/proton-core/default.nix new file mode 100644 index 000000000000..9623cb0544d9 --- /dev/null +++ b/pkgs/development/python-modules/proton-core/default.nix @@ -0,0 +1,76 @@ +{ 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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4c088f84d056..c9c46cc8284b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9721,6 +9721,8 @@ self: super: with self; { proton-client = callPackage ../development/python-modules/proton-client { }; + proton-core = callPackage ../development/python-modules/proton-core { }; + protonup-ng = callPackage ../development/python-modules/protonup-ng { }; protonvpn-nm-lib = callPackage ../development/python-modules/protonvpn-nm-lib {