[arch-commits] Commit in xbmc/repos (14 files)

Ike Devolder idevolder at nymeria.archlinux.org
Sun May 11 15:00:29 UTC 2014


    Date: Sunday, May 11, 2014 @ 17:00:28
  Author: idevolder
Revision: 110975

archrelease: copy trunk to community-testing-i686, community-testing-x86_64

Added:
  xbmc/repos/community-testing-i686/
  xbmc/repos/community-testing-i686/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
    (from rev 110974, xbmc/trunk/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch)
  xbmc/repos/community-testing-i686/PKGBUILD
    (from rev 110974, xbmc/trunk/PKGBUILD)
  xbmc/repos/community-testing-i686/enable-external-ffmpeg.patch
    (from rev 110974, xbmc/trunk/enable-external-ffmpeg.patch)
  xbmc/repos/community-testing-i686/polkit.rules
    (from rev 110974, xbmc/trunk/polkit.rules)
  xbmc/repos/community-testing-i686/xbmc.install
    (from rev 110974, xbmc/trunk/xbmc.install)
  xbmc/repos/community-testing-i686/xbmc.service
    (from rev 110974, xbmc/trunk/xbmc.service)
  xbmc/repos/community-testing-x86_64/
  xbmc/repos/community-testing-x86_64/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
    (from rev 110974, xbmc/trunk/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch)
  xbmc/repos/community-testing-x86_64/PKGBUILD
    (from rev 110974, xbmc/trunk/PKGBUILD)
  xbmc/repos/community-testing-x86_64/enable-external-ffmpeg.patch
    (from rev 110974, xbmc/trunk/enable-external-ffmpeg.patch)
  xbmc/repos/community-testing-x86_64/polkit.rules
    (from rev 110974, xbmc/trunk/polkit.rules)
  xbmc/repos/community-testing-x86_64/xbmc.install
    (from rev 110974, xbmc/trunk/xbmc.install)
  xbmc/repos/community-testing-x86_64/xbmc.service
    (from rev 110974, xbmc/trunk/xbmc.service)

------------------------------------------------------------------------------------------+
 community-testing-i686/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch   |   75 +++++
 community-testing-i686/PKGBUILD                                                          |  141 ++++++++++
 community-testing-i686/enable-external-ffmpeg.patch                                      |  100 +++++++
 community-testing-i686/polkit.rules                                                      |   12 
 community-testing-i686/xbmc.install                                                      |   19 +
 community-testing-i686/xbmc.service                                                      |   16 +
 community-testing-x86_64/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch |   75 +++++
 community-testing-x86_64/PKGBUILD                                                        |  141 ++++++++++
 community-testing-x86_64/enable-external-ffmpeg.patch                                    |  100 +++++++
 community-testing-x86_64/polkit.rules                                                    |   12 
 community-testing-x86_64/xbmc.install                                                    |   19 +
 community-testing-x86_64/xbmc.service                                                    |   16 +
 12 files changed, 726 insertions(+)

Copied: xbmc/repos/community-testing-i686/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch (from rev 110974, xbmc/trunk/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch)
===================================================================
--- community-testing-i686/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	                        (rev 0)
+++ community-testing-i686/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,75 @@
+From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001
+From: Jonathan Marshall <jmarshall at xbmc.org>
+Date: Tue, 6 May 2014 19:40:17 +1200
+Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with
+ missing librtmp
+
+---
+ .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp     | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+index b02792a..93fc6f0 100644
+--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP()
+   m_sStreamPlaying = NULL;
+ 
+   Close();
+-  m_libRTMP.Free(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Free(m_rtmp);
+   m_rtmp = NULL;
+   m_bPaused = false;
+ }
+@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content)
+     m_sStreamPlaying = NULL;
+   }
+ 
+-  if (!CDVDInputStream::Open(strFile, "video/x-flv"))
++  if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv"))
+     return false;
+ 
+   CSingleLock lock(m_RTMPSection);
+@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close()
+   CSingleLock lock(m_RTMPSection);
+   CDVDInputStream::Close();
+ 
+-  m_libRTMP.Close(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Close(m_rtmp);
+ 
+   m_optionvalues.clear();
+   m_eof = true;
+@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close()
+ 
+ int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size)
+ {
++  if (!m_rtmp)
++    return -1;
++
+   int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size);
+   if (i < 0)
+     m_eof = true;
+@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec)
+   CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec);
+   CSingleLock lock(m_RTMPSection);
+ 
+-  if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
++  if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
+     return true;
+ 
+   return false;
+@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime)
+ 
+   CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE");
+ 
+-  m_libRTMP.Pause(m_rtmp, m_bPaused);
++  if (m_rtmp)
++    m_libRTMP.Pause(m_rtmp, m_bPaused);
+ 
+   return true;
+ }
+-- 
+1.9.1
+

Copied: xbmc/repos/community-testing-i686/PKGBUILD (from rev 110974, xbmc/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD	                        (rev 0)
+++ community-testing-i686/PKGBUILD	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,141 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Brad Fanella <bradfanella at 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 >
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+
+_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-gl \
+    --enable-sdl \
+    --enable-vaapi \
+    --enable-vdpau \
+    --enable-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
+
+
+  # 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
+  msg2 "Tools"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/xbmc-xrandr" \
+    "${pkgdir}$_prefix/lib/xbmc/xbmc-xrandr"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
+    "${pkgdir}$_prefix/lib/xbmc/"
+
+  # Licenses
+  msg2 "Copy 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"
+}
+# vim:set ts=2 sw=2 et:

Copied: xbmc/repos/community-testing-i686/enable-external-ffmpeg.patch (from rev 110974, xbmc/trunk/enable-external-ffmpeg.patch)
===================================================================
--- community-testing-i686/enable-external-ffmpeg.patch	                        (rev 0)
+++ community-testing-i686/enable-external-ffmpeg.patch	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,100 @@
+diff -rupN a/configure.in b/configure.in
+--- a/configure.in	2014-05-03 21:03:25.000000000 +0000
++++ b/configure.in	2014-05-07 09:56:30.039177391 +0000
+@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG
+ MAKE="${MAKE:-make}"
+ OBJDUMP="${OBJDUMP:-objdump}"
+ 
+-use_external_ffmpeg=no
++use_external_ffmpeg=yes
+ use_static_ffmpeg=no
+ 
+ # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os
+@@ -632,7 +632,7 @@ case $host in
+         use_arch="x86"
+         use_cpu="i686"
+      fi
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
+      ARCH="x86_64-linux"
+@@ -640,7 +640,7 @@ case $host in
+         use_arch="x86_64"
+         use_cpu="x86_64"
+      fi
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   i386-*-freebsd*)
+      ARCH="x86-freebsd"
+@@ -696,7 +696,7 @@ case $host in
+      use_sdl=no
+      use_x11=no
+      use_wayland=no
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   arm*-*linux-android*)
+      target_platform=target_android
+diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h
+--- a/lib/DllAvCodec.h	2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvCodec.h	2014-05-07 10:10:06.298165915 +0000
+@@ -43,6 +43,7 @@ extern "C" {
+ 
+ #if (defined USE_EXTERNAL_FFMPEG)
+   #include <libavcodec/avcodec.h>
++  #include <libavutil/frame.h>
+ #else
+   #include "libavcodec/avcodec.h"
+ #endif
+diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h
+--- a/lib/DllAvUtil.h	2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvUtil.h	2014-05-07 10:17:31.415798448 +0000
+@@ -31,33 +31,19 @@
+ #endif
+ 
+ extern "C" {
+-#if (defined USE_EXTERNAL_FFMPEG)
+-  #include <libavutil/avutil.h>
+-  // for av_get_default_channel_layout
+-  #include <libavutil/audioconvert.h>
+-  #include <libavutil/crc.h>
+-  #include <libavutil/fifo.h>
+-  // for LIBAVCODEC_VERSION_INT:
+-  #include <libavcodec/avcodec.h>
+-  // for enum AVSampleFormat
+-  #include <libavutil/samplefmt.h>
+-  #include <libavutil/opt.h>
+-  #include <libavutil/mem.h>
+-  #include <libavutil/mathematics.h>
+-  #if (defined USE_LIBAV_HACKS)
+-    #include "xbmc-libav-hacks/libav_hacks.h"
+-  #endif
+-#else
+-  #include "libavutil/avutil.h"
+-  //for av_get_default_channel_layout
+-  #include "libavutil/audioconvert.h"
+-  #include "libavutil/crc.h"
+-  #include "libavutil/opt.h"
+-  #include "libavutil/mem.h"
+-  #include "libavutil/fifo.h"
+-  // for enum AVSampleFormat
+-  #include "libavutil/samplefmt.h"
+-#endif
++#include <libavutil/avutil.h>
++#include <libavutil/frame.h>
++// for av_get_default_channel_layout
++#include <libavutil/audioconvert.h>
++#include <libavutil/crc.h>
++#include <libavutil/fifo.h>
++// for LIBAVCODEC_VERSION_INT:
++#include <libavcodec/avcodec.h>
++// for enum AVSampleFormat
++#include <libavutil/samplefmt.h>
++#include <libavutil/opt.h>
++#include <libavutil/mem.h>
++#include <libavutil/mathematics.h>
+ }
+ 
+ #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100)

Copied: xbmc/repos/community-testing-i686/polkit.rules (from rev 110974, xbmc/trunk/polkit.rules)
===================================================================
--- community-testing-i686/polkit.rules	                        (rev 0)
+++ community-testing-i686/polkit.rules	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,12 @@
+polkit.addRule(function(action, subject) {
+    if (subject.user == "xbmc") {
+        polkit.log("action=" + action);
+        polkit.log("subject=" + subject);
+        if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
+            return polkit.Result.YES;
+        }
+    }
+});

Copied: xbmc/repos/community-testing-i686/xbmc.install (from rev 110974, xbmc/trunk/xbmc.install)
===================================================================
--- community-testing-i686/xbmc.install	                        (rev 0)
+++ community-testing-i686/xbmc.install	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,19 @@
+post_install() {
+  [[ $(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 -r xbmc
+  getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc
+  usermod -a -G xbmc,audio,video,network,optical xbmc
+  mkdir -p var/lib/xbmc
+  chown -R xbmc:xbmc var/lib/xbmc
+}
+
+post_upgrade() {
+  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
+  getent passwd xbmc > /dev/null && userdel xbmc
+}

Copied: xbmc/repos/community-testing-i686/xbmc.service (from rev 110974, xbmc/trunk/xbmc.service)
===================================================================
--- community-testing-i686/xbmc.service	                        (rev 0)
+++ community-testing-i686/xbmc.service	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,16 @@
+[Unit]
+Description = Starts instance of XBMC using xinit
+After = systemd-user-sessions.service
+Conflicts=getty at tty7.service
+
+[Service]
+User = xbmc
+Group = xbmc
+PAMName=login
+Type = simple
+TTYPath=/dev/tty7
+ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7
+Restart = on-abort
+
+[Install]
+WantedBy = multi-user.target

Copied: xbmc/repos/community-testing-x86_64/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch (from rev 110974, xbmc/trunk/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch)
===================================================================
--- community-testing-x86_64/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	                        (rev 0)
+++ community-testing-x86_64/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,75 @@
+From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001
+From: Jonathan Marshall <jmarshall at xbmc.org>
+Date: Tue, 6 May 2014 19:40:17 +1200
+Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with
+ missing librtmp
+
+---
+ .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp     | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+index b02792a..93fc6f0 100644
+--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP()
+   m_sStreamPlaying = NULL;
+ 
+   Close();
+-  m_libRTMP.Free(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Free(m_rtmp);
+   m_rtmp = NULL;
+   m_bPaused = false;
+ }
+@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content)
+     m_sStreamPlaying = NULL;
+   }
+ 
+-  if (!CDVDInputStream::Open(strFile, "video/x-flv"))
++  if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv"))
+     return false;
+ 
+   CSingleLock lock(m_RTMPSection);
+@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close()
+   CSingleLock lock(m_RTMPSection);
+   CDVDInputStream::Close();
+ 
+-  m_libRTMP.Close(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Close(m_rtmp);
+ 
+   m_optionvalues.clear();
+   m_eof = true;
+@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close()
+ 
+ int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size)
+ {
++  if (!m_rtmp)
++    return -1;
++
+   int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size);
+   if (i < 0)
+     m_eof = true;
+@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec)
+   CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec);
+   CSingleLock lock(m_RTMPSection);
+ 
+-  if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
++  if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
+     return true;
+ 
+   return false;
+@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime)
+ 
+   CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE");
+ 
+-  m_libRTMP.Pause(m_rtmp, m_bPaused);
++  if (m_rtmp)
++    m_libRTMP.Pause(m_rtmp, m_bPaused);
+ 
+   return true;
+ }
+-- 
+1.9.1
+

Copied: xbmc/repos/community-testing-x86_64/PKGBUILD (from rev 110974, xbmc/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,141 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Brad Fanella <bradfanella at 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 >
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+
+_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-gl \
+    --enable-sdl \
+    --enable-vaapi \
+    --enable-vdpau \
+    --enable-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
+
+
+  # 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
+  msg2 "Tools"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/xbmc-xrandr" \
+    "${pkgdir}$_prefix/lib/xbmc/xbmc-xrandr"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
+    "${pkgdir}$_prefix/lib/xbmc/"
+
+  # Licenses
+  msg2 "Copy 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"
+}
+# vim:set ts=2 sw=2 et:

Copied: xbmc/repos/community-testing-x86_64/enable-external-ffmpeg.patch (from rev 110974, xbmc/trunk/enable-external-ffmpeg.patch)
===================================================================
--- community-testing-x86_64/enable-external-ffmpeg.patch	                        (rev 0)
+++ community-testing-x86_64/enable-external-ffmpeg.patch	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,100 @@
+diff -rupN a/configure.in b/configure.in
+--- a/configure.in	2014-05-03 21:03:25.000000000 +0000
++++ b/configure.in	2014-05-07 09:56:30.039177391 +0000
+@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG
+ MAKE="${MAKE:-make}"
+ OBJDUMP="${OBJDUMP:-objdump}"
+ 
+-use_external_ffmpeg=no
++use_external_ffmpeg=yes
+ use_static_ffmpeg=no
+ 
+ # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os
+@@ -632,7 +632,7 @@ case $host in
+         use_arch="x86"
+         use_cpu="i686"
+      fi
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
+      ARCH="x86_64-linux"
+@@ -640,7 +640,7 @@ case $host in
+         use_arch="x86_64"
+         use_cpu="x86_64"
+      fi
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   i386-*-freebsd*)
+      ARCH="x86-freebsd"
+@@ -696,7 +696,7 @@ case $host in
+      use_sdl=no
+      use_x11=no
+      use_wayland=no
+-     use_static_ffmpeg=yes
++     use_static_ffmpeg=no
+      ;;
+   arm*-*linux-android*)
+      target_platform=target_android
+diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h
+--- a/lib/DllAvCodec.h	2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvCodec.h	2014-05-07 10:10:06.298165915 +0000
+@@ -43,6 +43,7 @@ extern "C" {
+ 
+ #if (defined USE_EXTERNAL_FFMPEG)
+   #include <libavcodec/avcodec.h>
++  #include <libavutil/frame.h>
+ #else
+   #include "libavcodec/avcodec.h"
+ #endif
+diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h
+--- a/lib/DllAvUtil.h	2014-05-03 21:03:25.000000000 +0000
++++ b/lib/DllAvUtil.h	2014-05-07 10:17:31.415798448 +0000
+@@ -31,33 +31,19 @@
+ #endif
+ 
+ extern "C" {
+-#if (defined USE_EXTERNAL_FFMPEG)
+-  #include <libavutil/avutil.h>
+-  // for av_get_default_channel_layout
+-  #include <libavutil/audioconvert.h>
+-  #include <libavutil/crc.h>
+-  #include <libavutil/fifo.h>
+-  // for LIBAVCODEC_VERSION_INT:
+-  #include <libavcodec/avcodec.h>
+-  // for enum AVSampleFormat
+-  #include <libavutil/samplefmt.h>
+-  #include <libavutil/opt.h>
+-  #include <libavutil/mem.h>
+-  #include <libavutil/mathematics.h>
+-  #if (defined USE_LIBAV_HACKS)
+-    #include "xbmc-libav-hacks/libav_hacks.h"
+-  #endif
+-#else
+-  #include "libavutil/avutil.h"
+-  //for av_get_default_channel_layout
+-  #include "libavutil/audioconvert.h"
+-  #include "libavutil/crc.h"
+-  #include "libavutil/opt.h"
+-  #include "libavutil/mem.h"
+-  #include "libavutil/fifo.h"
+-  // for enum AVSampleFormat
+-  #include "libavutil/samplefmt.h"
+-#endif
++#include <libavutil/avutil.h>
++#include <libavutil/frame.h>
++// for av_get_default_channel_layout
++#include <libavutil/audioconvert.h>
++#include <libavutil/crc.h>
++#include <libavutil/fifo.h>
++// for LIBAVCODEC_VERSION_INT:
++#include <libavcodec/avcodec.h>
++// for enum AVSampleFormat
++#include <libavutil/samplefmt.h>
++#include <libavutil/opt.h>
++#include <libavutil/mem.h>
++#include <libavutil/mathematics.h>
+ }
+ 
+ #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100)

Copied: xbmc/repos/community-testing-x86_64/polkit.rules (from rev 110974, xbmc/trunk/polkit.rules)
===================================================================
--- community-testing-x86_64/polkit.rules	                        (rev 0)
+++ community-testing-x86_64/polkit.rules	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,12 @@
+polkit.addRule(function(action, subject) {
+    if (subject.user == "xbmc") {
+        polkit.log("action=" + action);
+        polkit.log("subject=" + subject);
+        if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+            return polkit.Result.YES;
+        }
+        if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
+            return polkit.Result.YES;
+        }
+    }
+});

Copied: xbmc/repos/community-testing-x86_64/xbmc.install (from rev 110974, xbmc/trunk/xbmc.install)
===================================================================
--- community-testing-x86_64/xbmc.install	                        (rev 0)
+++ community-testing-x86_64/xbmc.install	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,19 @@
+post_install() {
+  [[ $(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 -r xbmc
+  getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc
+  usermod -a -G xbmc,audio,video,network,optical xbmc
+  mkdir -p var/lib/xbmc
+  chown -R xbmc:xbmc var/lib/xbmc
+}
+
+post_upgrade() {
+  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
+  getent passwd xbmc > /dev/null && userdel xbmc
+}

Copied: xbmc/repos/community-testing-x86_64/xbmc.service (from rev 110974, xbmc/trunk/xbmc.service)
===================================================================
--- community-testing-x86_64/xbmc.service	                        (rev 0)
+++ community-testing-x86_64/xbmc.service	2014-05-11 15:00:28 UTC (rev 110975)
@@ -0,0 +1,16 @@
+[Unit]
+Description = Starts instance of XBMC using xinit
+After = systemd-user-sessions.service
+Conflicts=getty at tty7.service
+
+[Service]
+User = xbmc
+Group = xbmc
+PAMName=login
+Type = simple
+TTYPath=/dev/tty7
+ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7
+Restart = on-abort
+
+[Install]
+WantedBy = multi-user.target




More information about the arch-commits mailing list