|
Am 14.09.2013 06:55 schröbte Jayanth Acharya:If the rock uses the `builtin` build type (like luars232) you can download the rockspec[1] from the luarocks site[2], modify the rockspec to include the proper defines, and install the rock via the modified local rockspec:
However, I'd also be quite interested in the other method that you
suggested. Since I installed the "luars232" library using luarocks, I am
not quite sure if there is a place on this machine where the library
sources are there, and I can enable DBG and rebuild it. Or, should I clone
the "luars232" module from Git and then do this ? If the latter, do I first
uninstall the version installed via luarocks ?
luarocks install luars232-1.0.3-1.rockspec
In your case the modified build section in the rockspec would look like this:
...
build = {
type = "builtin",
platforms = {
unix = {
modules = {
luars232 = {
sources = { "src/rs232.c", "src/rs232_posix.c", "bindings/lua/luars232.c" },
incdirs = { "include" },
defines = { "RS232_DEBUG=1", "LUAROCKS_HACK -std=gnu99" },
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
}
},
...
If the rock in question does *not* use the `builtin` build type I would download and unpack the corresponding source rock (just a zip archive, see e.g. [3]), modify the build scripts and/or source files inside, move the included rockspec file to the top-level source directory and call from there:
luarocks make
You could also try this with a clone of git head, but some projects require a non-trivial packaging step (like generating some source file), in which case this approach would fail unless you also perform those packaging steps yourself.
[1]: http://luarocks.org/repositories/rocks/luars232-1.0.3-1.rockspec
[2]: http://luarocks.org/repositories/rocks/
[3]: http://luarocks.org/repositories/rocks/luars232-1.0.3-1.src.rock
In both cases you don't need to uninstall anything, the old files in the local rocks tree just get replaced.
HTH,
Philipp