Building DSSI packages for Debian

This document guides you in building debian packages for DSSI and related programs and is directed to DeMuDi users/developers. If you just want to use DSSI, just use the binaries as provided on this site.

Note that most packages on my repository have have sources available in the standard apt-way. Put a deb-src line into /etc/apt/sources.list en run apt-get source foobar-package. Then cd to the directory that was created, and run something like dpkg-buildpackage -rfakeroot. Result is a foobar-package_xyz.deb. Search on the internet for more detailed instructions.

Installing the compiler suite

By default, DeMuDi has no compiler installed. Add a debian stable repository to the sources (see DeMuDi APT setup). Then install the packages:

# apt-get install build-essential debhelper patch

Compiling DSSI

For DSSI, there is a not yet accepted package available from mentors.debian.net. Get the files from there and build it:

$ tar xzf dssi_0.9.orig.tar.gz
$ zcat dssi_0.9-0.diff.gz | patch -p0
$ cd dssi-0.9
$ dpkg-buildpackage -rfakeroot

Now you have the file dssi0.9-dev_0.9-0_all.deb, which can be installed with dpkg -i.

Compiling DSSI-VST

I haven't found a debianized version of DSSI-VST, so this will be build from source directly, with the help of checkinstall. Get the latest tarball from sourceforge. Also needed are the VST headers. These are available from steinberg after agreeing to their license. Either unpack the zip file in $HOME/vst, or modify DSSI-VST's Makefile.in and point INCLUDE_PATH to the right directory. After installing some dependencies, and patching the source, compilation can begin:

# apt-get install libwine libwine-dev wine-utils checkinstall
$ tar xzf dssi-vst-0.3.1.tar.gz
$ cd dssi-vst-0.3.1
$ sed -i 's/--exe/--exe -F/g
          s/\(-o dssi-vst.so\)/`pkg-config --libs --cflags dssi0.9` \1/;
          s/\/usr\/local/\/usr/g' \
	    Makefile.in
$ echo -e "\ninstall:: vsthost\n\t\$(INSTALL) vsthost /usr/bin/" >>Makefile.in
$ ./configure --prefix=/usr
$ make
$ checkinstall -D --pkgname=dssi-vst --pkgversion=0.3.1 --docdir=/usr/share/doc

After this, the DSSI-VST is installed and a package is created. Be aware that the package has no dependencies recorded, like libwine. The debs on this site have manually added depends.

Compiling DSSI-hexter

This one will be build too with checkinstall. Get source from sourceforge and run the following commands. You will notice the workaround for DSSI's pkg-config file.

# apt-get install libgtk2.0-dev
$ tar xzf hexter-0.5.8.tar.gz
$ cd hexter-0.5.8
$ sed -i 's/dssi >= 0.4/dssi0.9/g' configure
$ ./configure --prefix=/usr
$ make
$ checkinstall -D --pkgname=dssi-hexter --pkgversion=0.5.8 --docdir=/usr/share/doc

Compiling DSSI-xsynth

TODO, should be simple

Compiling DSSI-fluidsynth

TODO, should be simple

Note about rosegarden4-dssi

When you get the error

Colour.C:166: error: explicit qualification in declaration of `Rosegarden::Colour Rosegarden::getCombinationColour(const Rosegarden::Colour&, const Rosegarden::Colour&)'

apply the following quick fix. Edit base/Colour.C line 166 and remove "Rosegarden::" at the beginning of the line. You'll probabely see this error when building on Ubuntu.