lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 6 Mar, 2013, at 10:23 , steve donovan <steve.j.donovan@gmail.com> wrote:

> ...
> So this is how I would do it; I would use LuaBuild to make a
> standalone Lua 5.2 executable with luafilesystem, luasocket, and one
> of the zip libraries.  We can simplify the problem by only allowing
> http and ftp, which luasocket handles fine - we can do this because we
> can arrange suitable hosting (https is a complete other kettle of
> fish).

Please consider using lua-git[1] to download the files directly from git. Latest LuaDist relies on it for all downloads and it has proved to be reliable for both source and binary downloads. Currently it is lua-5.1 bound but with minor modification I think it would work very well.

> (I've been thinking along exactly these lines with Lake, which has
> recently acquired a plug-in system; the natural next step is to allow
> for these plugins to be downloadable.  For the moment, I would expect
> Windows users to grab wget, but I'm sure it can all be done in a base
> executable about 300kb)

I have just tried it with LuaDist and the zipped minimal downloader is ±300kb[2] which is about 650kb unpacked. It will download and install lua-5.1 + batteries on your desktop but extending this to ask for user input and install lua-5.2/luajit etc. is trivial. NOTE: it will only install binary modules and does not require CMake, compiler suite or any other dependency.

> It would be of course useful to have a dedicated smartlua repo, which
> would just be a HTTP directory, perhaps with a simple manifest, even
> if it just provides redirects.  Let me put a PoC concept executable
> together; the thing to think about is how a programmer goes about
> asking for a package.  We can hijack require to do a request to the
> repo, for instance; we can do as Go does, and have long package names
> which contain a reference to the server.

I would recommend using git to store the files similarly to what Homebrew[3] does. This would also allow multiple people to accept and review pull requests when using GitHub.

pd

[1] https://github.com/mkottman/lua-git
[2] https://github.com/drahosp/LuaDist-installer/archive/master.zip
[3] https://github.com/mxcl/homebrew/pulls