llef: init at unstable-2023-10-18
This commit is contained in:
parent
6152f88dec
commit
62cb8f4628
3 changed files with 57 additions and 2 deletions
|
@ -59,6 +59,12 @@ in let
|
|||
inherit (releaseInfo) release_version version;
|
||||
inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc;
|
||||
|
||||
lldbPlugins = lib.makeExtensible (lldbPlugins: let
|
||||
callPackage = newScope (lldbPlugins // { inherit stdenv; inherit (tools) lldb; });
|
||||
in {
|
||||
llef = callPackage ../common/lldb-plugins/llef.nix {};
|
||||
});
|
||||
|
||||
tools = lib.makeExtensible (tools: let
|
||||
callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
|
||||
mkExtraBuildCommands0 = cc: ''
|
||||
|
@ -359,4 +365,4 @@ in let
|
|||
});
|
||||
noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
|
||||
|
||||
in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
|
||||
in { inherit tools libraries release_version lldbPlugins; } // (noExtend libraries) // (noExtend tools)
|
||||
|
|
|
@ -59,6 +59,12 @@ in let
|
|||
inherit (releaseInfo) release_version version;
|
||||
inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc;
|
||||
|
||||
lldbPlugins = lib.makeExtensible (lldbPlugins: let
|
||||
callPackage = newScope (lldbPlugins // { inherit stdenv; inherit (tools) lldb; });
|
||||
in {
|
||||
llef = callPackage ../common/lldb-plugins/llef.nix {};
|
||||
});
|
||||
|
||||
tools = lib.makeExtensible (tools: let
|
||||
callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
|
||||
major = lib.versions.major release_version;
|
||||
|
@ -370,4 +376,4 @@ in let
|
|||
});
|
||||
noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
|
||||
|
||||
in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
|
||||
in { inherit tools libraries release_version lldbPlugins; } // (noExtend libraries) // (noExtend tools)
|
||||
|
|
43
pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix
Normal file
43
pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, lldb
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "llef";
|
||||
version = "unstable-2023-10-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foundryzero";
|
||||
repo = "llef";
|
||||
rev = "629bd75f44c356f7a3576a6436d3919ce111240d";
|
||||
hash = "sha256-JtCHG89s436Di/6+V7Le4CZnkIPh/RYIllfXEO/B7+8";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/llef
|
||||
cp -r llef.py arch commands common handlers $out/share/llef
|
||||
makeWrapper ${lib.getExe lldb} $out/bin/llef \
|
||||
--add-flags "-o 'settings set stop-disassembly-display never'" \
|
||||
--add-flags "-o \"command script import $out/share/llef/llef.py\""
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "LLEF is a plugin for LLDB to make it more useful for RE and VR";
|
||||
homepage = "https://github.com/foundryzero/llef";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ nrabulinski ];
|
||||
mainProgram = "llef";
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue