47 lines
1.9 KiB
Markdown
47 lines
1.9 KiB
Markdown
# Callisto
|
|
|
|
A featureful runtime for Lua 5.4, written in C99 using POSIX APIs.
|
|
|
|
Callisto is an extension to Lua that adds commonly-needed functions
|
|
and features to the language, and includes a file library to manage
|
|
and manipulate files, a process library to find active processes and
|
|
manipulate signals, a socket and networking library using LuaSocket,
|
|
and a JSON manipulation library *among many more*.
|
|
|
|
Before I made Callisto, I usually had to rely on three libraries:
|
|
luaposix for basic file manipulation and other routines, lua-cjson
|
|
for JSON parsing support and LuaSocket for networking.
|
|
|
|
First and foremost, Callisto tries to satisfy these requirements:
|
|
- an all-in-one zero-dependencies library for Lua that includes
|
|
most features people would need, out of the box
|
|
- a library that works and integrates well with Lua and its
|
|
standard library, and is easy to use
|
|
|
|
Callisto only works on POSIX-compliant operating systems such as
|
|
Linux and the BSDs. There is no plan for a Windows port.
|
|
|
|
## Dependencies
|
|
|
|
To build Callisto, you'll need nothing but a C compiler.
|
|
The default C compiler is *cc* which is usually a symbolic link
|
|
to your system's default C compiler. This should be gcc on Linux,
|
|
and clang on most of the BSDs. If *cc* doesn't exist on your system,
|
|
change the `CC` variable in the Makefile to your desired C compiler.
|
|
|
|
**Callisto has zero runtime dependencies**, unless you built it with
|
|
support for GNU libreadline. Lua 5.4 is statically linked in.
|
|
|
|
## Installation
|
|
|
|
Callisto is distributed as source-only, but don't worry, it's
|
|
not hard to compile.
|
|
|
|
First, get the source code using one of the tarballs found in
|
|
the [Releases](https://github.com/jtbx/callisto/releases) page.
|
|
Untar it then run `make` to compile Callisto. The compiled
|
|
executable will be named `csto`.
|
|
|
|
To install `csto` (the Callisto standalone executable) and
|
|
`libcallisto.so` (the Callisto shared library), run `make install`
|
|
as the root user in the source code directory.
|