llef: init at unstable-2023-10-18

This commit is contained in:
Nikodem Rabuliński 2023-10-18 15:56:30 +02:00
parent 6152f88dec
commit 62cb8f4628
No known key found for this signature in database
GPG key ID: FF629AA9E08138DB
3 changed files with 57 additions and 2 deletions

View file

@ -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)

View file

@ -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)

View 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";
};
}