# Contributors : Ralf Barth <archlinux dot org at haggy dot org>
#                Richard Atkinson atkinsonr-at-gmail 
#
# Original credits go to Edgar Hucek <gimli at dark-green dot com>
# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD

pkgname=xbmc-svn
pkgver=25089
pkgrel=1
pkgdesc="XBMC Media Center from SVN"
provides=('xbmc')
conflicts=('xbmc')
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'LGPL')
depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew'
         'hal' 'jasper' 'libgl' 'libmad' 'libmysqlclient' 'libjpeg'
         'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3'
         'tre' 'unzip' 'libcdio' 'libsamplerate' 'python' 'avahi' 'libmad' 
         'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg' 'libmms'
         'libmpcdec' 'flac' 'wavpack' 'xorg-utils' 'smbclient' 'libvdpau')
makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' 
             'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison')
optdepends=('lirc: remote controller support'
            'pmount: mount removable devices as normal user'
            'unrar: access compressed files without unpacking them')
install=("${pkgname}.install")
source=(Lircmap.xml)
noextract=()
md5sums=()
options=(makeflags)

_svnmod=XBMC
_prefix=/usr

build() {

    _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk

    cd ${srcdir}/
    if [ -d $_svnmod/.svn ]; then
        msg "SVN tree found, reverting changes and updating to -r$pkgver"
        (cd $_svnmod && svn revert -R . && svn up -r $pkgver) || return 1
    else
        msg "Checking out SVN tree of -r$pkgver"
        svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
    fi

    # Configure XBMC
    #
    # Note on external-libs:
    #   - We cannot use external python because Arch's python was built with
    #     UCS2 unicode support, whereas xbmc expects UCS4 support
    #   - We cannot use Arch's libass because it's incompatible with XBMC's
    #     subtitle rendering
    #   - We cannot use external ffmpeg because we would loose VDPAU functionality
    cd "$srcdir/$_svnmod" 
    msg "Configuring XBMC" 
    ./bootstrap
    ./configure --prefix=${_prefix} \
                --enable-external-liba52 \
                --enable-external-libdts \
                --enable-external-libmpeg2 \
                --enable-external-libogg \
                --enable-external-libwavpack \
                --disable-external-libass \
                --disable-external-ffmpeg \
                --disable-external-python \
                --disable-debug || return 1
  
    # Now (finally) build
    msg "Running make" 
    make || return 1

    cd "$srcdir/$_svnmod"
    msg "Running make install" 
    make prefix=${pkgdir}${_prefix} install || return 1

    # Install 
    install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
                   ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1

    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
                   ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1

    install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
                   ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1

    install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
    for licensef in LICENSE.GPL README.linux copying.txt; do
        mv ${pkgdir}${_prefix}/share/xbmc/${licensef} \
           ${pkgdir}${_prefix}/share/licenses/${pkgname} || return 1
    done

    # Use custom Lircmap to support StreamZap remote
    cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml
}