From 210ebc21235624e55f234dc2306fb1f4981923e2 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sat, 4 May 2024 18:18:19 -0400 Subject: [PATCH 1/2] llvmPackages.lldb: combine `out` and `lib` outputs on Darwin LLDB expects to find the location of `bin` relative to `lib`. Patching it to know the location would cause a cycle between the `out` output and the `lib` output, so combine the two on Darwin. Fixes https://github.com/NixOS/nixpkgs/issues/252838. --- pkgs/development/compilers/llvm/common/lldb.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/common/lldb.nix b/pkgs/development/compilers/llvm/common/lldb.nix index 59e427e846c4..c582ac863941 100644 --- a/pkgs/development/compilers/llvm/common/lldb.nix +++ b/pkgs/development/compilers/llvm/common/lldb.nix @@ -50,7 +50,9 @@ stdenv.mkDerivation (rec { src = src'; inherit patches; - outputs = [ "out" "lib" "dev" ]; + # LLDB expects to find the path to `bin` relative to `lib` on Darwin. It can’t be patched with the location of + # the `lib` output because that would create a cycle between it and the `out` output. + outputs = [ "out" "dev" ] ++ lib.optionals (!stdenv.isDarwin) [ "lib" ]; sourceRoot = lib.optional (lib.versionAtLeast release_version "13") "${src.name}/${pname}"; From a14bae871adf63b2ff4dcc391e9f42f495458ae4 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sat, 4 May 2024 18:25:51 -0400 Subject: [PATCH 2/2] vscode-extensions.vadimcn.vscode-lldb: use lib.getLib instead of lldb.lib --- .../editors/vscode/extensions/vadimcn.vscode-lldb/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 70f4cbd833de..8ed7c0b946b4 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix @@ -67,7 +67,7 @@ let cp $out/lib/* $out/share/adapter cp -r adapter/scripts $out/share/adapter cp -t $out/share/formatters formatters/*.py - ln -s ${lldb.lib} $out/share/lldb + ln -s ${lib.getLib lldb} $out/share/lldb makeWrapper $out/share/adapter/codelldb $out/bin/codelldb \ --set-default LLDB_DEBUGSERVER_PATH "${lldb.out}/bin/lldb-server" '';