protonvpn-gui: 4.4.4 -> 4.6.0 (#343204)

This commit is contained in:
Atemu 2024-10-21 18:03:35 +02:00 committed by GitHub
commit 26619c1a00
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 71 additions and 555 deletions

View File

@ -9,16 +9,9 @@
packaging,
proton-core,
proton-keyring-linux,
proton-keyring-linux-secretservice,
proton-vpn-api-core,
proton-vpn-connection,
proton-vpn-killswitch,
proton-vpn-killswitch-network-manager,
proton-vpn-logger,
proton-vpn-local-agent,
proton-vpn-network-manager,
proton-vpn-network-manager-openvpn,
proton-vpn-network-manager-wireguard,
proton-vpn-session,
pycairo,
pygobject3,
withIndicator ? true,
@ -28,14 +21,14 @@
buildPythonApplication rec {
pname = "protonvpn-gui";
version = "4.4.4";
version = "4.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
rev = "refs/tags/v${version}";
hash = "sha256-e581FgXrk1cfjsl/UaG9M+3VBYXcV0mggeLeEW9s9KM=";
hash = "sha256-GCfr6x0KbIJr2r4UcFtMjuyHZVyDLKPvgtjdpTCb5Ro=";
};
nativeBuildInputs = [
@ -60,16 +53,9 @@ buildPythonApplication rec {
packaging
proton-core
proton-keyring-linux
proton-keyring-linux-secretservice
proton-vpn-api-core
proton-vpn-connection
proton-vpn-killswitch
proton-vpn-killswitch-network-manager
proton-vpn-logger
proton-vpn-local-agent
proton-vpn-network-manager
proton-vpn-network-manager-openvpn
proton-vpn-network-manager-wireguard
proton-vpn-session
pycairo
pygobject3
];

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "proton-core";
version = "0.2.0";
version = "0.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-core";
rev = "refs/tags/v${version}";
hash = "sha256-IiKmtgcCSe2q3qaNuUSaC/D/vSQzVq7w8VN2Xq81+tQ=";
hash = "sha256-2Drlai/PYzi1z1CtDYfNhol2wamb/HNrvUhj0XsiyHg=";
};
build-system = [ setuptools ];

View File

@ -1,40 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
proton-keyring-linux,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-keyring-linux-secretservice";
version = "0.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-keyring-linux-secretservice";
rev = "refs/tags/v${version}";
hash = "sha256-IZPT2bL/1YD2TH/djwIQHUE1RRbYMTkQDacjjoqDQWo=";
};
build-system = [ setuptools ];
dependencies = [ proton-keyring-linux ];
pythonImportsCheck = [ "proton.keyring_linux" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "ProtonVPN component to access Linux's keyring secret service API";
homepage = "https://github.com/ProtonVPN/python-proton-keyring-linux-secretservice";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "proton-keyring-linux";
version = "0.0.2";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-keyring-linux";
rev = "refs/tags/v${version}";
hash = "sha256-c2wdbd8Hkz2hF9zYMy4/V/W6uZRItz7tWqLJqTsJoHU=";
hash = "sha256-feIgRC0U7d96gFcmHqRF3/8k/bsxlPJs1/K+ki7uXys=";
};
build-system = [ setuptools ];
@ -28,7 +28,10 @@ buildPythonPackage rec {
proton-core
];
pythonImportsCheck = [ "proton.keyring_linux.core" ];
pythonImportsCheck = [
"proton.keyring_linux.core"
"proton.keyring_linux"
];
nativeCheckInputs = [
pytestCheckHook

View File

@ -2,12 +2,15 @@
lib,
buildPythonPackage,
fetchFromGitHub,
cryptography,
setuptools,
jinja2,
proton-core,
proton-vpn-connection,
proton-vpn-logger,
proton-vpn-killswitch,
proton-vpn-session,
pynacl,
aiohttp,
pyopenssl,
pytest-asyncio,
requests,
sentry-sdk,
distro,
pytestCheckHook,
@ -16,36 +19,47 @@
buildPythonPackage rec {
pname = "proton-vpn-api-core";
version = "0.32.2";
version = "0.35.5";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-api-core";
rev = "v${version}";
hash = "sha256-n4TZkp2ZMSJ1w1wQUMsAhX8kmWu59udlsXXEhIM83mI=";
hash = "sha256-YdBsA8qKcWpR+L/I9rEFntR448kaxEjYuGDPS1ynsMU=";
};
build-system = [ setuptools ];
build-system = [
setuptools
];
dependencies = [
cryptography
distro
jinja2
pynacl
proton-core
proton-vpn-connection
proton-vpn-logger
proton-vpn-killswitch
proton-vpn-session
sentry-sdk
];
pythonImportsCheck = [ "proton.vpn.core" ];
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
];
preCheck = ''
postInstall = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';

View File

@ -1,67 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
proton-core,
proton-vpn-killswitch,
proton-vpn-logger,
jinja2,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-connection";
version = "0.14.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-connection";
rev = "refs/tags/v${version}";
hash = "sha256-Ze/te0G0tDzyZPGVVqvuJlZoHWJqJ36LnHO+Cy5nxx8=";
};
build-system = [ setuptools ];
dependencies = [
jinja2
proton-core
proton-vpn-killswitch
proton-vpn-logger
];
pythonImportsCheck = [ "proton.vpn.connection" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
disabledTests = [
# Permission denied: '/run'
"test_ensure_configuration_file_is_deleted"
"test_ensure_generate_is_returning_expected_content"
"test_ensure_same_configuration_file_in_case_of_duplicate"
"test_ensure_configuration_file_is_created"
"test_wireguard_config_content_generation"
"test_wireguard_with_malformed_credentials"
"test_wireguard_with_non_certificate"
"test_wireguard_without_settings"
# Neiter udp or tcp are working
"test_ovpnconfig_with_settings"
"test_ovpnconfig_with_missing_settings_applies_expected_defaults"
"test_ovpnconfig_with_malformed_params"
"test_ovpnconfig_with_certificate_and_malformed_credentials"
"test_ovpnconfig_with_malformed_server"
"test_ovpnconfig_with_malformed_server_and_credentials"
];
meta = {
description = "Defines the interface that VPN connection backends should implement";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-connection";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,67 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
networkmanager,
proton-vpn-api-core,
proton-vpn-killswitch,
proton-vpn-logger,
pycairo,
pygobject3,
pytestCheckHook,
iproute2,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-killswitch-network-manager-wireguard";
version = "0.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-killswitch-network-manager-wireguard";
rev = "v${version}";
hash = "sha256-4sYD2X1U066FMjrtbTb31wvkCDWAw+eXod+pi0gGsCQ=";
};
nativeBuildInputs = [
# Solves ImportError: cannot import name NM, introspection typelib not found
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
# Needed here for the NM namespace
networkmanager
proton-vpn-api-core
proton-vpn-killswitch
proton-vpn-logger
pycairo
pygobject3
];
postPatch = ''
substituteInPlace proton/vpn/killswitch/backend/linux/wireguard/killswitch_connection_handler.py \
--replace '/usr/sbin/ip' '${iproute2}/bin/ip'
'';
pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.wireguard" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Implementation of the proton-vpn-killswitch interface using Network Manager with wireguard-protocol";
homepage = "https://github.com/ProtonVPN/proton-vpn-killswitch-network-manager-wireguard";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,61 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
networkmanager,
proton-vpn-api-core,
proton-vpn-killswitch,
proton-vpn-logger,
pycairo,
pygobject3,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-killswitch-network-manager";
version = "0.5.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-killswitch-network-manager";
rev = "refs/tags/v${version}";
hash = "sha256-iUm+hpqgI4jG+1Cd9F6pBjodxHpq9/2ovXRT877biXQ=";
};
nativeBuildInputs = [
# Solves ImportError: cannot import name NM, introspection typelib not found
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
# Needed here for the NM namespace
networkmanager
proton-vpn-api-core
proton-vpn-killswitch
proton-vpn-logger
pycairo
pygobject3
];
pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.networkmanager" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Implementation of the proton-vpn-killswitch interface using Network Manager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch-network-manager";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,40 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
proton-core,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-killswitch";
version = "0.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-killswitch";
rev = "v${version}";
hash = "sha256-XZqjAhxgIiATJd3JcW2WWUMC1b6+cfZRhXlIPyMUFH8=";
};
build-system = [ setuptools ];
dependencies = [ proton-core ];
pythonImportsCheck = [ "proton.vpn.killswitch.interface" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Defines the ProtonVPN kill switch interface";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,47 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
proton-core,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-logger";
version = "0.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-logger";
rev = "refs/tags/v${version}";
hash = "sha256-/LfMjyTs/EusgnKEQugsdJzqDZBvaAhbsTUVLDCRw0I=";
};
build-system = [
setuptools
];
dependencies = [ proton-core ];
pythonImportsCheck = [ "proton.vpn.logging" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
meta = {
description = "General purpose logging package for the entire ProtonVPN Linux client";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-logger";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,52 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
proton-core,
proton-vpn-network-manager,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-network-manager-openvpn";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager-openvpn";
rev = "refs/tags/v${version}";
hash = "sha256-eDBcpuz37crfAFX6oysB4FCkSmVLyfLJ0R2L0cZgjRo=";
};
nativeBuildInputs = [
# Solves Namespace NM not available
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
proton-core
proton-vpn-network-manager
];
pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager.protocol" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Adds support for the OpenVPN protocol using NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-openvpn";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -1,57 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
proton-core,
proton-vpn-killswitch-network-manager-wireguard,
proton-vpn-network-manager,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-network-manager-wireguard";
version = "0.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager-wireguard";
rev = "v${version}";
hash = "sha256-DZXixcm2VwXhbN4buABlkybDgXIg/mbeUVHOpdoj0Kw=";
};
nativeBuildInputs = [
# Solves Namespace NM not available
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
proton-core
proton-vpn-killswitch-network-manager-wireguard
proton-vpn-network-manager
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Adds support for the Wireguard protocol using NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-wireguard";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -3,11 +3,13 @@
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
apt,
iproute2,
setuptools,
networkmanager,
proton-core,
proton-vpn-api-core,
proton-vpn-connection,
proton-vpn-local-agent,
pycairo,
pygobject3,
pytest-asyncio,
@ -17,14 +19,14 @@
buildPythonPackage rec {
pname = "proton-vpn-network-manager";
version = "0.5.2";
version = "0.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager";
rev = "refs/tags/v${version}";
hash = "sha256-hTJE9sUjPMsE9d0fIA/OhoasumtfsWuFwn0aTm10PN4=";
hash = "sha256-dwWEcLowNlIoxeVQnEpmI+PK18DQRiW4A4qfWHSqRw8=";
};
nativeBuildInputs = [
@ -41,12 +43,23 @@ buildPythonPackage rec {
networkmanager
proton-core
proton-vpn-api-core
proton-vpn-connection
proton-vpn-local-agent
pycairo
pygobject3
];
pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager" ];
postPatch = ''
substituteInPlace proton/vpn/backend/linux/networkmanager/killswitch/wireguard/killswitch_connection_handler.py \
--replace '/usr/sbin/ip' '${iproute2}/bin/ip'
substituteInPlace proton/vpn/backend/linux/networkmanager/killswitch/wireguard/wgkillswitch.py \
--replace '/usr/bin/apt' '${apt}/bin/apt'
'';
pythonImportsCheck = [
"proton.vpn.backend.linux.networkmanager"
"proton.vpn.backend.linux.networkmanager.killswitch.default"
"proton.vpn.backend.linux.networkmanager.killswitch.wireguard"
];
nativeCheckInputs = [
pytestCheckHook
@ -54,6 +67,11 @@ buildPythonPackage rec {
pytest-asyncio
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
meta = {
description = "Provides the necessary functionality for other ProtonVPN components to interact with NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager";

View File

@ -1,65 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
cryptography,
distro,
proton-core,
proton-vpn-logger,
pynacl,
aiohttp,
pyopenssl,
pytest-asyncio,
requests,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-session";
version = "0.6.7";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-session";
rev = "refs/tags/v${version}";
hash = "sha256-/5ju/2bxhqK6JWchkxFe3amBKHtO98GCVQWIrUsn+nQ=";
};
build-system = [
setuptools
];
dependencies = [
cryptography
distro
proton-core
proton-vpn-logger
pynacl
];
pythonImportsCheck = [ "proton.vpn.session" ];
postInstall = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
nativeCheckInputs = [
aiohttp
pyopenssl
pytest-asyncio
requests
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Provides utility classes to manage VPN sessions";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-session";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}

View File

@ -417,6 +417,15 @@ mapAliases ({
prometheus_client = prometheus-client; # added 2021-06-10
prompt_toolkit = prompt-toolkit; # added 2021-07-22
protonup = protonup-ng; # Added 2022-11-06
proton-keyring-linux-secretservice = throw "proton-keyring-linux-secretservice functionality was integrated in the proton-keyring-linux module"; # added 2024-10-16
proton-vpn-connection = throw "proton-vpn-connection functionality was integrated in the proton-vpn-api-core module"; # added 2024-10-16
proton-vpn-killswitch = throw "proton-vpn-killswitch functionality was integrated in the proton-vpn-api-core module"; # added 2024-10-16
proton-vpn-killswitch-network-manager = throw "proton-vpn-killswitch-network-manager functionality was integrated in the proton-vpn-network-manager module"; # added 2024-10-16
proton-vpn-killswitch-network-manager-wireguard = throw "proton-vpn-killswitch-network-manager-wireguard functionality was integrated in the proton-vpn-network-manager module"; # added 2024-10-16
proton-vpn-logger = throw "proton-vpn-logger functionality was integrated in the proton-vpn-api-core module"; # added 2024-10-16
proton-vpn-network-manager-openvpn = throw "proton-vpn-network-manager-openvpn functionality was integrated in the proton-vpn-network-manager module"; # added 2024-10-16
proton-vpn-network-manager-wireguard = throw "proton-vpn-network-manager-wireguard functionality was integrated in the proton-vpn-network-manager module"; # added 2024-10-16
proton-vpn-session = throw "proton-vpn-session functionality was integrated in the proton-vpn-api-core module"; # added 2024-10-16
proxy_tools = proxy-tools; # added 2023-11-05
pur = throw "pur has been renamed to pkgs.pur"; # added 2021-11-08
pushbullet = pushbullet-py; # Added 2022-10-15

View File

@ -10742,28 +10742,10 @@ self: super: with self; {
proton-keyring-linux = callPackage ../development/python-modules/proton-keyring-linux { };
proton-keyring-linux-secretservice = callPackage ../development/python-modules/proton-keyring-linux-secretservice { };
proton-vpn-api-core = callPackage ../development/python-modules/proton-vpn-api-core { };
proton-vpn-connection = callPackage ../development/python-modules/proton-vpn-connection { };
proton-vpn-killswitch = callPackage ../development/python-modules/proton-vpn-killswitch { };
proton-vpn-killswitch-network-manager = callPackage ../development/python-modules/proton-vpn-killswitch-network-manager { };
proton-vpn-killswitch-network-manager-wireguard = callPackage ../development/python-modules/proton-vpn-killswitch-network-manager-wireguard { };
proton-vpn-logger = callPackage ../development/python-modules/proton-vpn-logger { };
proton-vpn-network-manager = callPackage ../development/python-modules/proton-vpn-network-manager { };
proton-vpn-network-manager-openvpn = callPackage ../development/python-modules/proton-vpn-network-manager-openvpn { };
proton-vpn-network-manager-wireguard = callPackage ../development/python-modules/proton-vpn-network-manager-wireguard { };
proton-vpn-session = callPackage ../development/python-modules/proton-vpn-session { };
protonup-ng = callPackage ../development/python-modules/protonup-ng { };
protonvpn-nm-lib = callPackage ../development/python-modules/protonvpn-nm-lib {