diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index 1e60f430586f..5d0ed06b5ae0 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -5,6 +5,7 @@ , withDBI ? true # use withExtraLibs to add additional dependencies of community modules , withExtraLibs ? [ ] +, withExtraLuaPackages ? _: [ ] , withOnlyInstalledCommunityModules ? [ ] , withCommunityModules ? [ ] }: @@ -17,6 +18,7 @@ let ] ++ lib.optional withLibevent p.luaevent ++ lib.optional withDBI p.luadbi + ++ withExtraLuaPackages p ); in stdenv.mkDerivation rec { @@ -63,23 +65,26 @@ stdenv.mkDerivation rec { make -C tools/migration ''; + luaEnvPath = lua.pkgs.lib.genLuaPathAbsStr luaEnv; + luaEnvCPath = lua.pkgs.lib.genLuaCPathAbsStr luaEnv; + # the wrapping should go away once lua hook is fixed postInstall = '' ${concatMapStringsSep "\n" (module: '' cp -r $communityModules/mod_${module} $out/lib/prosody/modules/ '') (lib.lists.unique(nixosModuleDeps ++ withCommunityModules ++ withOnlyInstalledCommunityModules))} wrapProgram $out/bin/prosody \ - --prefix LUA_PATH ';' "$LUA_PATH" \ - --prefix LUA_CPATH ';' "$LUA_CPATH" + --set LUA_PATH "$luaEnvPath" \ + --set LUA_CPATH "$luaEnvCPath" wrapProgram $out/bin/prosodyctl \ --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \ - --prefix LUA_PATH ';' "$LUA_PATH" \ - --prefix LUA_CPATH ';' "$LUA_CPATH" + --set LUA_PATH "$luaEnvPath" \ + --set LUA_CPATH "$luaEnvCPath" make -C tools/migration install wrapProgram $out/bin/prosody-migrator \ - --prefix LUA_PATH ';' "$LUA_PATH" \ - --prefix LUA_CPATH ';' "$LUA_CPATH" + --set LUA_PATH "$luaEnvPath" \ + --set LUA_CPATH "$luaEnvCPath" ''; passthru = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1af93f995069..d926658b72ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21056,6 +21056,7 @@ with pkgs; # _compat can probably be removed on next minor version after 0.10.0 lua = lua5_2_compat; withExtraLibs = []; + withExtraLuaPackages = _: []; }; prosody-filer = callPackage ../servers/xmpp/prosody-filer { };