# $Id: PKGBUILD 71695 2012-06-01 13:05:36Z dreisner $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - --disable-vdpau/xvda, remove from makedepends
#  - --disable-vaapi
#  - --enable-gl -> --enable-gles
#  - specify our C/CXXFLAGS in configure

buildarch=4

_prefix=/usr

pkgname=xbmc
pkgver=13.0
_codename=Gotham_r2
pkgrel=3
pkgdesc="A software media player and entertainment hub for digital media"
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'custom')
depends=(
'avahi' 'ffmpeg' 'hicolor-icon-theme' 'libcdio' 'libmad' 'libmicrohttpd'
'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libxrandr' 'libxslt'
'lzo2' 'mesa' 'mesa-demos' 'python2' 'sdl_image' 'sdl_mixer' 'smbclient'
'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
)
makedepends=(
'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
'upower' 'zip'
)
optdepends=(
'afpfs-ng: Apple File Protocol suport'
'libnfs: NFS Share support'
'libplist: AirPlay support'
'shairplay: AirPlay support'
'libcec: Pulse-Eight USB-CEC adapter support'
'pulseaudio: for pulseaudio support'
'lirc: remote controller support'
'unrar: access compressed files without unpacking them'
'xorg-xinit: autostart xbmc'
'udisks: automount external drives'
'upower: used to trigger power management functionality'
)
install="${pkgname}.install"
source=("xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
        'xbmc.service'
        'polkit.rules'
        'enable-external-ffmpeg.patch'
        '0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch')
sha256sums=('663b99f3e196ead51d90f06ccfa864b4e5ade385dfc5972acb0f854d525f2903'
            'f83097388e6c9b301cac78de95cf1797d4aaa11e4021734c28d643320e76d919'
            '4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e'
            '0239e33e87292c7340ed2092f2b5f1e82f5e283b1f763fb125b3aee78f50c355'
            '4d643f1bc5a0f9a6bba36c8c2c2d220351acb58172c57d86417b67c02d39fa2b')

prepare() {
  cd "$srcdir/xbmc-$pkgver-$_codename"
  patch -p1 -i "$srcdir/enable-external-ffmpeg.patch"
  patch -p1 -i "$srcdir/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch"
}

build() {
  cd "$srcdir/xbmc-$pkgver-$_codename"

  # Bootstrapping XBMC
  ./bootstrap

  # Configuring XBMC
  export PYTHON_VERSION=2  # external python v2
  ./configure --prefix=$_prefix --exec-prefix=$_prefix \
    --disable-debug \
    --enable-optimizations \
    --enable-gles \
    --enable-sdl \
    --disable-vaapi \
    --disable-vdpau \
    --disable-xvba \
    --enable-joystick \
    --enable-xrandr \
    --enable-rsxs \
    --enable-projectm \
    --enable-x11 \
    --enable-rtmp \
    --enable-samba \
    --enable-nfs \
    --enable-afpclient \
    --enable-airplay \
    --enable-airtunes \
    --enable-ffmpeg-libvorbis \
    --enable-dvdcss \
    --disable-hal \
    --enable-avahi \
    --enable-webserver \
    --enable-optical-drive \
    --enable-libbluray \
    --enable-texturepacker \
    --enable-udev \
    --enable-libusb \
    --enable-libcec \
    --enable-external-libraries \
    CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
  # Now (finally) build
  make
}

package() {
  cd "$srcdir/xbmc-$pkgver-$_codename"
  # Running make install
  make DESTDIR="$pkgdir" install

  # Python2
  sed 's/python/python2/g' -i \
    "$pkgdir"/usr/{bin/xbmc,share/xbmc/addons/service.xbmc.versioncheck/service.py}

  # Tools
  #install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
  # Stupid TexturePacker does not exist.
  #install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"

  # Licenses
  install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname"
  for licensef in LICENSE.GPL copying.txt; do
    mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \
       "${pkgdir}$_prefix/share/licenses/$pkgname"
  done

  # install systemd service
  install -Dm0644 "$srcdir/xbmc.service" "$pkgdir/usr/lib/systemd/system/xbmc.service"

  # install polkit rules
  install -dm700 "$pkgdir/user/share/polkit-1/rules.d"
  install -Dm0644 "$srcdir/polkit.rules" "$pkgdir/user/share/polkit-1/rules.d/10-xbmc.rules"
}