lua-users home
lua-l archive

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


> ;)  With Linux, getting the tools you need (compiler, if not already
> there0 and git is just a command away.

Sure, but getting git and gcc won't get you binaries in your work tree
-- that is still hours away (in my experience), even in Linux. Also,
mingw can be put together[1] the same way as a luapower deployment:
download & unzip.

> Git-dependence for Windows involves some work (it's probably easier to
> get a single-install compiler through TDM) although I use it without
> any problems.

You're right, that's why I recommend the download & unzip method
instead, which doesn't require any tools, and you get the same effect,
minus the benefits of version control.

> The LuaDist project does binary installs using a Lua
> module which allows Git fetches without the rest of Git - worth
> looking into.

Thanks, I'll look into that.

It's great that you mentioned LuaDist, because now I can attempt a
comparison, from my limited understanding of it (some of the points go
for LuaRocks too):

1) LuaDist (and LuaRocks) installs modules by copying them out of the
sight of git -- with luapower, all the files in your work tree are
still under version control, and not only that, but they are under the
git repositories from which they came from -- so everything you modify
in your tree can be pushed back to its origin -- so it's always a two
way street. It feels like editing an aggregated git-based wiki.

2) LuaDist keeps binaries in separate branches, so the work tree is
not really portable _as it is_, there's a deployment step involved.
With luapower sources and binaries for all platforms are all in the
same branch, so the development tree is also the deployment tree (no
deployment step at all). This means that if the app code itself is
portable, I could just zip you my work tree from Windows, you unzip it
in Linux and you run the app and it works. Or if we use git, I push,
you pull and again, it just works.

3) LuaDist went the CMake way, I went with gcc one-liners. My reasons
are described in the problem-solution doc I mentioned earlier. In
short: build systems are unreliable so when they break, I want as
little indirection as possible between the problem (.c and .h files)
and the solution (the compiler) so I can fix it. I also found it
overkill that (please correct me if I'm wrong) even the installation
step (which is basically just copying files) goes through a CMake
script in LuaDist.

> Although then the general concern would be: is this not re-inventing
> LuaRocks/LuaDist?

Yes, but is there any other way? :)

[1] http://luapower.com/building.html