diff --git a/pkgs/by-name/co/concurrently/package.nix b/pkgs/by-name/co/concurrently/package.nix index 52c56d9cfe34..cfaaebbbba5e 100644 --- a/pkgs/by-name/co/concurrently/package.nix +++ b/pkgs/by-name/co/concurrently/package.nix @@ -2,22 +2,23 @@ lib, stdenv, fetchFromGitHub, - fetchpatch2, makeWrapper, nodejs, - pnpm_8, + pnpm_10, fetchPnpmDeps, pnpmConfigHook, + versionCheckHook, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "concurrently"; - version = "8.2.2"; + version = "9.2.1"; src = fetchFromGitHub { owner = "open-cli-tools"; repo = "concurrently"; tag = "v${finalAttrs.version}"; - hash = "sha256-VoyVYBOBMguFKnG2VItk1L5BbF72nO7bYJpb7adqICs="; + hash = "sha256-PKbrYgQ6D0vxMSxx+aHBo09NJZh5YYfb9Fx9L5Ue8vM="; }; pnpmDeps = fetchPnpmDeps { @@ -25,26 +26,17 @@ stdenv.mkDerivation (finalAttrs: { pname version src - patches ; - pnpm = pnpm_8; - fetcherVersion = 1; - hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0="; + pnpm = pnpm_10; + fetcherVersion = 3; + hash = "sha256-UVsmOneTICl3Ybmv7ebebkXmr1qwNh17dPhL0qlPgyg="; }; - patches = [ - (fetchpatch2 { - name = "use-pnpm-8.patch"; - url = "https://github.com/open-cli-tools/concurrently/commit/0b67a1a5a335396340f4347886fb9d0968a57555.patch"; - hash = "sha256-mxid2Yl9S6+mpN7OLUCrJ1vS0bQ/UwNiGJ0DL6Zn//Q="; - }) - ]; - nativeBuildInputs = [ makeWrapper nodejs pnpmConfigHook - pnpm_8 + pnpm_10 ]; buildPhase = '' @@ -55,6 +47,17 @@ stdenv.mkDerivation (finalAttrs: { runHook postBuild ''; + preInstall = '' + # remove unnecessary files + CI=true pnpm --ignore-scripts --prod prune + find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} + + # https://github.com/pnpm/pnpm/issues/3645 + find node_modules -xtype l -delete + + # remove non-deterministic files + rm node_modules/{.modules.yaml,.pnpm-workspace-state-v1.json} + ''; + installPhase = '' runHook preInstall @@ -63,10 +66,19 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper "${lib.getExe nodejs}" "$out/bin/concurrently" \ --add-flags "$out/lib/concurrently/dist/bin/concurrently.js" ln -s "$out/bin/concurrently" "$out/bin/con" + cp package.json "$out/lib/concurrently/" runHook postInstall ''; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + meta = { changelog = "https://github.com/open-cli-tools/concurrently/releases/tag/v${finalAttrs.version}"; description = "Run commands concurrently";