nixpkgs/pkgs/applications/editors/vscode
Michael Stone d0415e5734 vscode-extensions.vadimcn.vscode-lldb: fix on Darwin
Summary:

  vscode-lldb has been broken on Darwin due to a build-time issue:

    * on Darwin, the vscode-lldb build scripts expect $HOME to exist and be
      writable, #202507

  and several runtime-issues:

    * codelldb can't find its dynamic libraries (#160874)

    * lldb-server from nixpkgs doesn't work due to missing the

        "com.apple.security.cs.debugger"

      macOS codesigning entitlement, (#38624), also with the symptom that
      tccd, the macOS "Transparency, Consent, and Control" daemon, denies
      requests it receives from vscode/codium with log messages like:

	  "AUTHREQ_CTX: msgID=..., function=<private>, service=kTCCServiceDeveloperTool, preflight=yes, query=1,"
          "Service kTCCServiceDeveloperTool does not allow prompting; returning denied."
          "AUTHREQ_RESULT: msgID=..., authValue=0, authReason=5, authVersion=1, error=(null),", etc.

    * lldb-server from nixpkgs may also provide a different CLI interface than
      codelldb expects on macOS.

    * vscode-lldb directs lldb to load rust pretty-printing scripts which need
      to be preserved through the build process in nixpkgs

Solution:

  * The build problem can be fixed by setting HOME="$(pwd)/home", as suggested
    in #202507.

  * The dynamic libraries issue can be fixed by setting LD_LIBRARY_PATH while
    wrapping codelldb

  * The permissions issue and CLI interface issue can both be fixed by using
    Xcode's debugserver,

      /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver

    on macOS, since it has the required entitlement and the expected interface.

  * Finally, the script-loading issue can be fixed by copying the required
    scripts to the location that vscode-lldb expects to find them in.

Fixes:

  * #148946: Error failed to get reply to handshake packet on x86_64-darwin
    with vscode-extensions.vadimcn.vscode-lldb

  * #160874: codelldb inside of vscode-lldb extension doesn't work

  * #202507: vscode-extensions.vadimcn.vscode-lldb fails to build on aarch64-darwin
2024-04-10 11:08:45 +02:00
..
extensions vscode-extensions.vadimcn.vscode-lldb: fix on Darwin 2024-04-10 11:08:45 +02:00
generic.nix vscode: Fix url handler MimeType for vscode-insiders 2024-03-06 23:03:16 +08:00
update-shell.nix
update-vscode.sh vscode: move rev and vscodeServer to derivation 2023-06-09 18:52:10 +10:00
update-vscodium.sh vscodium: 1.78.2.23132 -> 1.79.2.23166, readd armhf 2023-06-16 23:09:01 +08:00
vscode.nix vscode: 1.87.2 -> 1.88.0 2024-04-05 00:29:29 +00:00
vscodium.nix vscodium: 1.87.1.24068 -> 1.87.2.24072 2024-03-14 22:27:58 +00:00
with-extensions.nix vscode: Fix icon name 2023-07-31 12:23:55 +08:00