Skip to content

Commit 7a75323

Browse files
authored
vscode-extensions.rust-lang.rust-analyzer: fix build and bump version (#383049)
2 parents 18f0ce2 + e5719fa commit 7a75323

File tree

4 files changed

+16
-64
lines changed

4 files changed

+16
-64
lines changed

pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
{
2+
pkgsBuildBuild,
23
lib,
34
fetchFromGitHub,
45
vscode-utils,
56
jq,
67
rust-analyzer,
7-
nodePackages,
8+
buildNpmPackage,
89
moreutils,
910
esbuild,
1011
pkg-config,
@@ -21,55 +22,50 @@ let
2122
# Use the plugin version as in vscode marketplace, updated by update script.
2223
inherit (vsix) version;
2324

24-
releaseTag = "2024-07-08";
25+
releaseTag = "2025-02-17";
2526

2627
src = fetchFromGitHub {
2728
owner = "rust-lang";
2829
repo = "rust-analyzer";
2930
rev = releaseTag;
30-
hash = "sha256-STmaV9Zu74QtkGGrbr9uMhskwagfCjJqOAYapXabiuk=";
31+
hash = "sha256-i76MMFSkCr4kDwurK8CACwZq7qEgVEgIzkOr2kiuAKk=";
3132
};
3233

33-
build-deps =
34-
nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
35-
# FIXME: Making a new derivation to link `node_modules` and run `npm run package`
36-
# will cause a build failure.
37-
vsix = build-deps.override {
34+
vsix = buildNpmPackage {
35+
inherit pname releaseTag;
36+
version = lib.trim (lib.readFile ./version.txt);
3837
src = "${src}/editors/code";
39-
outputs = [
40-
"vsix"
41-
"out"
38+
npmDepsHash = "sha256-0frOGphtzO6z8neSEYfjyRYrM6zEO3wId/TACblZkxM=";
39+
buildInputs = [
40+
pkgsBuildBuild.libsecret
4241
];
43-
44-
inherit releaseTag;
45-
4642
nativeBuildInputs =
4743
[
4844
jq
4945
moreutils
5046
esbuild
5147
# Required by `keytar`, which is a dependency of `vsce`.
5248
pkg-config
53-
libsecret
5449
]
5550
++ lib.optionals stdenv.hostPlatform.isDarwin [
5651
darwin.apple_sdk.frameworks.AppKit
5752
darwin.apple_sdk.frameworks.Security
5853
];
5954

6055
# Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
61-
postRebuild = ''
56+
installPhase = ''
6257
jq '
6358
.version = $ENV.version |
6459
.releaseTag = $ENV.releaseTag |
6560
.enableProposedApi = false |
6661
walk(del(.["$generated-start"]?) | del(.["$generated-end"]?))
6762
' package.json | sponge package.json
6863
69-
mkdir -p $vsix
70-
npx vsce package -o $vsix/${pname}.zip
64+
mkdir -p $out
65+
npx vsce package -o $out/${pname}.zip
7166
'';
7267
};
68+
7369
in
7470
vscode-utils.buildVscodeExtension {
7571
inherit version vsix pname;

pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/update.sh

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
set -euo pipefail
55
cd "$(dirname "$0")"
66
nixpkgs=../../../../../../
7-
node_packages="$nixpkgs/pkgs/development/node-packages"
87
owner=rust-lang
98
repo=rust-analyzer
109
ver=$(
@@ -25,27 +24,7 @@ fi
2524
extension_ver=$(curl "https://github.com/$owner/$repo/releases/download/$ver/rust-analyzer-linux-x64.vsix" -L |
2625
bsdtar -xf - --to-stdout extension/package.json | # Use bsdtar to extract vsix(zip).
2726
jq --raw-output '.version')
27+
echo -n $extension_ver > version.txt
2828
echo "Extension version: $extension_ver"
2929

30-
# We need devDependencies to build vsix.
31-
# `esbuild` is a binary package an is already in nixpkgs so we omit it here.
32-
jq '{ name, version: $ver, dependencies: (.dependencies + .devDependencies | del(.esbuild)) }' "$node_src/package.json" \
33-
--arg ver "$extension_ver" \
34-
>"build-deps/package.json.new"
35-
36-
old_deps="$(jq '.dependencies' build-deps/package.json)"
37-
new_deps="$(jq '.dependencies' build-deps/package.json.new)"
38-
if [[ "$old_deps" == "$new_deps" ]]; then
39-
echo "package.json dependencies not changed, do simple version change"
40-
41-
sed -E '/^ "rust-analyzer-build-deps/,+3 s/version = ".*"/version = "'"$extension_ver"'"/' \
42-
--in-place "$node_packages"/node-packages.nix
43-
mv build-deps/package.json{.new,}
44-
else
45-
echo "package.json dependencies changed, updating nodePackages"
46-
mv build-deps/package.json{.new,}
47-
48-
./"$node_packages"/generate.sh
49-
fi
50-
5130
echo "Remember to also update the releaseTag and hash in default.nix!"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.3.2308

0 commit comments

Comments
 (0)