From a610a38cb5909e40d47e2c54b4f06c6226594158 Mon Sep 17 00:00:00 2001 From: John Ericson <John.Ericson@Obsidian.Systems> Date: Fri, 22 Nov 2019 19:43:17 -0500 Subject: [PATCH] lua wrapper: Fix bash error Recently, we made it harder for external code to use some stdenv-only bash variables by unsetting them in [1] But Lua's `withPackages` was sourcing some setup hooks in [2], which required those bash variables. I say great! We caught something bad: Lua should use normal dependencies, even though that is harder with `buildEnv`. Now it works that way, and everything is fine. [1]: https://github.com/NixOS/nixpkgs/blob/9d3911f806034197bb7ace586cc3696ffce7f447/pkgs/stdenv/generic/setup.sh#L574-L578 [2]: https://github.com/NixOS/nixpkgs/blob/9d3911f806034197bb7ace586cc3696ffce7f447/pkgs/development/interpreters/lua-5/wrapper.nix#L23-L27 CC @matthewbauer --- pkgs/development/interpreters/lua-5/wrapper.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix index 816744e61cff..53ec2baeb5e5 100644 --- a/pkgs/development/interpreters/lua-5/wrapper.nix +++ b/pkgs/development/interpreters/lua-5/wrapper.nix @@ -11,7 +11,7 @@ let env = let paths = requiredLuaModules (extraLibs ++ [ lua ] ); - in buildEnv { + in (buildEnv { name = "${lua.name}-env"; inherit paths; @@ -20,12 +20,6 @@ let # we create wrapper for the binaries in the different packages postBuild = '' - - . "${makeWrapper}/nix-support/setup-hook" - - # get access to lua functions - . ${lua}/nix-support/setup-hook - if [ -L "$out/bin" ]; then unlink "$out/bin" fi @@ -68,5 +62,8 @@ let ''; }; }; - }; + }).overrideAttrs (_: { + # Add extra deps needed for postBuild hook. + nativeBuildInputs = [ makeWrapper lua ]; + }); in env