Lua/APR is a binding of the Apache Portable Runtime (APR) for the Lua programming language. APR powers software such as the Apache webserver and Subversion and Lua/APR makes the APR operating system interfaces available to Lua, serving as an extended standard library. Thus far the following modules have been implemented (the following links take you straight to the relevant documentation):
You can find the source code of the most recently released version under downloads. The source code is also available online in the GitHub repository. There are Windows binaries available that have been tested with Lua for Windows v5.1.4-40. You can also build the Lua/APR binding yourself. Here are your options:
I've setup an experimental Debian package repository to make it easier to install the Lua/APR binding on Debian and Ubuntu. The following commands should help you get started (see here for a detailed explanation):
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6CD27CBF
sudo sh -c 'echo deb http://peterodding.com/code/lua/apr/packages ./ >> /etc/apt/sources.list'
sudo apt-get update
sudo apt-get install --no-install-recommends lua-apr
lua -e "require 'apr.test' ()"
The easiest way to download, build & install the Lua/APR binding is to use LuaRocks. The following command will install the Lua/APR binding from the main repository:
$ luarocks install lua-apr
You can also get the rockspec and sources directly from the author’s website (may be more recent):
$ luarocks install http://peterodding.com/code/lua/apr/downloads/lua-apr-0.18.1-1.rockspec
If you have git installed you can also download and install the latest sources directly from GitHub:
$ luarocks install http://peterodding.com/code/lua/apr/downloads/lua-apr-scm-1.rockspec
After installing the library you can run the test suite by executing:
$ lua -e "require 'apr.test' ()"
If you don’t have LuaRocks installed the following shell commands should help you get started on UNIX:
$ if which git; then # Get the latest sources using `git'?
$ git clone git://github.com/xolox/lua-apr.git
$ else # Or get the most recently released archive using `wget'.
$ wget http://peterodding.com/code/lua/apr/downloads/lua-apr-0.18.1-1.zip
$ unzip lua-apr-0.18.1-1.zip
$ mv lua-apr-0.18.1-1 lua-apr
$ fi
$ cd lua-apr
$ sudo make install_deps # installs build & runtime dependencies for Debian/Ubuntu
$ sudo make install # installs apr.lua and apr/core.so in /usr/local
$ lua -e "require 'apr.test' ()" # runs the test suite
The makefile creates a debug build by default. Use sudo make install DO_RELEASE=1 to create a release build instead. Just be sure to run make clean when switching between debug/release mode to avoid linking incompatible object files.
A makefile for Microsoft Windows is included in the repository. It has been tested on Windows XP with NMAKE from the free Microsoft Visual C++ Express 2010 tool chain. If you don’t have git installed you can download the latest sources directly from GitHub as a ZIP file. Please note that the Windows makefile only builds the Lua/APR binding, you need to build APR yourself (see the instructions).
The makefile creates a debug build by default. Use NMAKE /f Makefile.win DO_RELEASE=1 to create a release build instead. Just be sure to run NMAKE /f Makefile.win clean when switching between debug/release mode to avoid linking incompatible object files.
The following functionality has not been implemented yet but is on the to-do list:
If you have questions, bug reports, suggestions, etc. the author can be contacted at peter@peterodding.com. The latest version is available at http://peterodding.com/code/lua/apr/ and http://github.com/xolox/lua-apr.
This software is licensed under the MIT license.
© 2011 Peter Odding (peter@peterodding.com) and zhiguo zhao (zhaozg@gmail.com).