{"id":29614764,"url":"https://github.com/popovicu/glua-kit","last_synced_at":"2025-07-21T00:01:39.273Z","repository":{"id":305560596,"uuid":"1022895967","full_name":"popovicu/glua-kit","owner":"popovicu","description":"Monorepo for integrating (gluing) the mainline Lua into different applications","archived":false,"fork":false,"pushed_at":"2025-07-20T19:59:36.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-20T20:39:50.075Z","etag":null,"topics":["bazel","go","lua"],"latest_commit_sha":null,"homepage":"https://popovicu.com/glua-kit/","language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/popovicu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-20T04:42:26.000Z","updated_at":"2025-07-20T20:24:28.000Z","dependencies_parsed_at":"2025-07-20T20:49:56.504Z","dependency_job_id":null,"html_url":"https://github.com/popovicu/glua-kit","commit_stats":null,"previous_names":["popovicu/glua-kit"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/popovicu/glua-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/popovicu%2Fglua-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/popovicu%2Fglua-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/popovicu%2Fglua-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/popovicu%2Fglua-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/popovicu","download_url":"https://codeload.github.com/popovicu/glua-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/popovicu%2Fglua-kit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266217170,"owners_count":23894242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bazel","go","lua"],"created_at":"2025-07-21T00:00:40.033Z","updated_at":"2025-07-21T00:01:39.241Z","avatar_url":"https://github.com/popovicu.png","language":"Starlark","readme":"# glua-kit\n\n**glua-kit (Glue Lua kit)** is a Bazel-based monorepo for integrating (\"gluing\") *mainline Lua* into applications and build flows in general.\n\n\u003e :warning: This project is not ready for any sort of production use at this point.\n\u003e Use with caution for any non-experimental setting and please file requests for any features you'd like to see for production use.\n\u003e At the moment, consider this codebase a proof of concept only.\n\nThe main concept here is that the mainline Lua project is the source of truth for how Lua should run, and it gets rapid updates.\n\n## Example API usage\n\nIf you would like to declare a remote dependency on `glua-kit` from your Bazel project, take a look at [this example](https://github.com/popovicu/glua-kit-example) to see how.\n\n## Go demo\n\nSimply run:\n\n```\nbazel run //testing/go:demo\n```\n\n\u003e :warning: If you're facing linker issues, consider using the `linkopt` flag like below, for example.\n\u003e If you customize the linking with `linkopt`, you may want to use your flag for all the builds as your Bazel cache otherwise gets discarded.\n\n```\nbazel run --linkopt=-fuse-ld=gold //testing/go:demo\n```\n\n## C demo\n\n```\nbazel run //tools/single_script -- PATH_TO_YOUR_LUA_SCRIPT\n```\n\nIn my case, I pointed to the script from the monorepo:\n\n```\nbazel run //tools/single_script -- /home/uros/work/glua-kit/codegen/cc/testing/test.lua\n```\n\nThere is also a small proof of concept build definition for Bazel that inlines a Lua script file into a C header file:\n\n```\nbazel build //codegen/cc/testing:test.h\n```\n\n## Bazel-built Lua binary\n\n```\nbazel build //testing/compilation:add.luac\n```\n\nThis creates the `add.luac` bytecode file.\n\n```\nfile bazel-bin/testing/compilation/add.luac\nbazel-bin/testing/compilation/add.luac: Lua bytecode, version 5.4\n```\n\nYou can do something like:\n\n```\nbazel run @lua_mainline//src:lua -- PATH_TO_THE_BYTECODE_FILE\n```\n\nto run the bytecode file from the built Lua interpreter.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpopovicu%2Fglua-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpopovicu%2Fglua-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpopovicu%2Fglua-kit/lists"}