From d5ac192c56d8bffcd0f1ab29913f93a2de86ceeb Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Wed, 11 Sep 2013 10:56:29 -0500
Subject: xbmc: update to 12.2. refs #901.

---
 abs/extra/xbmc/PKGBUILD     | 46 +++++++++++++++++++++++++--------------------
 abs/extra/xbmc/xbmc.install | 30 +++++++++--------------------
 abs/extra/xbmc/xbmc.service | 13 +++++++++++++
 abs/extra/xbmc/xbmc11.patch | 15 ---------------
 4 files changed, 48 insertions(+), 56 deletions(-)
 create mode 100644 abs/extra/xbmc/xbmc.service
 delete mode 100644 abs/extra/xbmc/xbmc11.patch

diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD
index 874e0d5..33fbb70 100644
--- a/abs/extra/xbmc/PKGBUILD
+++ b/abs/extra/xbmc/PKGBUILD
@@ -8,32 +8,36 @@
 _prefix=/usr
 
 pkgname=xbmc
-pkgver=11.0
-pkgrel=10
+pkgver=12.2
+pkgrel=5
 pkgdesc="A software media player and entertainment hub for digital media"
 arch=('i686' 'x86_64')
 url="http://xbmc.org"
 license=('GPL' 'custom')
-depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg' 'libsamplerate' 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez' 'linhes-scripts>=7-31')
-makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'vdpau-video' 'libcec' 'udisks' 'upower' 'bluez')
-optdepends=(
-  'libcec: support for Pulse-Eight USB-CEC adapter'
-  'vdpau-video: accelerated video playback for nvidia cards'
-  'xvba-video: accelerated video playback for amd cards'
-  'lirc: remote controller support'
-  'udisks: automount external drives'
-  'upower: used to trigger suspend functionality'
-  'unrar: access compressed files without unpacking them'
-)
+depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
+	 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate'
+	 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2'
+	 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos'
+	 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu'
+	 'tinyxml' 'taglib' 'linhes-scripts>=7-31')
+makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
+	     'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
+optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
+	    'lirc: remote controller support'
+	    'udisks: automount external drives'
+	    'upower: used to trigger suspend functionality'
+	    'unrar: access compressed files without unpacking them'
+	    'xorg-xinit: autostart xbmc')
 install="${pkgname}.install"
-source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz" 'xbmc11.patch' 'xbmc.sh' 'xbmc_lib.conf')
+source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz"
+	"xbmc.service" "xbmc.sh" "xbmc_lib.conf")
 
 build() {
   cd "${srcdir}/xbmc-$pkgver"
-  patch -p1 < ../xbmc11.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
 
   # Bootstrapping XBMC
   ./bootstrap
@@ -41,7 +45,7 @@ build() {
   # Configuring XBMC
   export PYTHON_VERSION=2  # external python v2
   ./configure --prefix=$_prefix --exec-prefix=$_prefix \
-    --enable-debug \
+    --disable-debug \
     --enable-optimizations \
     --enable-gl \
     --enable-sdl \
@@ -71,8 +75,7 @@ build() {
     --enable-libusb \
     --enable-libcec \
     --enable-external-libraries \
-    --disable-external-ffmpeg \
-    --disable-crystalhd
+    --disable-external-ffmpeg
   # Now (finally) build
   make
 }
@@ -99,14 +102,17 @@ package() {
     mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}"
   done
 
+  # LinHES stuff
   mkdir -p ${pkgdir}/usr/LH/bin
   install -D -m 0755 ${srcdir}/xbmc.sh ${pkgdir}/usr/LH/bin
   #add in xbmc_lib.conf
   install -D -m0744 ${srcdir}/xbmc_lib.conf ${pkgdir}/etc/gen_lib_xml.d/xbmc_lib.conf
 
+  # systemd stuff
+  install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service
 }
 # vim:set ts=2 sw=2 et:
-md5sums=('9e8a26ee25173c7268abea7f1d82d428'
-         '5aa2e21a1f9fea60a2e5bb345e5aefd0'
+md5sums=('489f3877decae4e265ece54f9eaef0ba'
+         '76fae229ebc3bcfaab7e7f27e4fb51f5'
          'e48a3d87984669ef206e902bc8290ff9'
          '8c5cd1b5e7660a49ccd2f99967180a82')
diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install
index 46ac150..6490483 100644
--- a/abs/extra/xbmc/xbmc.install
+++ b/abs/extra/xbmc/xbmc.install
@@ -1,29 +1,17 @@
 post_install() {
-  gen_lib_xml.py 
-  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config."
-  echo ">> The display depth has to be at least 24-bit, ie"
-  echo ">> set \"DefaultDepth 24\" under the \"Screen\" section of your xorg.conf file."
-  echo ">> If you have problems or suggestions for this PKGBUILD, have a look at its"
-  echo ">> dedicated forum thread: http://bbs.archlinux.org/viewtopic.php?pid=559107"
-  echo ">> or the wiki: http://xbmc.org/wiki/?title=XBMC_on_Arch_Linux_(Unofficial)."
-  echo ">> Note that this is a development version of XBMC." 
-  echo ">> If you encounter problems with XBMC don't forget to consult the official"
-  echo ">> xbmc forums found here: http://forum.xbmc.org "
-  echo ">> and report bugs to the xbmc bugtracker found here: http://trac.xbmc.org."
-  echo
-
-  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
-  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+  [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications
+  getent group xbmc > /dev/null || groupadd xbmc
+  getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc
+  usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc
+  gen_lib_xml.py
 }
 
 post_upgrade() {
-  gen_lib_xml.py 
-  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
-  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
+  post_install $1
 }
 
 post_remove() {
-  [[ $(type -p gtk-update-icon-cache) ]] && /usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
-  [[ $(type -p update-desktop-database) ]] && /usr/bin/update-desktop-database -q usr/share/applications
-  gen_lib_xml.py  
+  post_install $1
+  echo "You may want to remove xbmc user and group"
 }
diff --git a/abs/extra/xbmc/xbmc.service b/abs/extra/xbmc/xbmc.service
new file mode 100644
index 0000000..431582f
--- /dev/null
+++ b/abs/extra/xbmc/xbmc.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = Starts instance of XBMC using xinit
+After = remote-fs.target
+
+[Service]
+User = xbmc
+Group = xbmc
+Type = simple
+ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp
+Restart = always
+
+[Install]
+WantedBy = multi-user.target
diff --git a/abs/extra/xbmc/xbmc11.patch b/abs/extra/xbmc/xbmc11.patch
deleted file mode 100644
index fb144d1..0000000
--- a/abs/extra/xbmc/xbmc11.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ruaN xbmc-11.0.orig//xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp xbmc-11.0/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
---- xbmc-11.0.orig//xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp	2012-03-21 22:07:50.000000000 +0000
-+++ xbmc-11.0/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp	2012-04-08 21:04:19.000000000 +0000
-@@ -22,9 +22,9 @@
- #if (defined HAVE_CONFIG_H) && (!defined WIN32)
-   #include "config.h"
- #endif
--#ifdef _WIN32
-+//#ifdef _WIN32
- #include "system.h" // just for HAS_LIBRTMP
--#endif
-+//#endif
- 
- #ifdef HAS_LIBRTMP
- #include "settings/AdvancedSettings.h"
-- 
cgit v0.12

