.. -*- rst -*-

====================
How to install HsSVN
====================

HsSVN's installation steps are quite irregular, due to libsvn's nature
of library user unfriendliness.


Required external libraries
---------------------------

* `apr <http://apr.apache.org/>`_ >= 1.3
* `apr-util <http://apr.apache.org/>`_ >= 1.3
* `subversion <http://subversion.apache.org/>`_ >= 1.6


Building HsSVN
--------------

You have to first figure out where SVN's header files are installed.
In this document we assume they are in ``/usr/local`` like this::

    /usr/local/bin/apr-1-config
    /usr/local/bin/apu-1-config
    /usr/local/bin/svn
    /usr/local/bin/svnadmin
    ...
    /usr/local/include/apr-1/apr.h
    ...
    /usr/local/include/subversion-1/svn_auth.h
    /usr/local/include/subversion-1/svn_base64.h
    /usr/local/include/subversion-1/svn_checksum.h
    ...
    /usr/local/lib/libsvn_client-1.la
    /usr/local/lib/libsvn_client-1.a
    /usr/local/lib/libsvn_client-1.so
    /usr/local/lib/libsvn_client-1.so.0
    /usr/local/lib/libsvn_client-1.so.0.0.0
    /usr/local/lib/libsvn_delta-1.la
    /usr/local/lib/libsvn_delta-1.a
    /usr/local/lib/libsvn_delta-1.so
    /usr/local/lib/libsvn_delta-1.so.0
    /usr/local/lib/libsvn_delta-1.so.0.0.0
    ...

Then pass those paths to the ./Setup.hs script like this::

    % env EXTRA_CPPFLAGS="-I/usr/local/include/subversion-1" \
          EXTRA_LDFLAGS="-L/usr/local/lib" \
          runhaskell Setup.hs configure
    % runhaskell Setup.hs build
    % runhaskell Setup.hs install
