72 lines
2.3 KiB
Nix
72 lines
2.3 KiB
Nix
|
{ stdenv, lib
|
||
|
, system ? builtins.currentSystem
|
||
|
, fetchurl
|
||
|
, unzip
|
||
|
, libz
|
||
|
, libcxx
|
||
|
, lttng-ust_2_12
|
||
|
, autoPatchelfHook
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "cpptools";
|
||
|
version = "1.21.6";
|
||
|
|
||
|
# Get the current system architecture
|
||
|
# arch = builtins.currentSystem;
|
||
|
|
||
|
linux-x64 = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-linux-x64.vsix";
|
||
|
linux-arm64 = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-linux-arm64.vsix";
|
||
|
darwin-x64 = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-macos-x64.vsix";
|
||
|
darwin-arm64 = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-macos-arm64.vsix";
|
||
|
|
||
|
|
||
|
src = fetchurl {
|
||
|
url = lib.getAttr system {
|
||
|
x86_64-linux = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-linux-x64.vsix";
|
||
|
aarch64-linux = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-linux-arm64.vsix";
|
||
|
aarch64-darwin = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-macos-arm64.vsix";
|
||
|
x86_64-darwin = "https://github.com/microsoft/vscode-cpptools/releases/download/v${version}/cpptools-macos-x64.vsix";
|
||
|
};
|
||
|
hash = lib.getAttr system {
|
||
|
x86_64-linux = "sha256-q6SDImUppICJopOi+HiIUMg7Ue1Qu0A41uewNxRdzeA=";
|
||
|
aarch64-linux = "sha256-/Zci8P5RAK26FASHpQnIYR5fvSF9lgTTrgVAT33Wfwc=";
|
||
|
x86_64-darwin = "sha256-P2LacAaCRXnsGUQOLuIyvfgxweeVHsDFTrAEuN/lBIQ=";
|
||
|
aarch64-darwin = "sha256-P2LacAaCRXnsGUQOLuIyvfgxweeVHsDFTrAEuN/lBIQ=";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
autoPatchelfHook
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
unzip
|
||
|
libz
|
||
|
libcxx
|
||
|
lttng-ust_2_12
|
||
|
];
|
||
|
|
||
|
unpackPhase = ''
|
||
|
unzip $src
|
||
|
'';
|
||
|
|
||
|
sourceRoot = ".";
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
mkdir -p $out/bin
|
||
|
mkdir -p $out/opt
|
||
|
cp -r extension/debugAdapters/* $out/opt
|
||
|
install -m755 -D extension/debugAdapters/bin/OpenDebugAD7 $out/opt/bin/OpenDebugAD7
|
||
|
ln -s $out/opt/bin/OpenDebugAD7 $out/bin/OpenDebugAD7
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://github.com/microsoft/vscode-cpptools";
|
||
|
description = "Official repository for the Microsoft C/C++ extension for VS Code. ";
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|