From 8f384467cce40d5298337bce5d8be24da1a4eb0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francis=20Gagn=C3=A9?= Date: Sun, 18 Feb 2024 03:31:29 -0500 Subject: [PATCH] vscode-utils: Set the sourceRoot attribute on vscode extensions Some extensions contain directories other than `extension` (e.g., `package`, if the extension has a digital signature). The unpacker phase fails if a .vsix file contains more than one directory at the archive's root and the `sourceRoot` attribute is unset. --- pkgs/applications/editors/vscode/extensions/vscode-utils.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix index 0eba230ad8e0..053d11b71eff 100644 --- a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix +++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix @@ -32,6 +32,10 @@ let inherit configurePhase buildPhase dontPatchELF dontStrip; + # Some .vsix files contain other directories (e.g., `package`) that we don't use. + # If other directories are present but `sourceRoot` is unset, the unpacker phase fails. + sourceRoot = "extension"; + installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}"; nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;