1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 makeWrapper, 6 lldb, 7}: 8 9stdenv.mkDerivation (finalAttrs: { 10 pname = "llef"; 11 version = "2.0.0"; 12 13 src = fetchFromGitHub { 14 owner = "foundryzero"; 15 repo = "llef"; 16 rev = "v${finalAttrs.version}"; 17 hash = "sha256-pAFjLaZi4Sjlq3evKT2IG+0/imf4Fp5bM2gknLKpRvs="; 18 }; 19 20 dontBuild = true; 21 22 nativeBuildInputs = [ makeWrapper ]; 23 24 installPhase = '' 25 runHook preInstall 26 27 mkdir -p $out/share/llef 28 cp -r llef.py arch commands common handlers $out/share/llef 29 makeWrapper ${lib.getExe lldb} $out/bin/llef \ 30 --add-flags "-o 'settings set stop-disassembly-display never'" \ 31 --add-flags "-o \"command script import $out/share/llef/llef.py\"" 32 33 runHook postInstall 34 ''; 35 36 meta = with lib; { 37 description = "LLEF is a plugin for LLDB to make it more useful for RE and VR"; 38 homepage = "https://github.com/foundryzero/llef"; 39 license = licenses.mit; 40 platforms = platforms.all; 41 maintainers = with maintainers; [ nrabulinski ]; 42 mainProgram = "llef"; 43 }; 44})