lua-users home
lua-l archive

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


I'm happy to announce LuaRocks 2.0:

This is the Unix tarball. The Windows package will follow later.

What's new:

* module files are now deployed to standard Lua-style paths:
$PREFIX/lib/lua/5.1 and $PREFIX/share/lua/5.1. This means that vanilla
builds of Lua and LuaRocks are now compatible with each other
out-of-the-box (installing into /usr/local). This means
require("luarocks.require") is no longer necessary to load modules
installed using LuaRocks. Support for multiple repositories and
multiple versions in a repository is still retained (for the latter,
the new require("luarocks.loader") is needed -- luarocks.require works
as a compatibility alias).

* this should be transparent in regular use but it's important
nonetheless -- new abstraction system for fs operations: the
OS-specific backends for luarocks.fs were split between native-Lua and
tool-based implementations. LuaRocks can now use libraries such as
luafilesystem and luacurl to perform operations, as well as David
Manura's native-Lua implementation of 'patch'. This is still an
ongoing work but the long-term plan is to essentially remove
dependency on third party tools (with probable exceptions being things
like cvs when using development rocks). I'd like to have LuaRocks 2.0
ship with no dependencies on command-line tools in its usual operation
(which is desired for things such as Lua for Windows) but getting the
new module handling scheme out was a higher priority.

* Local manifest and repositories are not compatible and need to be
rebuilt (sorry), but remote manifest, the rockspec and rock formats
remain compatible. That means the current LuaRocks repository works
with LR1 and LR2.

* new command for luarocks: "download", to fetch .rock and .rockspec files.

* new commands for luarocks-admin: "add", to upload rocks to a
repository, and "refresh_cache", to refresh the cache used by the
"add" command. These are not very useful for most users, but make
managing remote repositories much, much easier.

* plus a number of cleanups and bugfixes.

Thanks to everyone involved in the making of this release, which has
been in the works for over one year. You know who you are and you all

Any feedback is welcome. Thanks for your patience,

-- Hisham