lol

llef: init at unstable-2023-10-18

+57 -2
+7 -1
pkgs/development/compilers/llvm/15/default.nix
··· 59 59 inherit (releaseInfo) release_version version; 60 60 inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc; 61 61 62 + lldbPlugins = lib.makeExtensible (lldbPlugins: let 63 + callPackage = newScope (lldbPlugins // { inherit stdenv; inherit (tools) lldb; }); 64 + in { 65 + llef = callPackage ../common/lldb-plugins/llef.nix {}; 66 + }); 67 + 62 68 tools = lib.makeExtensible (tools: let 63 69 callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 64 70 mkExtraBuildCommands0 = cc: '' ··· 359 365 }); 360 366 noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; 361 367 362 - in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools) 368 + in { inherit tools libraries release_version lldbPlugins; } // (noExtend libraries) // (noExtend tools)
+7 -1
pkgs/development/compilers/llvm/16/default.nix
··· 59 59 inherit (releaseInfo) release_version version; 60 60 inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc; 61 61 62 + lldbPlugins = lib.makeExtensible (lldbPlugins: let 63 + callPackage = newScope (lldbPlugins // { inherit stdenv; inherit (tools) lldb; }); 64 + in { 65 + llef = callPackage ../common/lldb-plugins/llef.nix {}; 66 + }); 67 + 62 68 tools = lib.makeExtensible (tools: let 63 69 callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; }); 64 70 major = lib.versions.major release_version; ··· 370 376 }); 371 377 noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ]; 372 378 373 - in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools) 379 + in { inherit tools libraries release_version lldbPlugins; } // (noExtend libraries) // (noExtend tools)
+43
pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , makeWrapper 5 + , lldb 6 + }: 7 + 8 + stdenv.mkDerivation { 9 + pname = "llef"; 10 + version = "unstable-2023-10-18"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "foundryzero"; 14 + repo = "llef"; 15 + rev = "629bd75f44c356f7a3576a6436d3919ce111240d"; 16 + hash = "sha256-JtCHG89s436Di/6+V7Le4CZnkIPh/RYIllfXEO/B7+8"; 17 + }; 18 + 19 + dontBuild = true; 20 + 21 + nativeBuildInputs = [ makeWrapper ]; 22 + 23 + installPhase = '' 24 + runHook preInstall 25 + 26 + mkdir -p $out/share/llef 27 + cp -r llef.py arch commands common handlers $out/share/llef 28 + makeWrapper ${lib.getExe lldb} $out/bin/llef \ 29 + --add-flags "-o 'settings set stop-disassembly-display never'" \ 30 + --add-flags "-o \"command script import $out/share/llef/llef.py\"" 31 + 32 + runHook postInstall 33 + ''; 34 + 35 + meta = with lib; { 36 + description = "LLEF is a plugin for LLDB to make it more useful for RE and VR"; 37 + homepage = "https://github.com/foundryzero/llef"; 38 + license = licenses.mit; 39 + platforms = platforms.all; 40 + maintainers = with maintainers; [ nrabulinski ]; 41 + mainProgram = "llef"; 42 + }; 43 + }