* * * * *
Stupid GitHub tricks
All that work parsing git repositories [1] was for naught—it seems you can
link to individual files on GitHub (go figure!). So now I can create a
rockspec per module, like:
> package = "org.conman.tcc"
> version = "1.0.0-0"
>
> source =
> {
> url = "
https://raw.github.com/spc476/lua-conmanorg/1.0.0/src/tcc.c"
> }
>
> description =
> {
> homepage = "http://...",
> maintainer = "Sean Conner <
[email protected]>",
> license = "LGPL",
> summary = "Lua wrapper for TCC",
> detailed = [[
> Blah blah blah
> ]]
> }
>
> dependencies =
> {
> "lua ~> 5.1"
> }
>
> external_dependencies =
> {
> TCC = { header = "libtcc.h" }
> }
>
> build =
> {
> type = "builtin",
> copy_directories = {},
> modules =
> {
> ['org.conman.tcc'] =
> {
> sources = { 'tcc.c' },
> libraries = { "tcc" },
> }
> },
>
> variables =
> {
> CC = "$(CC) -std=c99",
> CFLAGS = "$(CFLAGS)",
> LFLAGS = "$(LIBFLAG)",
> LUALIB = "$(LIBDIR)"
> }
> }
>
(this particular module embeds a C compiler in Lua, which is something I do
need to talk about).
But it isn't like I wasted time on this. No, I don't view it that way at all.
In fact, I learned a few things—how to parse git repositories, how to parse a
variable amount of data in LPeg [2] and I have code to extract a single file
into its own git repository if I ever have that need again.
[1]
gopher://gopher.conman.org/0Phlog:2013/03/01.1
[2]
http://www.inf.puc-rio.br/~roberto/lpeg/
Email author at
[email protected]