diff --git a/alarm/xbmc-rbp-git/PKGBUILD b/alarm/xbmc-rbp-git/PKGBUILD index 0e216c165..0122f13fe 100644 --- a/alarm/xbmc-rbp-git/PKGBUILD +++ b/alarm/xbmc-rbp-git/PKGBUILD @@ -4,8 +4,8 @@ buildarch=16 pkgname=xbmc-rbp-git -pkgver=14.20140711 -pkgrel=2 +pkgver=14.20140712 +pkgrel=1 pkgdesc="A software media player and entertainment hub for digital media for the Raspberry Pi" arch=('armv6h') url="http://xbmc.org" @@ -22,10 +22,12 @@ provides=("xbmc") conflicts=("xbmc") install="xbmc.install" source=('xbmc.service' - 'polkit.rules') + 'polkit.rules' + 'fix_libnfs.patch') md5sums=('55e6d3aab86e810c49a7f550be5b7f69' - '02f7951824ee13103344f36009c0ef2a') + '02f7951824ee13103344f36009c0ef2a' + '1086fdb02b838f0a5763e493bed59fc2') _gitname="xbmc" _gitroot="git://github.com/xbmc" @@ -54,6 +56,8 @@ prepare() { cd "${srcdir}/${_gitname}" + patch -Np1 -i "$srcdir/fix_libnfs.patch" + # fix lsb_release dependency sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp diff --git a/alarm/xbmc-rbp-git/fix_libnfs.patch b/alarm/xbmc-rbp-git/fix_libnfs.patch new file mode 100644 index 000000000..873cbee5c --- /dev/null +++ b/alarm/xbmc-rbp-git/fix_libnfs.patch @@ -0,0 +1,25 @@ +diff --git a/xbmc/filesystem/NFSDirectory.cpp b/xbmc/filesystem/NFSDirectory.cpp +index 85084a5..8efa7bf 100644 +--- a/xbmc/filesystem/NFSDirectory.cpp ++++ b/xbmc/filesystem/NFSDirectory.cpp +@@ -37,6 +37,7 @@ + using namespace XFILE; + using namespace std; + #include ++#include + #include + #include + +diff --git a/xbmc/filesystem/NFSFile.cpp b/xbmc/filesystem/NFSFile.cpp +index 479f3fe..2aeea32 100644 +--- a/xbmc/filesystem/NFSFile.cpp ++++ b/xbmc/filesystem/NFSFile.cpp +@@ -32,6 +32,7 @@ + #include "network/DNSNameCache.h" + #include "threads/SystemClock.h" + ++#include + #include + + #ifdef TARGET_WINDOWS + diff --git a/alarm/xbmc-rbp-git/panasonicCEC.patch b/alarm/xbmc-rbp-git/panasonicCEC.patch deleted file mode 100644 index 411e6f1fe..000000000 --- a/alarm/xbmc-rbp-git/panasonicCEC.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 6e5822d4fe648abbd575cf77ced943a1461e9ae5 Mon Sep 17 00:00:00 2001 -From: Christian Brunner -Date: Sat, 18 Jan 2014 13:20:56 -0800 -Subject: [PATCH] [cec] suppress double keys within 250ms - -workaround for Panasonic's cec implementation ---- - xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 16 ++++++++++++---- - xbmc/peripherals/devices/PeripheralCecAdapter.h | 1 + - 2 files changed, 13 insertions(+), 4 deletions(-) - -diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -index 8919380..4bf5f89 100644 ---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -@@ -56,6 +56,9 @@ - #define LOCALISED_ID_TV_AVR 36039 - #define LOCALISED_ID_NONE 231 - -+/* time in milliseconds to suppress a double key press */ -+#define CEC_SUPPRESS_DOUBLE_KEY 250 -+ - /* time in seconds to suppress source activation after receiving OnStop */ - #define CEC_SUPPRESS_ACTIVATE_SOURCE_AFTER_ON_STOP 2 - -@@ -765,16 +768,20 @@ void CPeripheralCecAdapter::GetNextKey(void) - - void CPeripheralCecAdapter::PushCecKeypress(const CecButtonPress &key) - { -- CLog::Log(LOGDEBUG, "%s - received key %2x duration %d", __FUNCTION__, key.iButton, key.iDuration); -+ CLog::Log(LOGDEBUG, "%s - received key %2x duration %d timestamp %i", __FUNCTION__, key.iButton, key.iDuration, key.iTimestamp); - - CSingleLock lock(m_critSection); -+ if (key.iDuration == 0 && key.iTimestamp - m_currentButton.iTimestamp < CEC_SUPPRESS_DOUBLE_KEY ) -+ if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) -+ // ignore this one, since it's already been handled by xbmc (workaround for buggy tv) -+ return; -+ - if (key.iDuration > 0) - { - if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) - { -- // update the duration -- if (m_bHasButton) -- m_currentButton.iDuration = key.iDuration; -+ // update the duration -+ m_currentButton.iDuration = key.iDuration; - // ignore this one, since it's already been handled by xbmc - return; - } -@@ -802,6 +809,7 @@ void CPeripheralCecAdapter::PushCecKeypress(const cec_keypress &key) - { - CecButtonPress xbmcKey; - xbmcKey.iDuration = key.duration; -+ xbmcKey.iTimestamp = XbmcThreads::SystemClockMillis(); - - switch (key.keycode) - { -diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.h b/xbmc/peripherals/devices/PeripheralCecAdapter.h -index 0809b03..cfd4ba9 100644 ---- a/xbmc/peripherals/devices/PeripheralCecAdapter.h -+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.h -@@ -72,6 +72,7 @@ - { - int iButton; - unsigned int iDuration; -+ unsigned int iTimestamp; - } CecButtonPress; - - typedef enum --- -1.8.5.1 -