vscode-extensions.vadimcn.vscode-lldb: 1.11.4 -> 1.12.1 (#493200)

This commit is contained in:
Sandro
2026-02-28 22:46:31 +00:00
committed by GitHub
6 changed files with 130 additions and 30 deletions
@@ -4,10 +4,14 @@
makeWrapper,
rustPlatform,
stdenv,
codelldb-launch,
pname,
src,
version,
cargoHash,
standalone ? false,
}:
let
# debugservers on macOS require the 'com.apple.security.cs.debugger'
@@ -24,17 +28,19 @@ rustPlatform.buildRustPackage {
pname = "${pname}-adapter";
inherit version src;
cargoHash = "sha256-Nh4YesgWa1JR8tLfrIRps9TBdsAfilXu6G2/kB08co8=";
inherit cargoHash;
# Environment variables, based on <https://github.com/vadimcn/codelldb/blob/master/cargo_config.unix.toml>
# The LLDB_* variables are used in adapter/lldb/build.rs.
"CC_${LLVM_TRIPLE}" = "${stdenv.cc}/bin/cc";
"CXX_${LLVM_TRIPLE}" = "${stdenv.cc}/bin/c++";
LLDB_DYLIB = "${lib.getLib lldb}/lib/liblldb${stdenv.hostPlatform.extensions.sharedLibrary}";
LLDB_INCLUDE = "${lib.getDev lldb}/include";
LLDB_LINK_LIB = "lldb";
LLDB_LINK_SEARCH = "${lib.getLib lldb}/lib";
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [
makeWrapper
]
++ lib.optional standalone codelldb-launch;
buildAndTestSubdir = "adapter";
@@ -54,6 +60,10 @@ rustPlatform.buildRustPackage {
ln -s ${lib.getLib lldb} $out/share/lldb
makeWrapper $out/share/adapter/codelldb $out/bin/codelldb \
--set-default LLDB_DEBUGSERVER_PATH "${lldbServer}"
${lib.optionalString standalone ''
cp ${codelldb-launch}/bin/codelldb-launch $out/share/adapter/codelldb-launch
''}
'';
# Tests fail to build (as of version 1.11.4).
@@ -0,0 +1,22 @@
{
makeBinaryWrapper,
rustPlatform,
pname,
src,
version,
cargoHash,
}:
rustPlatform.buildRustPackage {
pname = "${pname}-codelldb-launch";
inherit version src cargoHash;
nativeBuildInputs = [ makeBinaryWrapper ];
cargoBuildFlags = [
"--package=codelldb-launch"
];
# Tests fail to build (as of version 1.12.0).
doCheck = false;
}
@@ -0,0 +1,22 @@
{
makeWrapper,
rustPlatform,
pname,
src,
version,
cargoHash,
}:
rustPlatform.buildRustPackage {
pname = "${pname}-codelldb-types";
inherit version src cargoHash;
nativeBuildInputs = [ makeWrapper ];
cargoBuildFlags = [
"--package=codelldb-types"
];
# Tests fail to build (as of version 1.12.0).
doCheck = false;
}
@@ -10,14 +10,13 @@
nodejs,
python3,
rustc,
stdenv,
unzip,
}:
assert lib.versionAtLeast python3.version "3.5";
let
publisher = "vadimcn";
pname = "vscode-lldb";
version = "1.11.4";
version = "1.12.1";
vscodeExtUniqueId = "${publisher}.${pname}";
vscodeExtPublisher = publisher;
@@ -27,10 +26,13 @@ let
owner = "vadimcn";
repo = "codelldb";
rev = "v${version}";
hash = "sha256-+Pe7ij5ukF5pLgwvr+HOHjIv1TQDiPOEeJtkpIW9XWI=";
hash = "sha256-B8iCy4NXG7IzJVncbYm5VoAMfhMfxGF+HW7M5sVn5b0=";
};
lldb = llvmPackages_19.lldb;
stdenv = llvmPackages_19.libcxxStdenv;
cargoHash = "sha256-fuUTLdavMiYfpyxctXes2GJCsNZd5g1d4B/v+W/Rnu8=";
adapter = (
callPackage ./adapter.nix {
@@ -38,15 +40,16 @@ let
# based on the provided CMake toolchain files.
# <https://github.com/vadimcn/codelldb/tree/master/cmake>
rustPlatform = makeRustPlatform {
stdenv = llvmPackages_19.libcxxStdenv;
inherit cargo rustc;
inherit stdenv cargo rustc;
};
stdenv = llvmPackages_19.libcxxStdenv;
inherit
pname
src
version
stdenv
cargoHash
codelldb-launch
;
}
);
@@ -61,6 +64,36 @@ let
}
);
codelldb-types = (
callPackage ./codelldb-types.nix {
rustPlatform = makeRustPlatform {
inherit stdenv cargo rustc;
};
inherit
pname
src
version
cargoHash
;
}
);
codelldb-launch = (
callPackage ./codelldb-launch.nix {
rustPlatform = makeRustPlatform {
inherit stdenv cargo rustc;
};
inherit
pname
src
version
cargoHash
;
}
);
in
stdenv.mkDerivation {
pname = "vscode-extension-${publisher}-${pname}";
@@ -79,6 +112,8 @@ stdenv.mkDerivation {
makeWrapper
nodejs
unzip
codelldb-types
codelldb-launch
];
patches = [ ./patches/cmake-build-extension-only.patch ];
@@ -118,6 +153,11 @@ stdenv.mkDerivation {
wrapProgram $ext/adapter/codelldb \
--prefix LD_LIBRARY_PATH : "$ext/lldb/lib" \
--set-default LLDB_DEBUGSERVER_PATH "${adapter.lldbServer}"
# Used by VSCode
mkdir -p $ext/bin
cp ${codelldb-launch}/bin/codelldb-launch $ext/bin/codelldb-launch
# Mark that all components are installed.
touch $ext/platform.ok
@@ -132,7 +172,8 @@ stdenv.mkDerivation {
'';
passthru = {
inherit lldb adapter;
inherit lldb;
adapter = adapter.override { standalone = true; };
updateScript = ./update.sh;
};
@@ -16,7 +16,7 @@ buildNpmPackage {
pname = "${pname}-node-deps";
inherit version src;
npmDepsHash = "sha256-Efeun7AFMAnoNXLbTGH7OWHaBHT2tO9CodfjKrIYw40=";
npmDepsHash = "sha256-TCeIBrlsNuphW2gVsX97+Wu1lOG5gDwS7559YA1d10M=";
nativeBuildInputs = [
python3
@@ -1,5 +1,5 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5cab8b1..0b500d5 100644
index 3e4f955..2ca59d0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,13 +16,6 @@ endif()
@@ -13,27 +13,32 @@ index 5cab8b1..0b500d5 100644
- message(FATAL_ERROR "LLDB_PACKAGE not set." )
-endif()
-
if (CMAKE_SYSROOT)
set(CMAKE_C_FLAGS "--sysroot=${CMAKE_SYSROOT} ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "--sysroot=${CMAKE_SYSROOT} ${CMAKE_CXX_FLAGS}")
@@ -116,16 +109,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY)
configure_file(webpack.config.js ${CMAKE_CURRENT_BINARY_DIR}/webpack.config.js)
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_CTEST_ARGUMENTS "--output-on-failure" CACHE INTERNAL "CTest arguments")
set(TEST_TIMEOUT 5000 CACHE STRING "Test timeout [ms]")
@@ -120,12 +113,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY)
# We still need to resolve codelldb schema $ref's in it, but we'll do this during the build.
file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package.json ${CMAKE_CURRENT_BINARY_DIR}/package.pre.json)
file(COPY_FILE ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json)
-# Install node_modules
-execute_process(
- COMMAND ${NPM} --loglevel verbose ci # like install, but actually respects package-lock file.
- COMMAND ${NPM} install
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- RESULT_VARIABLE Result
- COMMAND_ERROR_IS_FATAL ANY
-)
-if (NOT ${Result} EQUAL 0)
- message(FATAL_ERROR "npm install failed: ${Result}")
-endif()
-
# Resolve $refs
execute_process(
COMMAND ${WithEnv} NODE_PATH=${CMAKE_CURRENT_BINARY_DIR}/node_modules node ${CMAKE_CURRENT_SOURCE_DIR}/tools/prep-package.js ${CMAKE_CURRENT_BINARY_DIR}/package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json
@@ -183,6 +166,7 @@ add_custom_target(adapter_tests
# So we can commit any changes
file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json)
@@ -133,7 +120,7 @@ file(COPY_FILE ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json ${CMAKE_CURRENT_SOU
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/package.json ${CMAKE_BINARY_DIR}/generated/codelldb.ts
DEPENDS ${CMAKE_SOURCE_DIR}/package.json ${CMAKE_SOURCE_DIR}/src/codelldb-types/src/lib.rs
- COMMAND cargo run --package codelldb-types -- ${CMAKE_BINARY_DIR}/codelldb.schema.json
+ COMMAND codelldb-types ${CMAKE_BINARY_DIR}/codelldb.schema.json
COMMAND ${WithEnv} NODE_PATH=${CMAKE_CURRENT_BINARY_DIR}/node_modules node ${CMAKE_CURRENT_SOURCE_DIR}/tools/prep-package.js
${CMAKE_CURRENT_BINARY_DIR}/package.pre.json ${CMAKE_CURRENT_BINARY_DIR}/package.json
COMMAND ${NPM} run json2ts -- ${CMAKE_BINARY_DIR}/codelldb.schema.json ${CMAKE_BINARY_DIR}/generated/codelldb.ts
@@ -158,6 +145,7 @@ add_custom_target(update_lockfiles
add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_BINARY_DIR}/README.md)
add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md ${CMAKE_CURRENT_BINARY_DIR}/CHANGELOG.md)
@@ -41,7 +46,7 @@ index 5cab8b1..0b500d5 100644
add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/lldb.png ${CMAKE_CURRENT_BINARY_DIR}/images/lldb.png)
add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/user.svg ${CMAKE_CURRENT_BINARY_DIR}/images/user.svg)
add_copy_file(PackageFiles ${CMAKE_CURRENT_SOURCE_DIR}/images/users.svg ${CMAKE_CURRENT_BINARY_DIR}/images/users.svg)
@@ -199,6 +183,7 @@ add_custom_target(dev_debugging
@@ -174,6 +162,7 @@ add_custom_target(dev_debugging
set(PackagedFilesBootstrap
README.md
CHANGELOG.md