From 3cdf71710d7e0c5822a6d9ffb21f5aba12795955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 19 Jun 2025 12:11:29 +0200 Subject: [PATCH 1/4] bash-language-server: 5.4.0 -> 5.6.0 --- .../ba/bash-language-server/package.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index d1b787529e21..8f5ff7f2bafc 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - pnpm_8, + pnpm_10, nodejs, makeBinaryWrapper, shellcheck, @@ -11,29 +11,29 @@ stdenv.mkDerivation (finalAttrs: { pname = "bash-language-server"; - version = "5.4.0"; + version = "5.6.0"; src = fetchFromGitHub { owner = "bash-lsp"; repo = "bash-language-server"; rev = "server-${finalAttrs.version}"; - hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE="; + hash = "sha256-Pe32lQSlyWcyUbqwhfoulwNwhrnWdRcKFIl3Jj0Skac="; }; pnpmWorkspaces = [ "bash-language-server" ]; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src pnpmWorkspaces ; - hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg="; + hash = "sha256-NvyqPv5OKgZi3hW98Da8LhsYatmrzrPX8kLOfLr+BrI="; }; nativeBuildInputs = [ nodejs - pnpm_8.configHook + pnpm_10.configHook makeBinaryWrapper versionCheckHook ]; @@ -45,19 +45,20 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; + # will be fixed in a later commit + dontCheckForBrokenSymlinks = true; + installPhase = '' runHook preInstall - pnpm --offline \ - --frozen-lockfile --ignore-script \ - --filter=bash-language-server \ - deploy --prod $out/lib/bash-language-server + mkdir -p $out/{bin,lib/bash-language-server} + cp -r {node_modules,server} $out/lib/bash-language-server/ # Create the executable, based upon what happens in npmHooks.npmInstallHook makeWrapper ${lib.getExe nodejs} $out/bin/bash-language-server \ --suffix PATH : ${lib.makeBinPath [ shellcheck ]} \ --inherit-argv0 \ - --add-flags $out/lib/bash-language-server/out/cli.js + --add-flags $out/lib/bash-language-server/server/out/cli.js runHook postInstall ''; From c38f7a2581fa15b88b5b1be139721c8735a88506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 19 Jun 2025 14:24:09 +0200 Subject: [PATCH 2/4] bash-language-server: remove unnecessary and non-deterministic files --- pkgs/by-name/ba/bash-language-server/package.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index 8f5ff7f2bafc..5de20c97e641 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -45,8 +45,18 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; - # will be fixed in a later commit - dontCheckForBrokenSymlinks = true; + preInstall = '' + # remove unnecessary files + rm node_modules/.modules.yaml + pnpm --ignore-scripts --prod prune + rm -r node_modules/.pnpm/@mixmark-io*/node_modules/@mixmark-io/domino/{test,.yarn} + find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} + + # https://github.com/pnpm/pnpm/issues/3645 + find node_modules server/node_modules -xtype l -delete + + # remove non-deterministic files + rm node_modules/{.modules.yaml,.pnpm-workspace-state.json} + ''; installPhase = '' runHook preInstall From 32d89fb6188c3bebf749a12a4fddcbd866179882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 19 Jun 2025 14:33:32 +0200 Subject: [PATCH 3/4] bash-language-server: refactor --- pkgs/by-name/ba/bash-language-server/package.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index 5de20c97e641..ee5312d2a2b8 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + stdenvNoCC, fetchFromGitHub, pnpm_10, nodejs, @@ -9,14 +9,14 @@ versionCheckHook, }: -stdenv.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "bash-language-server"; version = "5.6.0"; src = fetchFromGitHub { owner = "bash-lsp"; repo = "bash-language-server"; - rev = "server-${finalAttrs.version}"; + tag = "server-${finalAttrs.version}"; hash = "sha256-Pe32lQSlyWcyUbqwhfoulwNwhrnWdRcKFIl3Jj0Skac="; }; @@ -75,12 +75,14 @@ stdenv.mkDerivation (finalAttrs: { doInstallCheck = true; - meta = with lib; { + meta = { description = "Language server for Bash"; homepage = "https://github.com/bash-lsp/bash-language-server"; - license = licenses.mit; - maintainers = with maintainers; [ doronbehar ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + doronbehar + ]; mainProgram = "bash-language-server"; - platforms = platforms.all; + platforms = lib.platforms.all; }; }) From 32a1066961d14f6c79ab1222d95b344826e489e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Thu, 19 Jun 2025 14:52:25 +0200 Subject: [PATCH 4/4] bash-language-server: add meta.changelog and maintainer gepbird --- pkgs/by-name/ba/bash-language-server/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ba/bash-language-server/package.nix b/pkgs/by-name/ba/bash-language-server/package.nix index ee5312d2a2b8..49e85c9f6661 100644 --- a/pkgs/by-name/ba/bash-language-server/package.nix +++ b/pkgs/by-name/ba/bash-language-server/package.nix @@ -78,9 +78,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "Language server for Bash"; homepage = "https://github.com/bash-lsp/bash-language-server"; + changelog = "https://github.com/bash-lsp/bash-language-server/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ doronbehar + gepbird ]; mainProgram = "bash-language-server"; platforms = lib.platforms.all;