65 lines
1.5 KiB
Nix

{
lib,
fetchPypi,
stdenvNoCC,
buildPythonPackage,
}:
let
version = "16.7.11";
format = "wheel";
inherit (stdenvNoCC.hostPlatform) system;
# https://pypi.org/project/frida/#files
pypiMeta =
{
x86_64-linux = {
hash = "sha256-aAPVZPz1mn73JuQPGJ/PAOUAtaufeHehSKHzaBmVFF8=";
platform = "manylinux1_x86_64";
};
aarch64-linux = {
hash = "sha256-mQgfMJ6esH41MXnGZQUwF4j8gDgzfyBDUQo5Kw8TGa4=";
platform = "manylinux2014_aarch64";
};
x86_64-darwin = {
hash = "sha256-TuWvQ4oDkK5Fn/bp0G3eAhvDLlv0tzIQ8dKtysX36w0=";
platform = "macosx_10_13_x86_64";
};
aarch64-darwin = {
hash = "sha256-QWfWbGnKeuKiGoD0srnnMsbWPYFcYsbO/Oy68uJIRjI=";
platform = "macosx_11_0_arm64";
};
}
.${system} or (throw "Unsupported system: ${system}");
in
buildPythonPackage {
pname = "frida-python";
inherit version format;
src = fetchPypi {
pname = "frida";
inherit version format;
inherit (pypiMeta) hash platform;
abi = "abi3";
python = "cp37";
dist = "cp37";
};
pythonImportsCheck = [
"frida"
"frida._frida"
];
meta = {
description = "Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers (Python bindings)";
homepage = "https://www.frida.re";
license = lib.licenses.wxWindows;
maintainers = with lib.maintainers; [ s1341 ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}