From 75ee18766ac52a97df1dc55a11a2d44cb0e68d0e Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 10 Jul 2020 18:24:03 +0200 Subject: [PATCH] yarn2nix: Don't pass yarnNix to mkDerivation (#92856) The generated yarnNix file doesn't need to be part of the mkDerivation. And doing so prevents other platforms from reproducibly instantiating it. With this change you can e.g. do darwinPkgs.yarn2nix.mkYarnPackage { # ... yarnNix = pkgs.yarn2nix.mkYarnNix { yarnLock = ./yarn.lock; }; } Which is a darwin derivation, but can still be instantiated reproducibly on Linux. --- pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix index 22032e145d3f..89bc169d5038 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix @@ -284,7 +284,7 @@ in rec { '') workspaceDependenciesTransitive; - in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig" "workspaceDependencies"] // { + in stdenv.mkDerivation (builtins.removeAttrs attrs ["yarnNix" "pkgConfig" "workspaceDependencies"] // { inherit src pname; name = baseName; @@ -389,7 +389,7 @@ in rec { # yarn2nix is the only package that requires the yarnNix option. # All the other projects can auto-generate that file. yarnNix = ./yarn.nix; - + # Using the filter above and importing package.json from the filtered # source results in an error in restricted mode. To circumvent this, # we import package.json from the unfiltered source