Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
A [WIP] Library & Client implementation of luarocks
[!WARNING]
lux is a work in progress and does not have a stable release yet.
Lux serves as an application for:
- Installing and managing rocks
- Creating Lua projects with dependencies, build scripts and desired Lua versions
- Creating and publishing your own rocks
- Embedding rock manipulation logic into your own application
[!NOTE]
This aims to be a full rewrite of
luarocks, with many flags altered to be more ergonomic. This is not a drop-in replacement forluarockscommands you may have in scripts.
:books: Usage
To view available options and their descriptions, run lx --help.
Comparison with luarocks v3.11.1
As this project is still a work in progress, some luarocks features have not been (fully) implemented yet. On the other hand, lux has some features that are not present in luarocks.
The following table provides a brief (incomplete) comparison:
| lux | luarocks v3.11.1 | |
|---|---|---|
builtin build spec |
:white_check_mark: | :white_check_mark: |
make build spec |
:white_check_mark: | :white_check_mark: |
cmake build spec |
:white_check_mark: | :white_check_mark: |
command build spec |
:white_check_mark: | :white_check_mark: |
| custom build backends | :white_check_mark:[^1] | :white_check_mark: |
rust-mlua build spec |
:white_check_mark: (builtin) | :white_check_mark: (external build backend) |
| RockSpecs with CVS/Mercurial/SVN/SSCM sources | :x: (YAGNI[^2]) | :white_check_mark: |
| install pre-built binary rocks | :white_check_mark: | :white_check_mark: |
| parallel builds/installs | :white_check_mark: | :x: |
| install multiple packages with a single command | :white_check_mark: | :x: |
| install packages using version constraints | :white_check_mark: | :x: |
| proper lockfile support with integrity checks | :white_check_mark: | :x: (basic, dependency versions only) |
auto-detect external dependencies and Lua headers with pkg-config |
:white_check_mark: | :x: |
| automatic lua detection/installation | :white_check_mark: | :x: |
| resolve multiple versions of the same dependency at runtime | :x: (planned) | :white_check_mark: |
| run tests with busted | :white_check_mark: | :white_check_mark: |
| code formatting with stylua | :white_check_mark: | :x: |
| linting with luacheck | :white_check_mark: | :x: |
| static type checking | :x: (planned) | :x: |
| pack and upload pre-built binary rocks | :white_check_mark: | :white_check_mark: |
| add/remove dependencies | :white_check_mark: | :x: |
| luarocks.org manifest namespaces | :white_check_mark: | :white_check_mark: |
| luarocks.org dev packages | :white_check_mark: | :white_check_mark: |
[^1]: Supported via a compatibility layer that uses luarocks as a backend. [^2]: You Aren't Gonna Need It.
:book: License
Lux is licensed under MIT.
:green_heart: Contributing
Contributions are more than welcome! See CONTRIBUTING.md for a guide.