Prerequisites
Higgins requires the following to build and run. Note that I use Ubuntu on my development machine, so the packages referred to are ubuntu-specific package names and versions.
- python == 2.5
Python 2.4 will almost certainly work, but I haven't tried it. 2.6 will work too i think, since it doesn't introduce any backward-incompatible changes. I don't think 3.0 will work.
- python-twisted
- python-pysqlite2
This is a little confusing, because there is python-sqlite (for sqlite version 2), python-pysqlite1.1 (which uses sqlite version 3 but maintains the version 2 interface), and python-pysqlite2 which uses sqlite version 3. I'm not sure if other versions will work, since i do not use sqlite directly (it is used internally by django).
- python-django >= 1.0
Versions of django earlier than 1.0 will not work. Ubuntu Intrepid has the 1.0 package, earlier versions do not, so you may have to install this by hand. For detailed instructions on installing Django, see the (excellent) documentation.
- python-dbus
- python-avahi
- avahi-daemon
- python-mutagen
- python-pyrex
- python-setuptools
On ubuntu 8.10 you can install all necessary requirements with one command:
$ sudo apt-get install python2.5 python-twisted python-pysqlite2 python-django python-dbus python-avahi python-mutagen python-setuptools python-pyrex avahi-daemon
Getting the source
The source for Higgins is available in a git repository at git://syntaxjockey.com/higgins.git. First make sure that git is installed on your computer, then retrieve the source using git clone:
$ git clone git://syntaxjockey.com/higgins.git higgins
This grabs the current sources and places them in the directory 'higgins' in the current working directory. If you want to build a stable release, you can grab an archive of your preferred version from http://dl.syntaxjockey.com/higgins/ and extract it:
$ wget http://dl.syntaxjockey.com/higgins/Higgins-<version>.tar.gz $ tar -xzvf Higgins-<version>.tar.gz
Building and installing
Inside the toplevel source directory is setup.py, the install script for higgins. setup.py has a lot of commands and options, but the two important commands are install and developer. The install command will build the python packages, pack them into an egg, and then install the egg into the system site-packages directory. Additionally, the higgins-media-server and higgins-upload scripts will be installed in the system bin directory (usually /usr/local). If you want to install Higgins in an alternate prefix, such as /usr/local, you can use the --prefix option to the install command. For information about all the options available, try running setup.py install --help.
At this point Higgins should be ready to run:
$ higgins-media-server --create /path/to/my/environment
Higgins requires an 'environment directory' to store application data. Passing the --create flag will create the environment directory if it does not exist.
Hopefully higgins didn't crash, and you see a stream of debug messages. Open up a browser and point it at http://localhost:8000 to verify everything is working.
Developer mode
The If you plan to contribute to the Higgins project (hopefully that is why you're reading this page!) then you shouldn't use the install command; instead, setuptools provides a special command called develop which performs a special install:
$ ./setup.py develop
This installs special files in the system site-packages directory which points to the current Higgins source directory. That way, you don't have to keep running the install command to update the site-packages directory after you make changes to the source code. The higgins-media-server script still gets installed in the system bin directory, but it too points to the source directory, so running higgins-media-server will execute the code from the source directory. Pretty slick eh?
