{ lib, buildPythonPackage, fetchFromGitHub, fetchPypi, setuptools, frida-tools, frida-python, python3, callPackage }: let python = let packageOverrides = self: super: { frida-python = (callPackage ./frida-python.nix {}); frida-tools = super.toPythonModule(callPackage ./frida-tools.nix {}); }; in python3.override { inherit packageOverrides; self = python; }; in buildPythonPackage rec { pname = "xpcspy"; version = "v0.8.3"; pyproject = true; src = fetchFromGitHub { owner = "hot3eed"; repo = "xpcspy"; rev = "refs/tags/${version}"; hash = "sha256-/7nv1Xtsu4cGXai12d0fN6OR9d5mgV/0xK2UrlUv2rc="; }; build-system = [ setuptools ]; nativeBuildInputs = [ python.pkgs.frida-tools ]; buildInputs = [ python.pkgs.frida-tools ]; dependencies = [ python.pkgs.frida-python python.pkgs.frida-tools ]; pythonRelaxDeps = [ "frida-tools" "frida" ]; meta = with lib; { description = "Bidirectional XPC message interception and more. Powered by Frida"; homepage = "https://github.com/hot3eed/xpcspy"; }; }