diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix index 3bc4d3be4d81..eb4d15dc1986 100644 --- a/pkgs/applications/networking/protonvpn-gui/default.nix +++ b/pkgs/applications/networking/protonvpn-gui/default.nix @@ -22,14 +22,14 @@ buildPythonApplication rec { pname = "protonvpn-gui"; - version = "4.9.5"; + version = "4.9.6"; pyproject = true; src = fetchFromGitHub { owner = "ProtonVPN"; repo = "proton-vpn-gtk-app"; - tag = "v${version}"; - hash = "sha256-mXRTXr7u049pgPRK5gwaGfQUmUl4vlKca4lRH06HZj8="; + tag = "${version}"; + hash = "sha256-Undf3qSClcRa1e9f6B/1hLPIjc2KPG745AXxYHQA0nE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/pr/proton-vpn-local-agent/package.nix b/pkgs/by-name/pr/proton-vpn-local-agent/package.nix deleted file mode 100644 index c9a25a988dcd..000000000000 --- a/pkgs/by-name/pr/proton-vpn-local-agent/package.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - rustPlatform, - python3, -}: - -rustPlatform.buildRustPackage rec { - pname = "proton-vpn-local-agent"; - version = "1.4.4"; - useFetchCargoVendor = true; - cargoHash = "sha256-i/qJwN8693MRaWTcvGGcWMCqclyOOIb/wlqiUilOhzQ="; - - src = fetchFromGitHub { - owner = "ProtonVPN"; - repo = "python-proton-vpn-local-agent"; - rev = version; - hash = "sha256-9dyyLZZEOB2080KxN0ffdkRhyvEY8xKE/7b2mA7JL+o="; - }; - - sourceRoot = "${src.name}/python-proton-vpn-local-agent"; - - installPhase = '' - # manually install the python binding - mkdir -p $out/${python3.sitePackages}/proton/vpn/ - cp ./target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/libpython_proton_vpn_local_agent.so $out/${python3.sitePackages}/proton/vpn/local_agent.so - ''; - - meta = { - description = "Proton VPN local agent written in Rust with Python bindings"; - homepage = "https://github.com/ProtonVPN/python-proton-vpn-local-agent"; - license = lib.licenses.gpl3Only; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ sebtm ]; - }; -} diff --git a/pkgs/development/python-modules/proton-vpn-api-core/default.nix b/pkgs/development/python-modules/proton-vpn-api-core/default.nix index 0361703a9df8..babb3c02bcf4 100644 --- a/pkgs/development/python-modules/proton-vpn-api-core/default.nix +++ b/pkgs/development/python-modules/proton-vpn-api-core/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "proton-vpn-api-core"; - version = "0.42.3"; + version = "0.42.4"; pyproject = true; src = fetchFromGitHub { owner = "ProtonVPN"; repo = "python-proton-vpn-api-core"; rev = "v${version}"; - hash = "sha256-/GV5DFWc6RBWP723APNxn9FTxdePumYOtdwDQEg4ccA="; + hash = "sha256-WzyxBeIiOXDxyv0/guPWO16pN41ZVXnxd6iiiZ+bLR4="; }; build-system = [ diff --git a/pkgs/development/python-modules/proton-vpn-local-agent/default.nix b/pkgs/development/python-modules/proton-vpn-local-agent/default.nix new file mode 100644 index 000000000000..513c958bb98c --- /dev/null +++ b/pkgs/development/python-modules/proton-vpn-local-agent/default.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python, + buildPythonPackage, + cargo, + rustPlatform, +}: + +buildPythonPackage rec { + pname = "proton-vpn-local-agent"; + version = "1.4.5"; + pyproject = false; + withDistOutput = false; + + src = fetchFromGitHub { + owner = "ProtonVPN"; + repo = "python-proton-vpn-local-agent"; + rev = version; + hash = "sha256-njulvM8CNURy5Gy8thOT08y4cq9T68Ktl6wlfvg5I4w="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit + pname + version + src + sourceRoot + ; + hash = "sha256-RrMhkOZyG0JBEk+ikRpQtsNVR6Jt94u71+srQ6qMq5U="; + }; + + sourceRoot = "${src.name}/python-proton-vpn-local-agent"; + + cargoBuildType = "release"; + nativeBuildInputs = [ + cargo + rustPlatform.cargoSetupHook + rustPlatform.cargoBuildHook + ]; + + cargoCheckType = "release"; + nativeCheckInputs = [ + rustPlatform.cargoCheckHook + ]; + + installPhase = '' + runHook preInstall + + # manually install the python binding + mkdir -p $out/${python.sitePackages}/proton/vpn/ + cp ./target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/libpython_proton_vpn_local_agent.so $out/${python.sitePackages}/proton/vpn/local_agent.so + + runHook postInstall + ''; + + pythonImportsCheck = [ "proton.vpn.local_agent" ]; + + meta = { + description = "Proton VPN local agent written in Rust with Python bindings"; + homepage = "https://github.com/ProtonVPN/python-proton-vpn-local-agent"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ sebtm ]; + }; +} diff --git a/pkgs/development/python-modules/proton-vpn-network-manager/default.nix b/pkgs/development/python-modules/proton-vpn-network-manager/default.nix index da9b102da053..937c54b5c103 100644 --- a/pkgs/development/python-modules/proton-vpn-network-manager/default.nix +++ b/pkgs/development/python-modules/proton-vpn-network-manager/default.nix @@ -77,7 +77,6 @@ buildPythonPackage rec { ''; meta = { - broken = true; # ModuleNotFoundError: No module named 'proton.vpn.local_agent' description = "Provides the necessary functionality for other ProtonVPN components to interact with NetworkManager"; homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager"; license = lib.licenses.gpl3Only; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index af47cb7300fd..3d57844709e6 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1500,6 +1500,9 @@ mapAliases { protoc-gen-connect-es = throw "'protoc-gen-connect-es' has been removed because it is deprecated upstream. Functionality has been integrated into 'protoc-gen-es' v2."; # Added 2025-02-18 protonup = protonup-ng; # Added 2022-11-06 protonvpn-gui_legacy = throw "protonvpn-gui_legacy source code was removed from upstream. Use protonvpn-gui instead."; # Added 2024-10-12 + proton-vpn-local-agent = lib.warnOnInstantiate "'proton-vpn-local-agent' has been renamed to 'python3Packages.proton-vpn-local-agent'" ( + python3Packages.toPythonApplication python3Packages.proton-vpn-local-agent + ); # Added 2025-04-23 proxmark3-rrg = proxmark3; # Added 2023-07-25 psensor = throw "'psensor' has been removed due to lack of maintenance upstream. Consider using 'mission-center', 'resources' or 'monitorets' instead"; # Added 2024-09-14 pwndbg = throw "'pwndbg' has been removed due to dependency version incompatibilities that are infeasible to maintain in nixpkgs. Use the downstream flake that pwndbg provides instead: https://github.com/pwndbg/pwndbg"; # Added 2025-02-09 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a475f5d8798c..198798a623b8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11491,6 +11491,8 @@ self: super: with self; { callPackage ../development/python-modules/proton-vpn-network-manager { }; + proton-vpn-local-agent = callPackage ../development/python-modules/proton-vpn-local-agent { }; + protonup-ng = callPackage ../development/python-modules/protonup-ng { }; protonvpn-nm-lib = callPackage ../development/python-modules/protonvpn-nm-lib {