lua-users home
lua-l archive

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


Am 30.09.2013 10:00 schröbte steve donovan:
On Sun, Sep 29, 2013 at 6:11 PM, Philipp Janda <siffiejoe@gmx.net> wrote:
I can understand that some people don't want to install the resulting files
in the rocks tree, but that can be achieved simply with a new luarocks
subcommand (something like `luarocks make` which doesn't check/download
dependencies and moves the resulting files into a subdirectory of the source
directory[*] instead of installing into the rocks tree).

A good idea.

Apparently I'm not the first one to think it: See Hishams message about `luarocks --nodeps --pack-binary-rock build` (or better `make`), but the current implementation unfortunately creates a temporary rocks tree and manifest and therefore basically requires every existing luarocks submodule (and some unnecessary external tools).


That's a big job, and feels like a fragmenting move .... better to use
a tool specialized in building (I naturally like Lake for this ;)) and
a tool specialized for installing.

LuaRocks already supports some common specialized build tools. We don't need another one. What we need (IMHO) is a script (as portable and easy to install as possible) that uses the information in a rockspec and the meta build tool embedded in LuaRocks, and spits out a directory hierarchy of dlls and lua files suitable for manual installation/embedding/packaging. If you can convince most Lua developers to use Lake instead of autotools, make, cmake, shell scripts, and/or <insert obscure tool here>: Bravo, that will make things easier! But until then we will have to deal with a bunch of specialized build tools, and LuaRocks does a decent job at it.


Ordinary users would be more happy if all the common modules were
already built as binaries for their platform, applies to both Windows
and OS X I think.  Then LR is a good delivery vehicle.  LuaDist has an
edge here, since it's an ambitious 'build-the-world' system and
binaries come directly out of the process, which is why we would
recommend the LD batteries for no-fuss installations.  The two systems
aren't necessarily in competition and could (and should) be harmonized
at some point.

I think we agree on the basics, but come to different conclusions: LuaDist makes it easy to provide a working binary base distribution because it also compiles/delivers external dependencies, LuaRocks is for compiling/installing stuff yourself, because it doesn't have a dependency on a particular build tool like cmake (although the rockspec itself may have), and you don't have to port the libraries' native build scripts to cmake. I'm not sure if the LuaDist approach will scale beyond a certain size, because you need to create and maintain build scripts for a lot of third-party libraries ...


steve d.


Philipp