Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/squiddev-cc/blue-shiny-rocks
Lua Rocks for CC
https://github.com/squiddev-cc/blue-shiny-rocks
compatibility computercraft luarocks
Last synced: 1 day ago
JSON representation
Lua Rocks for CC
- Host: GitHub
- URL: https://github.com/squiddev-cc/blue-shiny-rocks
- Owner: SquidDev-CC
- License: mit
- Created: 2015-03-31T16:00:34.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-13T09:38:23.000Z (over 7 years ago)
- Last Synced: 2024-02-16T21:20:19.861Z (11 months ago)
- Topics: compatibility, computercraft, luarocks
- Language: Lua
- Size: 202 KB
- Stars: 13
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
# Blue Shiny rocks
Blue Shiny Rocks, or BSRocks for short serves two purposes:
- Emulation of the Lua 5.1 environment
- Lightweight implementation of [LuaRocks](https://luarocks.org/)Most functionality of Lua 5.1 is implemented, with the following caveats:
- The [debug library](http://www.lua.org/manual/5.1/manual.html#5.9) is only partially implemented:
- `debug.traceback` does not accept threads
- `debug.getinfo` only accepts a numeric value
- `.getmetatable`, `.setmetatable`, `.getfenv` and `.setfenv` are just their normal versions
- Everything else is not implemented
- `os.setlocale` library is not implemented
- `io.popen` is not implemented.
- Several LuaJ bugs:
- `\011` is not considered whitespace\*
- `string.format` floating point specifiers don't work (e.g. `%5.2f`)
- `string.gmatch` will infinitely loop on the `*` pattern (e.g. `\n*`)\*
- `getmetatable` returns the string library for strings.
- String's metatable and the `string` library are not the same, so you cannot add string methods.
- `%b` errors when no match is found.\*\* *Fixed in CC 1.79pr2 or CCTweaks 0.3.1*
The LuaRocks implementation is very minimal:
- Currently only supports downloading GitHub repositories
- Only pure Lua libraries are supported## Getting started
- First install from the Gist: `pastebin run LYAxmSby get 6ced21eb437a776444aacef4d597c0f7/bsrocks.min.lua bsrocks`
- Look for a package: `bsrocks search colours`
- Check it is the one you want: `bsrocks desc ansicolors`
- Install it: `bsrocks install ansicolors`
- Use it: `bsrocks repl` or `bsrocks exec myFile.lua`You can also run `bsrocks help` for more information.
## Patchspec
The LuaRocks library also downloads "patchspec"s. These define modifications
required for a library to work in CC. The next big stage of this project is to
write ports and patches for key libraries.The ultimate aim is to be able to run most pure Lua libraries with minimal, or no
patching. The repository for custom Lua ports and patchspecs is on a
[separate branch](https://github.com/SquidDev-CC/Blue-Shiny-Rocks/tree/rocks).