From 920ff50584689fe574a72ece2be73cf85dd11790 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Mon, 6 Oct 2025 22:44:08 +0800 Subject: [PATCH] vsce: fix gyp build error of keytar --- .../default.nix | 3 --- pkgs/by-name/ge/gemini-cli/package.nix | 9 ++++--- pkgs/by-name/vs/vsce/package.nix | 24 ++++++++++++------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix b/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix index c51b510a7a81..cc8fbb270ddd 100644 --- a/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix +++ b/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix @@ -2,7 +2,6 @@ lib, vscode-utils, gemini-cli, - vsce, }: vscode-utils.buildVscodeExtension (finalAttrs: { pname = "gemini-cli-vscode-ide-companion"; @@ -15,8 +14,6 @@ vscode-utils.buildVscodeExtension (finalAttrs: { src = gemini-cli.overrideAttrs (oldAttrs: { pname = "gemini-cli-vscode-ide-companion-vsix"; - nativeBuildInputs = gemini-cli.nativeBuildInputs ++ [ vsce ]; - installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ge/gemini-cli/package.nix b/pkgs/by-name/ge/gemini-cli/package.nix index a075a7377e82..3269b59c3702 100644 --- a/pkgs/by-name/ge/gemini-cli/package.nix +++ b/pkgs/by-name/ge/gemini-cli/package.nix @@ -1,12 +1,14 @@ { lib, + stdenv, buildNpmPackage, fetchFromGitHub, - nix-update-script, - ripgrep, jq, pkg-config, + clang_20, libsecret, + ripgrep, + nix-update-script, }: buildNpmPackage (finalAttrs: { @@ -25,7 +27,8 @@ buildNpmPackage (finalAttrs: { nativeBuildInputs = [ jq pkg-config - ]; + ] + ++ lib.optionals stdenv.isDarwin [ clang_20 ]; # clang_21 breaks @vscode/vsce's optionalDependencies keytar buildInputs = [ ripgrep diff --git a/pkgs/by-name/vs/vsce/package.nix b/pkgs/by-name/vs/vsce/package.nix index fd7964d8485a..74816b748fd5 100644 --- a/pkgs/by-name/vs/vsce/package.nix +++ b/pkgs/by-name/vs/vsce/package.nix @@ -1,11 +1,13 @@ { lib, + stdenv, buildNpmPackage, fetchFromGitHub, pkg-config, libsecret, - python3, - testers, + nodejs, + clang_20, + versionCheckHook, nix-update-script, }: @@ -28,18 +30,19 @@ buildNpmPackage (finalAttrs: { nativeBuildInputs = [ pkg-config - python3 - ]; + nodejs.python + ] + ++ lib.optionals stdenv.isDarwin [ clang_20 ]; # clang_21 breaks @vscode/vsce's optional dependency keytar buildInputs = [ libsecret ]; makeCacheWritable = true; - npmFlags = [ "--legacy-peer-deps" ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; passthru = { - tests.version = testers.testVersion { - package = finalAttrs.finalPackage; - }; updateScript = nix-update-script { extraArgs = [ "--version-regex" @@ -51,7 +54,10 @@ buildNpmPackage (finalAttrs: { meta = { homepage = "https://github.com/microsoft/vscode-vsce"; description = "Visual Studio Code Extension Manager"; - maintainers = with lib.maintainers; [ aaronjheng ]; + maintainers = with lib.maintainers; [ + aaronjheng + xiaoxiangmoe + ]; license = lib.licenses.mit; mainProgram = "vsce"; };