Merge pull request #261840 from nrabulinski/llef-init

llef: init at unstable-2023-10-18
This commit is contained in:
Ryan Lahfa 2024-01-13 16:51:40 +01:00 committed by GitHub
commit 4c2d752af6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 65 additions and 2 deletions

View File

@ -13615,6 +13615,13 @@
githubId = 13149442;
name = "Nico Pulido-Mateo";
};
nrabulinski = {
email = "1337-nix@nrab.lol";
matrix = "@niko:nrab.lol";
github = "nrabulinski";
githubId = 24574288;
name = "Nikodem Rabuliński";
};
nrdxp = {
email = "tim.deh@pm.me";
matrix = "@timdeh:matrix.org";

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

View File

@ -176,6 +176,7 @@ stdenv.mkDerivation (rec {
broken =
(lib.versionOlder release_version "11" && stdenv.isDarwin && stdenv.isAarch64)
|| (((lib.versions.major release_version) == "13") && stdenv.isDarwin);
mainProgram = "lldb";
};
} // lib.optionalAttrs enableManpages {
pname = "lldb-manpages";