Source
Download
The latest source release can be found here.
SVN
The Wrapl svn repository is hosted on Sourceforge.
Required Packages
In order to build Wrapl/Riva from the source code, you will need the following software:
- OMake is the build system used to build everything in Wrapl/Riva.
- GCC is needed to compile the C/C++ code.
- Nasm or Yasm is needed to assemble the assembly code.
- Lua is needed:
- Gperf is needed to generate parts of the Wrapl scanner.
- libConfuse is used by riva to parse the configuration file.
- You will need a version of m4 installed, in order to configure/build the garbage collector and GMP.
- The binutils development package is required, in particular libbfd is needed for the linker.
Automatically Downloaded Sources
The build process will automatically download, extract and build a number of third party libraries. If the required source directories are already present then they will be used (currently one can check the OMakefiles to see which libraries are downloaded, this will be documented properly in the future). Note that any downloaded libraries are built only for use with Wrapl, and will not be installed system-wide.
- The Boehm-Demers-Weiser conservative garbage collector is used as the garbage collector in Wrapl.
- GMP is used for arbitrary precision integer/rational support.
- Boost is used for statistical functions among other things.
- The Udis86 library is used by rlink linker.
- The igraph library is required to build the currently incomplete Agg.Graph.
- The Tecla line-editing library is needed to build the Util.Tecla module which provides line-editing to the wrapl interpreter.
- The FastCGI Development Kit is required to build Web.FastCGI which can be used to write fastcgi applications in Wrapl.
Optional Required Libraries II
A number of modules have further dependancies. Since these modules are not necessary to run most Wrapl programs, these dependancies are not strictly required. However, the current build process assumes their presence and will fail if any of these are missing. Alternatively, the OMakefile's can be edited to comment out the relevant modules.
- Expat is used to provide an Xml parsing module Xml.Parser.
- Tre is used to provide a basic regular expression module Util.Regexp.
- Nettle is used for the (currently inadequate) encryption/hashing modules Alg.* and IO.Cipher.
- The MySQL client library is used by the DB.Mysql module.
- The build process can, with the correct arguments to Omake, generate bindings to GTK+ and numerous other Glib based libraries. This is described in full here.
Building
In theory, building Wrapl/Riva should be as simple as:
- Ensuring the necessary requirements are installed.
- Downloading and extracting the source code.
- Changing to the dev directory and running omake.
- Creating the file bin/riva.conf.
- Adding the bin directory to the path.
However, it may be easier to download a prebuilt binary package.
Binaries
Ubuntu/Debian
A prebuilt Ubuntu/Debian package (for x86 only) can be downloaded here. Note that several modules will not work if the required libraries are not present:
- Alg.* and IO.Cipher require libnettle2.
- DB.Mysql requires libmysqlclient15off.
- Util.Regexp requires libtre4.
- Xml.Parser requires libexpat1.
- The various Gtk.* bindings require the relevant libraries to be installed.
A somewhat incomplete but still functional editor for Wrapl can be downloaded here
Windows
An experimental prebuilt Windows package built with Cygwin can be downloaded here. This package does not provide the Gtk modules, since the native GTK+ libraries on Windows are built with Mingw.
Wrapl, The Programming Language