640cdcb814
In order to have the 'reset' LUA_PATH (aka `;;`) work, and for purity reasons(removing /usr paths) we(I) decided to patch the lua interpreters default LUA_PATH. Turns out the interpreters have different defaults and the patch was too coarse. There is smarter patching that can be done via LUA_ROOT. Also luajit doesn't need patching at all since LUA_ROOT is set via the build system.
40 lines
1.0 KiB
Nix
40 lines
1.0 KiB
Nix
# Hooks for building lua packages.
|
|
{ lua
|
|
, lib
|
|
, makeSetupHook
|
|
, findutils
|
|
, runCommand
|
|
}:
|
|
|
|
let
|
|
callPackage = lua.pkgs.callPackage;
|
|
in {
|
|
|
|
lua-setup-hook = LuaPathSearchPaths: LuaCPathSearchPaths:
|
|
let
|
|
hook = ./setup-hook.sh;
|
|
in runCommand "lua-setup-hook.sh" {
|
|
# hum doesn't seem to like caps !! BUG ?
|
|
luapathsearchpaths=lib.escapeShellArgs LuaPathSearchPaths;
|
|
luacpathsearchpaths=lib.escapeShellArgs LuaCPathSearchPaths;
|
|
} ''
|
|
cp ${hook} hook.sh
|
|
substituteAllInPlace hook.sh
|
|
mv hook.sh $out
|
|
'';
|
|
|
|
luarocksCheckHook = callPackage ({ luarocks }:
|
|
makeSetupHook {
|
|
name = "luarocks-check-hook";
|
|
propagatedBuildInputs = [ luarocks ];
|
|
} ./luarocks-check-hook.sh) {};
|
|
|
|
# luarocks installs data in a non-overridable location. Until a proper luarocks patch,
|
|
# we move the files around ourselves
|
|
luarocksMoveDataFolder = callPackage ({ }:
|
|
makeSetupHook {
|
|
name = "luarocks-move-rock";
|
|
propagatedBuildInputs = [ ];
|
|
} ./luarocks-move-data.sh) {};
|
|
}
|