diff options
author | superherointj <5861043+superherointj@users.noreply.github.com> | 2024-04-16 13:52:38 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 13:52:38 -0300 |
commit | abc1cca9c70d100c2bde4ebf22f6cbbd63b0925e (patch) | |
tree | 6ca55fcbe0e20bef1037e999af0e7913c599ca1b /pkgs | |
parent | 2b6ee326ad047870526d9a3ae88dfd0197da898d (diff) | |
parent | d0415e5734f5ed2c58d7ba96b5153e3028f6ca20 (diff) |
Merge pull request #211321 from mstone/darwin-fix-vscode-lldb
vscode-extensions.vadimcn.vscode-lldb: fix on Darwin
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix index ad7fd06cb020c..b6e47094d57a9 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix @@ -27,8 +27,14 @@ let cargoHash = "sha256-e/Jki/4pCs0qzaBVR4iiUhdBFmWlTZYREQkuFSoWYFo="; + buildInputs = lib.optionals stdenv.isDarwin [ lldb ]; + nativeBuildInputs = [ makeWrapper ]; + env = lib.optionalAttrs stdenv.isDarwin { + NIX_LDFLAGS = "-llldb -lc++abi"; + }; + buildAndTestSubdir = "adapter"; buildFeatures = [ "weak-linkage" ]; @@ -89,6 +95,15 @@ let ''; }; + # debugservers on macOS require the 'com.apple.security.cs.debugger' + # entitlement which nixpkgs' lldb-server does not yet provide; see + # <https://github.com/NixOS/nixpkgs/pull/38624> for details + lldbServer = + if stdenv.isDarwin then + "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver" + else + "${lldb.out}/bin/lldb-server"; + in stdenv.mkDerivation { pname = "vscode-extension-${publisher}-${pname}"; inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName; @@ -107,6 +122,9 @@ in stdenv.mkDerivation { postConfigure = '' cp -r ${nodeDeps}/lib/node_modules . + '' + lib.optionalString stdenv.isDarwin '' + export HOME="$TMPDIR/home" + mkdir $HOME ''; cmakeFlags = [ @@ -129,7 +147,8 @@ in stdenv.mkDerivation { mv -t $ext vsix-extracted/extension/* cp -t $ext/ -r ${adapter}/share/* wrapProgram $ext/adapter/codelldb \ - --set-default LLDB_DEBUGSERVER_PATH "${lldb.out}/bin/lldb-server" + --prefix LD_LIBRARY_PATH : "$ext/lldb/lib" \ + --set-default LLDB_DEBUGSERVER_PATH "${lldbServer}" # Mark that all components are installed. touch $ext/platform.ok |