From df30da3e5b68a5bf6679efddc6e7b92910fd3a13 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 23 Apr 2025 18:00:11 +0200 Subject: [PATCH] proton-vpn-local-agent: move to python3Packages --- .../proton-vpn-local-agent/default.nix} | 38 ++++++++++++++++--- pkgs/top-level/aliases.nix | 3 ++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 37 insertions(+), 6 deletions(-) rename pkgs/{by-name/pr/proton-vpn-local-agent/package.nix => development/python-modules/proton-vpn-local-agent/default.nix} (52%) diff --git a/pkgs/by-name/pr/proton-vpn-local-agent/package.nix b/pkgs/development/python-modules/proton-vpn-local-agent/default.nix similarity index 52% rename from pkgs/by-name/pr/proton-vpn-local-agent/package.nix rename to pkgs/development/python-modules/proton-vpn-local-agent/default.nix index 98b8ce3c2a97..675f83003256 100644 --- a/pkgs/by-name/pr/proton-vpn-local-agent/package.nix +++ b/pkgs/development/python-modules/proton-vpn-local-agent/default.nix @@ -2,15 +2,17 @@ lib, stdenv, fetchFromGitHub, + python, + buildPythonPackage, + cargo, rustPlatform, - python3, }: -rustPlatform.buildRustPackage rec { +buildPythonPackage rec { pname = "proton-vpn-local-agent"; version = "1.4.5"; - useFetchCargoVendor = true; - cargoHash = "sha256-RrMhkOZyG0JBEk+ikRpQtsNVR6Jt94u71+srQ6qMq5U="; + pyproject = false; + withDistOutput = false; src = fetchFromGitHub { owner = "ProtonVPN"; @@ -19,14 +21,38 @@ rustPlatform.buildRustPackage rec { 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 = '' # 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 + 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 ''; + 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"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c177b1f2b255..4a2a44e2f426 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1493,6 +1493,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 2fc8a1aaa565..84b29802e182 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11483,6 +11483,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 {