From 94447e06b4cd7c288d6f0e8d1913d46d4cb7d614 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 8 Oct 2020 09:43:53 +0200 Subject: [PATCH] nodePackages.expo-cli: use .override generate.sh seems to remove changes to node-env.nix, fortunately .override seems to work so .overrideNodeAttrs does not actually seem necessary. Not sure why I did not use it before. --- pkgs/development/node-packages/default.nix | 3 +- pkgs/development/node-packages/node-env.nix | 33 ++------------------- 2 files changed, 3 insertions(+), 33 deletions(-) diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 36fd48681c1..4ef3de0bb4e 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -59,8 +59,7 @@ let buildInputs = [ pkgs.phantomjs2 ]; }; - expo-cli = super."expo-cli".overrideNodeAttrs (attrs: { - __acceptOverrideNodeAttrsCanBeDroppedAnytime = true; + expo-cli = super."expo-cli".override (attrs: { # The traveling-fastlane-darwin optional dependency aborts build on Linux. dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies; }); diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix index b30df577f20..e1abf530493 100644 --- a/pkgs/development/node-packages/node-env.nix +++ b/pkgs/development/node-packages/node-env.nix @@ -372,37 +372,8 @@ let fi ''; - # Derivations built with `buildNodePackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`. - # This function introduces `overrideNodeAttrs` and it overrides the call to `buildNodePackage`. - # - # THIS FUNCTION IS TEMPORARY until we have a better mechanism in place: - # https://github.com/NixOS/nixpkgs/pull/96509#issuecomment-682381592 - # YOU SHOULD NOT USE IT UNLESS YOU ACCEPT THAT. - makeOverridableNodePackage = f: origArgs: - let - ff = f origArgs; - overrideWith = newArgs: origArgs // ( - let args = if stdenv.lib.isFunction newArgs then newArgs origArgs else newArgs; - in - assert stdenv.lib.assertMsg (args.__acceptOverrideNodeAttrsCanBeDroppedAnytime or false) '' - overrideNodeAttrs is temporary function that will be removed once a better mechanism exists. - Pass it `__acceptOverrideNodeAttrsCanBeDroppedAnytime = true;` to aknowledge the fact. - ''; - builtins.removeAttrs args [ "__acceptOverrideNodeAttrsCanBeDroppedAnytime" ] - ); - in - if builtins.isAttrs ff then (ff // { - overrideNodeAttrs = newArgs: makeOverridableNodePackage f (overrideWith newArgs); - }) - else if builtins.isFunction ff then { - overrideNodeAttrs = newArgs: makeOverridableNodePackage f (overrideWith newArgs); - __functor = self: ff; - } - else ff; - - # Builds and composes an NPM package including all its dependencies - buildNodePackage = makeOverridableNodePackage ( + buildNodePackage = { name , packageName , version @@ -472,7 +443,7 @@ let # Run post install hook, if provided runHook postInstall ''; - } // extraArgs)); + } // extraArgs); # Builds a development shell buildNodeShell =