Table of contents
=================

1. System dependencies (general)
  1.1 FreeBSD 4.11

2. Building from sources
3. Debian installation
4. Problems during installation



1. System dependencies
======================

The following is a list of packages required to successfully build
Moviefly. The package name is taken from the names of available packages
from the Debian distribution, you should be able to locate them with 
similar names for your distrib:

perl             (>= 5.8.4)
python2.3-dev    (>= 2.3.5) 
python-qt3       (>= 3.13) 
pyqt-tools       (>= 3.13)
python-qt-dev    (>= 3.13)
sip4             (>= 4.1.1)
qt3-dev-tools    (>= 3.3.4)
libqt3-headers   (>= 3.3.4)

and either or:

libqt3-mt-dev    (>= 3.0.3)
libqt3-dev       (>= 3.0.3)


The following is a list of packages (again from the Debian package
list) which are run-time requirements:

python           (>= 2.3)
python-qt3       (>= 3.13)
perl             (>= 5.8.4)
libwww-perl
liburi-perl


Strongly recommended are:

transcode
eject

But Moviefly will run without it. See README for further details
on "transcode issue".


1.1 FreeBSD requirements
------------------------

On FreeBSD, install the following ports: 
  perl5.8
  p5-POE-Component-Client-UserAgent
  qt (qt 3.3)
  qmake
  eject
  transcode
  gmake
  py23-qt

You can either install them from binary packages using 
$ pkg_add -r portupgrade

or by compiling them manually as described in chapter 4 of 
the FreeBSD Handbook: 
<http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html>

Usually, other depencies will be compiled/installed automatically.



2. Building from sources
========================

After downloading the newest version of Moviefly (lmc-X.Y.Z.tar.gz)
open a shell and unpack the archive using:

$ tar xvzf lmc-X.Y.Z.tar.gz
<file list>

This will unpack Moviefly into a subdirectory lmc-X.Y.Z.


The next step will configure Moviefly for your system. For this to work
you will have to have the appropriate build depends installed (see [1]).
To do this, change into the project directory lmc-X.Y.Z and run ./configure:

$ cd lmc-X.Y.Z
$ ./configure

This will check wether all required packages can be located on your system.
If not, configure will issue an error and abort. You then have to solve the
problem and repeat this step until configure finishes successfully.

The configure script can take options. In particularly:

  --enable-listviewsort       (default)
  --disable-listviewsort

    Qt's default list view items (QListViewItem) sort items alphanumerically,
    so your movies are sorted 1, 10, 11, 110, ..., instead of 1, 2, ..., 10, ...

    This can be tackled in three ways: 
    1. live with the misordering
    2. prepend 0's to a fixed length 
    3. change sorting to numerical comparison

    Changing the sorting in Python introduces an annoying delay when
    working with a larger number of records. Therefore this part has been 
    refactored into a C++ library which is then loaded by Python.

    If you want to disable the C++ library, add the configure switch 
    --disable-listviewsort, to fall back to Qt's default behaviour. You may still
    prepend 0's by setting the "zeroPrefix_patch" variable in the user config
    file.


  --with-Qt-dir=<DIR>

    On SUSE systems the --with-Qt-dir is not needed.

    On Debian systems --with-Qt-dir=/usr/share/qt3 must be given, otherwise
    configure will not be able to correctly test the functioning of the Qt
    library.

    For FreeBSD systems pass --with-Qt-dir=/usr/X11R6 to the configure
    script.


  --with-sip=<PATH>

    The switch --with-sip the <PATH> should point to the location of
    "qt/qtmod.sip". 

    On SUSE, Debian and FreeBSD this is not necessary.



After configure has completed successfully you will need to compile the
C++ libraries and user interface files:

$ make


After make has completed successfully you may install the package. You must
have root-privileges to do this:

$ make install


You can then start Moviefly by issuing:

$ moviefly


To uninstall the software later you may run the following as root:

$ make uninstall

which will remove all installed files, but will keep the directories
in place.



3. Debian installation
======================

There are precompiled binaries for i386 for both testing and unstable
available. Add the following to your /etc/apt/sources.list:

(unstable)
deb http://www.master-ai.uni-karlsruhe.de/~merkosh/lmc/debian/sid ./
deb-src http://www.master-ai.uni-karlsruhe.de/~merkosh/lmc/debian/sid ./

(testing)
deb http://www.master-ai.uni-karlsruhe.de/~merkosh/lmc/debian/sarge ./
deb-src http://www.master-ai.uni-karlsruhe.de/~merkosh/lmc/debian/sarge ./


There is work in progress to make Moviefly officially part of the Debian
project in unstable.



4. Problems during installation
===============================

If you find Moviefly will not build correctly, be sure to check that you have
the required packages installed and consult the enclosed FAQ and README.

Then, please ask for support or report a bug on:

https://savannah.nongnu.org/projects/lmc/


  Uwe Mayer <merkosh@hadiko.de>  2005-08-03
