mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 19:51:17 +00:00
Merge pull request #261840 from nrabulinski/llef-init
llef: init at unstable-2023-10-18
This commit is contained in:
commit
4c2d752af6
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
Loading…
Reference in a new issue