Haskell dependencies

For whatever reason cabal won't install happy automatically, so first run

cabal install happy

The reason for happy is that I use haskell-src to do pretty printing. To install the needed haskell dependencies, type:

cabal sandbox init  # if you're afraid to screw up your haskell installation
cabal install --only-dependencies

The actual build is with shake, but there's a dummy cabal file with just dependencies to make install easier.

You might get an error about pcre.h file not found, in that case see libpcre below.

If you want to build the documentation:

cabal install hscolour
my-package-manager install pandoc

You can also install pandoc with cabal but it has a ridiculous number of dependencies.

Non-Haskell dependencies


Either jack1 or jack2. JACK support is mostly untested and probably doesn't work, since I don't do music on linux. Get in touch if you care about linux support.

音, Im, Synth

These are all names for the incomplete offline synthesizer. It requires a bunch of extra dependencies. To build, turn on Shake.Config.enableSynth, and install the VST. You'll need additional dependencies, and apparently cabal doesn't let you pick the .cabal file, so:

    % cp doc/all-deps.cabal karya.cabal
    % cabal install --only-dependencies

Unfortunately Steinberg is trying to get rid of VST 2, by trying to get rid of the headers. If you search for vstplugmain.cpp though, you can still find a few copies around.

In the longer term I'll have to port to VST3 or AU.


tools/run_profile expects ps2pdf in the path, which is part of ghostscript. It's fine if it's not, but you'll get ps instead of pdf. Help with heap profiling would be very welcome!