Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
167 lines (112 sloc) 5.86 KB
<INSTALLATION>
======================================================================
Quick Start: Binary install using apt on Debian or Ubuntu:
After letting apt know about the repositories, you can install
WaveScript simply by typing one of the following (as root):
apt-get install wavescript
apt-get install wavescript-chez
...depending on whether you want WaveScript pre-compiled with Ikarus
(GPL) or Chez Scheme (non-free)
But first, you need to add a new source to /etc/apt/sources.list
Choose one of the following based on whether you are using Debian or
Ubuntu. (Replace hardy with your Ubuntu release name -- though right
now only hardy is supported [2008.08.20].)
Debian:
deb http://regiment.us/debian unstable main
deb http://regiment.us/debian unstable non-free
Ubuntu:
deb http://regiment.us/ubuntu hardy main
deb http://regiment.us/ubuntu hardy multiverse
The non-free/multiverse sources are for the wavescript-chez package,
because it includes the non-free Petite Chez Scheme.
Also, if you want apt not to bug you about the package being
"unverified", you can perform the following steps to convince apt to
trust all future WaveScript packages.
wget http://regiment.us/wspackager.key
apt-key add wspackager.key
(The apt-key command will have to be run as root of course.)
Installing under Fedora instead:
========================================
Build from source. RPM's will be forthcoming.
[2008.09.16] Mac OS Note:
There have been some recent problems with MacOS. It seems that
there are dependencies on gnu versions of several tools (find,
xargs, getopt). Be sure to configure ikarus with -CFLAGS=-m64. I
also have trouble building under PLT scheme due to problems setting
PLTCOLLECTS.
======================================================================
Slow Start: Building from source:
Recently (May 2008) the WaveScript/Wavescope compiler implementation
was ported to a brand new version of Scheme, R6RS. This standardis still
bleeding edge, and it introduces some wrinkles in the build
process. What follows are temporary instructions (as of June 2008) for
building the system. The new R6RS port should enable much greater
inter-scheme compatibility, but these build instructions will focus on
running the system with a combination of PLT Scheme and Ikarus Scheme.
(1) First, acquire the wavescript source. The Wavescript website has
links to nightly snapshots (as well as other useful stuff, like a web
version of the maual).
http://wavescope.csail.mit.edu
Because the codebase is under very active development, the checkout
standard procedure is to check the following URL to find out what was
the most recent revision that passed all system tests:
http://regiment.us/regression
(2) Install a recentish version of PLT scheme (>370) for the parser.
Make sure that "mzscheme" and "mzc" are in your path.
(3) (Optional) For better performance than PLT Scheme, check
out the development version of Ikarus Scheme from source
(using bzr) and build it. As of this writing the binary release
(0.0.3) is too old. Instructions for building ikarus are here:
http://www.cs.indiana.edu/~aghuloum/ikarus/
After ikarus is installed you should be able to run it like this:
[joe@computer ~/demos] $ ikarus
Ikarus Scheme version 0.0.3+ (revision 1477, build 2008-05-16)
Copyright (c) 2006-2008 Abdulaziz Ghuloum
>
(4) Now try building Wavescript. Assuming it was unpacked into
~/wavescript, try the following.
cd ~/wavescript
source install_environment_vars
cd src
make
This will build several components, including the parser and compiler.
After that you should be able to run demos in the
~/wavescript/demos/wavescope directory using "ws", or compile them
using "wsc2". Note that install_environment_vars is quite
simple. Basically, $REGIMENTD needs to point to ~/wavescript, and
~/wavescript/bin needs to be added to your $PATH. You can save time
by (for example) configuring this from your .bashrc.
To test the installation, try typing "regiment" and see if you get the
help output. At this point you are ready to try executing "regiment
test" which runs the unit tests.
OPTIONAL EXTRAS.
If you want to run "wscaml" for the OCaml backend, get fftw2 and try
make ocaml
in ~/wavescript/src. Also in that directory you can try:
make c
This will build a couple optional C-extensions to the main
system (that runs in Scheme). For example, this includes an
interface to FFTW for faster fourier transforms.
(*) If you want to use the GSL matrix library, install blas.
(On debian you can use the refblas3-dev package & atlas3-base-dev.)
---- Installing under Windows ----
[Note: this doesn't fully work yet and will probably rot. Bother Ryan. - 2007.03.13]
Step 1: Install cygwin, including the "make" package under development.
Step 2: Install Petite Chez Scheme, for example in c:\csv7.3. Then add
c:\csv7.3\bin\i3nt\ to your path so that "petite.exe" is visible.
Step 3: Install PLT Scheme and add the install directory to your path
so that MzScheme.exe and Mzc.exe are visible.
Step 4: After checking out the WaveScript repository, manually bind
REGIMENTD to the *windows* path where this repository resides
(i.e. with backslashes and drive letter). The
install_environment_vars will not work because it will use the
Cygwin (unix) directory format. Also add REGIMENTD/bin to
your PATH.
Step 5: Now try "regiment test".
Step 6: Next, switch to src/ and run "make wsparse". That's the
parser, to get the prebuilt binaries for the compiler
./download_precompiled_binaries from the REGIMENTD directory.
Note: If you have the full version of Chez Scheme, please make a
symbolic link or script in your path named "chez" that in turn loads
"scheme.exe". This enables the Regiment/WaveScript scripts to find
Chez Scheme.