diff options
author | Ryan Lahfa <masterancpp@gmail.com> | 2024-01-13 16:51:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-13 16:51:40 +0100 |
commit | 4c2d752af61a17672cb048081de5d2cbfe040a68 (patch) | |
tree | 6747b877461f82c30aef1349f6cc0ac868e1782f | |
parent | 41aa423726f2906f3e261c507b2d9134987466e2 (diff) | |
parent | 6305515e452f7d64708da7cfee6627dd35c808f3 (diff) | |
download | nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar.gz nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar.bz2 nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar.lz nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar.xz nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.tar.zst nixlib-4c2d752af61a17672cb048081de5d2cbfe040a68.zip |
Merge pull request #261840 from nrabulinski/llef-init
llef: init at unstable-2023-10-18
-rw-r--r-- | maintainers/maintainer-list.nix | 7 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/15/default.nix | 8 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/16/default.nix | 8 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix | 43 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/common/lldb.nix | 1 |
5 files changed, 65 insertions, 2 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 31320d5eb44e..ec1aca2a02eb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix index 9e9008c7f1ee..307198b5e9a3 100644 --- a/pkgs/development/compilers/llvm/15/default.nix +++ b/pkgs/development/compilers/llvm/15/default.nix @@ -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) diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index 30da7d57e791..878806ff85ab 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -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) diff --git a/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix new file mode 100644 index 000000000000..f671132aa61e --- /dev/null +++ b/pkgs/development/compilers/llvm/common/lldb-plugins/llef.nix @@ -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"; + }; +} diff --git a/pkgs/development/compilers/llvm/common/lldb.nix b/pkgs/development/compilers/llvm/common/lldb.nix index 23ed4a2a2042..4cb73a4d97a6 100644 --- a/pkgs/development/compilers/llvm/common/lldb.nix +++ b/pkgs/development/compilers/llvm/common/lldb.nix @@ -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"; |