# Contributor (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): Brad Fanella <bradfanella@archlinux.us>
# Contributor (Arch): [vEX] <niechift.dot.vex.at.gmail.dot.com>
# Contributor (Arch): Zeqadious <zeqadious.at.gmail.dot.com>
# Contributor (Arch): BlackIkeEagle < ike DOT devolder AT gmail DOT com >
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Maintainer: André Silva <emulatorman@parabola.nu>

_prefix=/usr

_pkgname=xbmc-libre-lts
pkgname=xbmc-lts
pkgver=12.3
_codename=Frodo
pkgrel=8
pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree decompression engine for RAR archives and support for nonfree addons"
arch=('i686' 'x86_64' 'mips64el')
url="http://xbmc.org"
license=('GPL2')
replaces=($_pkgname)
conflicts=(${pkgname%-lts} $_pkgname)
provides=(${pkgname%-lts})
depends=(
'hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libpulse' 'libjpeg-turbo' 'libsamplerate'
'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' 'python2-pillow'
'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos'
'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu'
'tinyxml' 'taglib' 'ffmpeg-compat'
)
makedepends=(
'boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-runtime-headless'
)
optdepends=(
'libcec: support for Pulse-Eight USB-CEC adapter'
'polkit: power management'
'lirc: remote controller support'
'udisks: automount external drives'
'upower: display battery level'
)
install="xbmc.install"
mksource=(
  "http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz"
)
source=(
  "https://repo.parabolagnulinux.org/other/$_pkgname/$_pkgname-$pkgver-$_codename.tar.gz"
  "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285"
  '0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch'
  'libnfs-header-changes.patch'
)
mkmd5sums=(
  '7ae385ebf8e5cfcb917393235e6efbdb'
)
md5sums=(
  '10ed8b9cb84b2825d746c26bd5236899'
  '7fd6399d2ffbdf06b724f0cc2efa0784'
  '8998bc505ae4c66604c90b1c005be8c2'
  '27f1e75d99977d5bdd3eee58921514cb'
)

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

  # remove nonfree unRAR utility files from the source
  rm -rv lib/UnrarXLib
}

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

  patch -p0 <$srcdir/libass.patch
  patch -p1 -i "$srcdir/0001-make-sure-applications-xbmc.desktop-does-nt-have-exe.patch"
  patch -p1 -i "$srcdir/libnfs-header-changes.patch"

  # fix lsb_release dependency
  sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
  sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp

  # use addons.xml from Parabola server (without nonfree addons support)
  sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre-lts/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml
}

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

  # Bootstrapping XBMC
  ./bootstrap

  # Configuring XBMC
  export PYTHON_VERSION=2  # external python v2
  export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
  ./configure --prefix=$_prefix --exec-prefix=$_prefix \
    --disable-debug \
    --enable-optimizations \
    --enable-gl \
    --enable-sdl \
    --enable-vaapi \
    --enable-vdpau \
    --enable-xvba \
    --enable-joystick \
    --enable-xrandr \
    --enable-rsxs \
    --enable-projectm \
    --enable-x11 \
    --enable-pulse \
    --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 \
    --with-lirc-device=/run/lirc/lircd \
    --enable-external-ffmpeg \
    --disable-non-free

  # Now (finally) build
  make
}

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

  # run feh with python2
  sed -i -e 's/python/python2/g' ${pkgdir}$_prefix/bin/xbmc

  # lsb_release fix
  sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}$_prefix/bin/xbmc"
  sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/    \/'/cat \/etc\/arch-release/g" "${pkgdir}$_prefix/bin/xbmc"

  # Tools
  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
    "${pkgdir}$_prefix/lib/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
}
# vim:set ts=2 sw=2 et: