diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2024-05-17 11:17:35 +0200 |
---|---|---|
committer | Sefa Eyeoglu <contact@scrumplex.net> | 2024-06-02 19:56:11 +0200 |
commit | 444b9863a94dbc5f0040e6a615f5c0c2b15e57f2 (patch) | |
tree | 328d6f4c2fc13202905c81c7c7694774f70e5eb8 /pkgs/by-name/ve/vesktop/package.nix | |
parent | 728d48285e5c17ed9764bc7067b9cece3ae81f15 (diff) |
vesktop: use pnpm.fetchDeps
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'pkgs/by-name/ve/vesktop/package.nix')
-rw-r--r-- | pkgs/by-name/ve/vesktop/package.nix | 84 |
1 files changed, 8 insertions, 76 deletions
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix index 9e45802d392eb..d133fe56ca12c 100644 --- a/pkgs/by-name/ve/vesktop/package.nix +++ b/pkgs/by-name/ve/vesktop/package.nix @@ -1,7 +1,6 @@ { lib, stdenv, - stdenvNoCC, fetchFromGitHub, substituteAll, makeWrapper, @@ -10,13 +9,11 @@ vencord, electron, libicns, - jq, - moreutils, - cacert, - nodePackages, pipewire, libpulseaudio, autoPatchelfHook, + pnpm, + nodejs, withTTS ? true, # Enables the use of vencord from nixpkgs instead of # letting vesktop manage it's own version @@ -33,66 +30,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-cZOyydwpIW9Xq716KVi1RGtSlgVnOP3w8vXDwouS70E="; }; - # NOTE: This requires pnpm 8.10.0 or newer - # https://github.com/pnpm/pnpm/pull/7214 - pnpmDeps = - assert lib.versionAtLeast nodePackages.pnpm.version "8.10.0"; - stdenvNoCC.mkDerivation { - pname = "${finalAttrs.pname}-pnpm-deps"; - inherit (finalAttrs) - src - version - patches - ELECTRON_SKIP_BINARY_DOWNLOAD - ; - - nativeBuildInputs = [ - cacert - jq - moreutils - nodePackages.pnpm - ]; - - # inspired by https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56 - # and based on https://github.com/NixOS/nixpkgs/pull/290715 - installPhase = '' - runHook preInstall - - export HOME=$(mktemp -d) - pnpm config set store-dir $out - # Some packages produce platform dependent outputs. We do not want to cache those in the global store - pnpm config set side-effects-cache false - # pnpm is going to warn us about using --force - # --force allows us to fetch all dependencies including ones that aren't meant for our host platform - pnpm install --force --frozen-lockfile --ignore-script - - ''; - - fixupPhase = '' - runHook preFixup - - # Remove timestamp and sort the json files - rm -rf $out/v3/tmp - for f in $(find $out -name "*.json"); do - sed -i -E -e 's/"checkedAt":[0-9]+,//g' $f - jq --sort-keys . $f | sponge $f - done - - runHook postFixup - ''; - - dontConfigure = true; - dontBuild = true; - outputHashMode = "recursive"; - outputHash = "sha256-PogE8uf3W5cKSCqFHMz7FOvT7ONUP4FiFWGBgtk3UC8="; - }; + pnpmDeps = pnpm.fetchDeps { + inherit (finalAttrs) pname version src patches; + hash = "sha256-PogE8uf3W5cKSCqFHMz7FOvT7ONUP4FiFWGBgtk3UC8="; + }; nativeBuildInputs = [ autoPatchelfHook copyDesktopItems makeWrapper - nodePackages.pnpm - nodePackages.nodejs + nodejs + pnpm.configHook ]; buildInputs = [ @@ -110,22 +58,6 @@ stdenv.mkDerivation (finalAttrs: { ELECTRON_SKIP_BINARY_DOWNLOAD = 1; - configurePhase = '' - runHook preConfigure - - export HOME=$(mktemp -d) - export STORE_PATH=$(mktemp -d) - - cp -Tr "$pnpmDeps" "$STORE_PATH" - chmod -R +w "$STORE_PATH" - - pnpm config set store-dir "$STORE_PATH" - pnpm install --frozen-lockfile --ignore-script --offline - patchShebangs node_modules/{*,.*} - - runHook postConfigure - ''; - buildPhase = '' runHook preBuild |