Skip to main content

8th GSoC Week Report

After some fusion dance, we have some stuff working neatly! Last week was all about the lua environment and improvements aimed at user-friendliness, which you can check down below with the latest changesets and demos.



  • Removed most development/experimental commands
  • Created a script that is automatically setting up a ready to be served repository will rockspecs for all of prosody's plugins (demo)
  • Various improvements/updates to the main commands:
  • prosody uses a separate folder to deal with non-standard plugins - demo
  • Users can configure their own path, and override it at any time from the command line if needed - demo
  • Updated the startup utility script regarding management of default/custom installer directories and lua environment


The greatest obstacles this past week were everything related with the concept of lua environment and its setup, which I wasn't really familiar with. Right now I *think* I have a clearer idea of what I'm doing when messing with that, after some explanations and research. Prosody is now complementing a its process's Lua environment with the required paths.
For people who are new to the concept like me, this is a cool source of info that I've found and you might want to check out.

Future goals

Code right now is a bit too messy after all the turmoil to get things working, and that needs to be improved this week.
There are also some minor issues left regarding rockspecs and pathing that I need to check to make sure are right. Specifically, I'm still having some trouble with modules that have more than one file or more complex structures, and making sure prosody is really finding everything it needs regarding installed plugins and lua libraries, although so far it seems to be okay.
Some first serious steps into documentation should also be made until the next blog. Time is flying, and its August right around the corner. This is GSoC's last month =[


Don't know a thing about how to use moon rocks? Well, I made a breathtaking attempt at explaining some basics, which you can check here!