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

Ike Devolder idevolder at archlinux.org
Tue Nov 11 19:15:09 UTC 2014


    Date: Tuesday, November 11, 2014 @ 20:15:09
  Author: idevolder
Revision: 122392

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

Added:
  xbmc/repos/community-staging-i686/
  xbmc/repos/community-staging-i686/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
    (from rev 122391, xbmc/trunk/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch)
  xbmc/repos/community-staging-i686/0002-CEC-bump-libCEC-to-2.2.0.patch
    (from rev 122391, xbmc/trunk/0002-CEC-bump-libCEC-to-2.2.0.patch)
  xbmc/repos/community-staging-i686/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
    (from rev 122391, xbmc/trunk/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch)
  xbmc/repos/community-staging-i686/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
    (from rev 122391, xbmc/trunk/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch)
  xbmc/repos/community-staging-i686/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
    (from rev 122391, xbmc/trunk/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch)
  xbmc/repos/community-staging-i686/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
    (from rev 122391, xbmc/trunk/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch)
  xbmc/repos/community-staging-i686/PKGBUILD
    (from rev 122391, xbmc/trunk/PKGBUILD)
  xbmc/repos/community-staging-i686/xbmc.install
    (from rev 122391, xbmc/trunk/xbmc.install)
  xbmc/repos/community-staging-x86_64/
  xbmc/repos/community-staging-x86_64/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
    (from rev 122391, xbmc/trunk/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch)
  xbmc/repos/community-staging-x86_64/0002-CEC-bump-libCEC-to-2.2.0.patch
    (from rev 122391, xbmc/trunk/0002-CEC-bump-libCEC-to-2.2.0.patch)
  xbmc/repos/community-staging-x86_64/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
    (from rev 122391, xbmc/trunk/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch)
  xbmc/repos/community-staging-x86_64/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
    (from rev 122391, xbmc/trunk/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch)
  xbmc/repos/community-staging-x86_64/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
    (from rev 122391, xbmc/trunk/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch)
  xbmc/repos/community-staging-x86_64/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
    (from rev 122391, xbmc/trunk/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch)
  xbmc/repos/community-staging-x86_64/PKGBUILD
    (from rev 122391, xbmc/trunk/PKGBUILD)
  xbmc/repos/community-staging-x86_64/xbmc.install
    (from rev 122391, xbmc/trunk/xbmc.install)

------------------------------------------------------------------------------------------+
 community-staging-i686/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch     |   41 ++
 community-staging-i686/0002-CEC-bump-libCEC-to-2.2.0.patch                               |   39 ++
 community-staging-i686/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch   |   26 +
 community-staging-i686/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch   |  112 +++++++
 community-staging-i686/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch   |   32 ++
 community-staging-i686/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch   |   29 ++
 community-staging-i686/PKGBUILD                                                          |  141 ++++++++++
 community-staging-i686/xbmc.install                                                      |   24 +
 community-staging-x86_64/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch   |   41 ++
 community-staging-x86_64/0002-CEC-bump-libCEC-to-2.2.0.patch                             |   39 ++
 community-staging-x86_64/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch |   26 +
 community-staging-x86_64/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch |  112 +++++++
 community-staging-x86_64/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch |   32 ++
 community-staging-x86_64/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch |   29 ++
 community-staging-x86_64/PKGBUILD                                                        |  141 ++++++++++
 community-staging-x86_64/xbmc.install                                                    |   24 +
 16 files changed, 888 insertions(+)

Copied: xbmc/repos/community-staging-i686/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch (from rev 122391, xbmc/trunk/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch)
===================================================================
--- community-staging-i686/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch	                        (rev 0)
+++ community-staging-i686/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,41 @@
+From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 14:42:30 +0100
+Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte
+
+---
+ system/peripherals.xml                            | 2 +-
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/system/peripherals.xml b/system/peripherals.xml
+index 57af5d1..5fcff7c 100644
+--- a/system/peripherals.xml
++++ b/system/peripherals.xml
+@@ -30,7 +30,7 @@
+     <setting key="device_type" type="int" value="1" configurable="0" />
+     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
+     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
+-    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
++    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
+   </peripheral>
+ 
+   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index 9907ba2..1d068dc 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
+-  // double tap prevention timeout in ms
+-  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++  // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
++  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/0002-CEC-bump-libCEC-to-2.2.0.patch (from rev 122391, xbmc/trunk/0002-CEC-bump-libCEC-to-2.2.0.patch)
===================================================================
--- community-staging-i686/0002-CEC-bump-libCEC-to-2.2.0.patch	                        (rev 0)
+++ community-staging-i686/0002-CEC-bump-libCEC-to-2.2.0.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,39 @@
+From 6cd70921650dda8864a844033e36f1bea55d034b Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 12:29:09 +0100
+Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0
+
+---
+ project/BuildDependencies/scripts/libcec_d.txt | 2 +-
+ tools/depends/target/libcec/Makefile           | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
+index a126c74..3d0265e 100644
+--- a/project/BuildDependencies/scripts/libcec_d.txt
++++ b/project/BuildDependencies/scripts/libcec_d.txt
+@@ -1,3 +1,3 @@
+ ; filename                        source of the file
+ 
+-libcec-2.1.4.zip                  http://mirrors.xbmc.org/build-deps/win32/
++libcec-2.2.0-win32.zip            http://mirrors.xbmc.org/build-deps/win32/
+diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
+index 16fec1b..6c72240 100644
+--- a/tools/depends/target/libcec/Makefile
++++ b/tools/depends/target/libcec/Makefile
+@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile
+ 
+ # lib name, version
+ LIBNAME=libcec
+-VERSION=2.1.4
+-SOURCE=$(LIBNAME)-$(VERSION)-2
+-ARCHIVE=$(SOURCE).tar.gz
++VERSION=2.2.0
++SOURCE=$(LIBNAME)-$(VERSION)
++ARCHIVE=$(SOURCE)-3.tar.gz
+ 
+ # configuration settings
+ CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch (from rev 122391, xbmc/trunk/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch)
===================================================================
--- community-staging-i686/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch	                        (rev 0)
+++ community-staging-i686/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,26 @@
+From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 15:32:36 +0100
+Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter
+ cannot be removed
+
+---
+ xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
+index b02535a..4941ae6 100644
+--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
++++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
+@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
+       break;
+     case ADAPTERTYPE_RPI:
+       result.m_mappedBusType = PERIPHERAL_BUS_RPI;
++      /** the Pi's adapter cannot be removed, no need to rescan */
++      m_bNeedsPolling = false;
+       break;
+     default:
+       break;
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch (from rev 122391, xbmc/trunk/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch)
===================================================================
--- community-staging-i686/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch	                        (rev 0)
+++ community-staging-i686/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,112 @@
+From 6544830d1a0b9810c2feb2fcb34df3f90b010d2f Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 21:01:00 +0100
+Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app
+ messenger methods see
+ https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480
+
+---
+ xbmc/Application.cpp          | 14 ++++++++------
+ xbmc/ApplicationMessenger.cpp | 20 +++++---------------
+ xbmc/ApplicationMessenger.h   |  4 ++--
+ 3 files changed, 15 insertions(+), 23 deletions(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index d5604dc..4d26183 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -2351,16 +2351,18 @@
+ 
+   if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby"))
+   {
+-    bool ret = true;
+-
+-    CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
+     // do not wake up the screensaver right after switching off the playing device
+     if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState"))
+-      ret = CApplicationMessenger::Get().CECToggleState();
++       {
++      CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
++      if (!CApplicationMessenger::Get().CECToggleState())
++        return true;
++       }
+     else
+-      ret = CApplicationMessenger::Get().CECStandby();
+-    if (!ret) /* display is switched off */
++    {
++      CApplicationMessenger::Get().CECStandby();
+       return true;
++    }
+   }
+ 
+   ResetScreenSaver();
+diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp
+index 1a59c5c..d228273 100644
+--- a/xbmc/ApplicationMessenger.cpp
++++ b/xbmc/ApplicationMessenger.cpp
+@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg)
+     }
+     case TMSG_CECACTIVATESOURCE:
+     {
+-      *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
++      g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
+       break;
+     }
+     case TMSG_CECSTANDBY:
+     {
+-      *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY);
++      g_peripherals.ToggleDeviceState(STATE_STANDBY);
+       break;
+     }
+     case TMSG_START_ANDROID_ACTIVITY:
+@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState()
+ 
+   ThreadMessage tMsg = {TMSG_CECTOGGLESTATE};
+   tMsg.lpVoid = (void*)&result;
+-  SendMessage(tMsg, false);
++  SendMessage(tMsg, true);
+ 
+   return result;
+ }
+ 
+-bool CApplicationMessenger::CECActivateSource()
++void CApplicationMessenger::CECActivateSource()
+ {
+-  bool result;
+-
+   ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE};
+-  tMsg.lpVoid = (void*)&result;
+   SendMessage(tMsg, false);
+-
+-  return result;
+ }
+ 
+-bool CApplicationMessenger::CECStandby()
++void CApplicationMessenger::CECStandby()
+ {
+-  bool result;
+-
+   ThreadMessage tMsg = {TMSG_CECSTANDBY};
+-  tMsg.lpVoid = (void*)&result;
+   SendMessage(tMsg, false);
+-
+-  return result;
+ }
+diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h
+index 9013567..543e065 100644
+--- a/xbmc/ApplicationMessenger.h
++++ b/xbmc/ApplicationMessenger.h
+@@ -219,8 +219,8 @@ public:
+ 
+   void LoadProfile(unsigned int idx);
+   bool CECToggleState();
+-  bool CECActivateSource();
+-  bool CECStandby();
++  void CECActivateSource();
++  void CECStandby();
+ 
+   CStdString GetResponse();
+   int SetResponse(CStdString response);
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch (from rev 122391, xbmc/trunk/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch)
===================================================================
--- community-staging-i686/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch	                        (rev 0)
+++ community-staging-i686/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,32 @@
+From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Tue, 28 Oct 2014 14:52:16 +0100
+Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC
+ for clarity. does not change binary compatibility
+
+---
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index 1d068dc..ad123d9 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
+   // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
+-  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
++  m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
++#else
++  // backwards compatibility. will be removed once the next major release of libCEC is out
++  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++#endif
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch (from rev 122391, xbmc/trunk/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch)
===================================================================
--- community-staging-i686/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch	                        (rev 0)
+++ community-staging-i686/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,29 @@
+From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Tue, 28 Oct 2014 16:08:00 +0100
+Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for
+ the client version, because it will lead to issues when XBMC is rebuilt after
+ a libCEC bump that changes something
+
+---
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index ad123d9..015daef 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
+ 
+ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+ {
+-  // use the same client version as libCEC version
+-  m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
++  // client version matches the version of libCEC that we originally used the API from
++  m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
+ 
+   // device name 'XBMC'
+   snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-i686/PKGBUILD (from rev 122391, xbmc/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,141 @@
+# vim:set ts=2 sw=2 et:
+# $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>
+# Contributor: Maxime Gauduin <alucryd at gmail.com>
+
+_prefix=/usr
+
+pkgname=xbmc
+pkgver=13.2
+_codename=Gotham
+pkgrel=6
+pkgdesc="A software media player and entertainment hub for digital media"
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL2')
+depends=(
+'avahi' 'hicolor-icon-theme' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad'
+'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libpulse'
+'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt'
+'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image'
+'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'
+'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'
+'polkit: power management'
+'pulseaudio: for pulseaudio support'
+'lirc: remote controller support'
+'unrar: access compressed files without unpacking them'
+'udisks: automount external drives'
+'upower: display battery level'
+)
+install="${pkgname}.install"
+source=(
+  "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
+  '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch'
+  '0002-CEC-bump-libCEC-to-2.2.0.patch'
+  '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch'
+  '0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch'
+  '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch'
+  '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch'
+)
+sha256sums=(
+  'acbf5dffa3034a3406240ee3cf81e721386cd383d23d056ddde1f769e050e585'
+  'f4b436a64e32af6728fc9a584292b56de356d9090f0db0af30798a43aaa077f3'
+  '9d9ccbd140a71b90d43a22b7722804b9cb509b4e1e1fec02c0e2bceaed3b3958'
+  '0f0401189cc8481f05d7b68c50d66e18144c7d261be783e32c5b269f4b356ad7'
+  '33d6bd2b0da3d8563bfdf6059ad59ca10d9fe617e51990220ceb40d6fb3129d3'
+  'd98f86ceefb039b43a66332658aeee4aff25370248955ece10d04ae21f33d2a9'
+  'd829a5267f0b8042308b291366915253b3104d85a780a03cdaff6bec82493b95'
+)
+
+prepare() {
+  cd "$srcdir/xbmc-$pkgver-$_codename"
+
+  patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch"
+  patch -Np1 -i "$srcdir/0002-CEC-bump-libCEC-to-2.2.0.patch"
+  patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch"
+  patch -Np1 -i "$srcdir/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch"
+  patch -Np1 -i "$srcdir/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch"
+  patch -Np1 -i "$srcdir/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch"
+
+  find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
+  sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
+  sed 's/python/python2/' -i tools/Linux/xbmc.sh.in
+}
+
+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-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 \
+    --with-lirc-device=/run/lirc/lircd
+
+  # Now (finally) build
+  make
+}
+
+package() {
+  cd "$srcdir/xbmc-$pkgver-$_codename"
+  # Running make install
+  make DESTDIR="$pkgdir" install
+
+  # 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
+}

Copied: xbmc/repos/community-staging-i686/xbmc.install (from rev 122391, xbmc/trunk/xbmc.install)
===================================================================
--- community-staging-i686/xbmc.install	                        (rev 0)
+++ community-staging-i686/xbmc.install	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,24 @@
+post_install() {
+  update_icons
+  update_autostart
+}
+
+post_upgrade() {
+  update_icons
+  update_autostart
+}
+
+post_remove() {
+  update_icons
+  update_autostart
+}
+
+update_icons() {
+  type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications
+  return 0
+}
+
+update_autostart() {
+  echo "To autostart xbmc standalone read: https://wiki.archlinux.org/index.php/Xbmc#Autostarting_at_boot"
+}

Copied: xbmc/repos/community-staging-x86_64/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch (from rev 122391, xbmc/trunk/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch)
===================================================================
--- community-staging-x86_64/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch	                        (rev 0)
+++ community-staging-x86_64/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,41 @@
+From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 14:42:30 +0100
+Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte
+
+---
+ system/peripherals.xml                            | 2 +-
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/system/peripherals.xml b/system/peripherals.xml
+index 57af5d1..5fcff7c 100644
+--- a/system/peripherals.xml
++++ b/system/peripherals.xml
+@@ -30,7 +30,7 @@
+     <setting key="device_type" type="int" value="1" configurable="0" />
+     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
+     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
+-    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
++    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
+   </peripheral>
+ 
+   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index 9907ba2..1d068dc 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
+-  // double tap prevention timeout in ms
+-  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++  // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
++  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/0002-CEC-bump-libCEC-to-2.2.0.patch (from rev 122391, xbmc/trunk/0002-CEC-bump-libCEC-to-2.2.0.patch)
===================================================================
--- community-staging-x86_64/0002-CEC-bump-libCEC-to-2.2.0.patch	                        (rev 0)
+++ community-staging-x86_64/0002-CEC-bump-libCEC-to-2.2.0.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,39 @@
+From 6cd70921650dda8864a844033e36f1bea55d034b Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 12:29:09 +0100
+Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0
+
+---
+ project/BuildDependencies/scripts/libcec_d.txt | 2 +-
+ tools/depends/target/libcec/Makefile           | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
+index a126c74..3d0265e 100644
+--- a/project/BuildDependencies/scripts/libcec_d.txt
++++ b/project/BuildDependencies/scripts/libcec_d.txt
+@@ -1,3 +1,3 @@
+ ; filename                        source of the file
+ 
+-libcec-2.1.4.zip                  http://mirrors.xbmc.org/build-deps/win32/
++libcec-2.2.0-win32.zip            http://mirrors.xbmc.org/build-deps/win32/
+diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
+index 16fec1b..6c72240 100644
+--- a/tools/depends/target/libcec/Makefile
++++ b/tools/depends/target/libcec/Makefile
+@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile
+ 
+ # lib name, version
+ LIBNAME=libcec
+-VERSION=2.1.4
+-SOURCE=$(LIBNAME)-$(VERSION)-2
+-ARCHIVE=$(SOURCE).tar.gz
++VERSION=2.2.0
++SOURCE=$(LIBNAME)-$(VERSION)
++ARCHIVE=$(SOURCE)-3.tar.gz
+ 
+ # configuration settings
+ CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch (from rev 122391, xbmc/trunk/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch)
===================================================================
--- community-staging-x86_64/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch	                        (rev 0)
+++ community-staging-x86_64/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,26 @@
+From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 15:32:36 +0100
+Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter
+ cannot be removed
+
+---
+ xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
+index b02535a..4941ae6 100644
+--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
++++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
+@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
+       break;
+     case ADAPTERTYPE_RPI:
+       result.m_mappedBusType = PERIPHERAL_BUS_RPI;
++      /** the Pi's adapter cannot be removed, no need to rescan */
++      m_bNeedsPolling = false;
+       break;
+     default:
+       break;
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch (from rev 122391, xbmc/trunk/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch)
===================================================================
--- community-staging-x86_64/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch	                        (rev 0)
+++ community-staging-x86_64/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,112 @@
+From 6544830d1a0b9810c2feb2fcb34df3f90b010d2f Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Mon, 27 Oct 2014 21:01:00 +0100
+Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app
+ messenger methods see
+ https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480
+
+---
+ xbmc/Application.cpp          | 14 ++++++++------
+ xbmc/ApplicationMessenger.cpp | 20 +++++---------------
+ xbmc/ApplicationMessenger.h   |  4 ++--
+ 3 files changed, 15 insertions(+), 23 deletions(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index d5604dc..4d26183 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -2351,16 +2351,18 @@
+ 
+   if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby"))
+   {
+-    bool ret = true;
+-
+-    CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
+     // do not wake up the screensaver right after switching off the playing device
+     if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState"))
+-      ret = CApplicationMessenger::Get().CECToggleState();
++       {
++      CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
++      if (!CApplicationMessenger::Get().CECToggleState())
++        return true;
++       }
+     else
+-      ret = CApplicationMessenger::Get().CECStandby();
+-    if (!ret) /* display is switched off */
++    {
++      CApplicationMessenger::Get().CECStandby();
+       return true;
++    }
+   }
+ 
+   ResetScreenSaver();
+diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp
+index 1a59c5c..d228273 100644
+--- a/xbmc/ApplicationMessenger.cpp
++++ b/xbmc/ApplicationMessenger.cpp
+@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg)
+     }
+     case TMSG_CECACTIVATESOURCE:
+     {
+-      *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
++      g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
+       break;
+     }
+     case TMSG_CECSTANDBY:
+     {
+-      *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY);
++      g_peripherals.ToggleDeviceState(STATE_STANDBY);
+       break;
+     }
+     case TMSG_START_ANDROID_ACTIVITY:
+@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState()
+ 
+   ThreadMessage tMsg = {TMSG_CECTOGGLESTATE};
+   tMsg.lpVoid = (void*)&result;
+-  SendMessage(tMsg, false);
++  SendMessage(tMsg, true);
+ 
+   return result;
+ }
+ 
+-bool CApplicationMessenger::CECActivateSource()
++void CApplicationMessenger::CECActivateSource()
+ {
+-  bool result;
+-
+   ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE};
+-  tMsg.lpVoid = (void*)&result;
+   SendMessage(tMsg, false);
+-
+-  return result;
+ }
+ 
+-bool CApplicationMessenger::CECStandby()
++void CApplicationMessenger::CECStandby()
+ {
+-  bool result;
+-
+   ThreadMessage tMsg = {TMSG_CECSTANDBY};
+-  tMsg.lpVoid = (void*)&result;
+   SendMessage(tMsg, false);
+-
+-  return result;
+ }
+diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h
+index 9013567..543e065 100644
+--- a/xbmc/ApplicationMessenger.h
++++ b/xbmc/ApplicationMessenger.h
+@@ -219,8 +219,8 @@ public:
+ 
+   void LoadProfile(unsigned int idx);
+   bool CECToggleState();
+-  bool CECActivateSource();
+-  bool CECStandby();
++  void CECActivateSource();
++  void CECStandby();
+ 
+   CStdString GetResponse();
+   int SetResponse(CStdString response);
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch (from rev 122391, xbmc/trunk/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch)
===================================================================
--- community-staging-x86_64/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch	                        (rev 0)
+++ community-staging-x86_64/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,32 @@
+From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Tue, 28 Oct 2014 14:52:16 +0100
+Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC
+ for clarity. does not change binary compatibility
+
+---
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index 1d068dc..ad123d9 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+   m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
+   m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
+ 
++#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
+   // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
+-  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
++  m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
++#else
++  // backwards compatibility. will be removed once the next major release of libCEC is out
++  m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
++#endif
+ }
+ 
+ void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch (from rev 122391, xbmc/trunk/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch)
===================================================================
--- community-staging-x86_64/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch	                        (rev 0)
+++ community-staging-x86_64/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,29 @@
+From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars at opdenkamp.eu>
+Date: Tue, 28 Oct 2014 16:08:00 +0100
+Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for
+ the client version, because it will lead to issues when XBMC is rebuilt after
+ a libCEC bump that changes something
+
+---
+ xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+index ad123d9..015daef 100644
+--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
++++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
+ 
+ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
+ {
+-  // use the same client version as libCEC version
+-  m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
++  // client version matches the version of libCEC that we originally used the API from
++  m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
+ 
+   // device name 'XBMC'
+   snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
+-- 
+2.1.2
+

Copied: xbmc/repos/community-staging-x86_64/PKGBUILD (from rev 122391, xbmc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,141 @@
+# vim:set ts=2 sw=2 et:
+# $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>
+# Contributor: Maxime Gauduin <alucryd at gmail.com>
+
+_prefix=/usr
+
+pkgname=xbmc
+pkgver=13.2
+_codename=Gotham
+pkgrel=6
+pkgdesc="A software media player and entertainment hub for digital media"
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL2')
+depends=(
+'avahi' 'hicolor-icon-theme' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad'
+'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libpulse'
+'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt'
+'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image'
+'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'
+'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'
+'polkit: power management'
+'pulseaudio: for pulseaudio support'
+'lirc: remote controller support'
+'unrar: access compressed files without unpacking them'
+'udisks: automount external drives'
+'upower: display battery level'
+)
+install="${pkgname}.install"
+source=(
+  "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
+  '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch'
+  '0002-CEC-bump-libCEC-to-2.2.0.patch'
+  '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch'
+  '0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch'
+  '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch'
+  '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch'
+)
+sha256sums=(
+  'acbf5dffa3034a3406240ee3cf81e721386cd383d23d056ddde1f769e050e585'
+  'f4b436a64e32af6728fc9a584292b56de356d9090f0db0af30798a43aaa077f3'
+  '9d9ccbd140a71b90d43a22b7722804b9cb509b4e1e1fec02c0e2bceaed3b3958'
+  '0f0401189cc8481f05d7b68c50d66e18144c7d261be783e32c5b269f4b356ad7'
+  '33d6bd2b0da3d8563bfdf6059ad59ca10d9fe617e51990220ceb40d6fb3129d3'
+  'd98f86ceefb039b43a66332658aeee4aff25370248955ece10d04ae21f33d2a9'
+  'd829a5267f0b8042308b291366915253b3104d85a780a03cdaff6bec82493b95'
+)
+
+prepare() {
+  cd "$srcdir/xbmc-$pkgver-$_codename"
+
+  patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch"
+  patch -Np1 -i "$srcdir/0002-CEC-bump-libCEC-to-2.2.0.patch"
+  patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch"
+  patch -Np1 -i "$srcdir/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch"
+  patch -Np1 -i "$srcdir/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch"
+  patch -Np1 -i "$srcdir/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch"
+
+  find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
+  sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
+  sed 's/python/python2/' -i tools/Linux/xbmc.sh.in
+}
+
+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-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 \
+    --with-lirc-device=/run/lirc/lircd
+
+  # Now (finally) build
+  make
+}
+
+package() {
+  cd "$srcdir/xbmc-$pkgver-$_codename"
+  # Running make install
+  make DESTDIR="$pkgdir" install
+
+  # 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
+}

Copied: xbmc/repos/community-staging-x86_64/xbmc.install (from rev 122391, xbmc/trunk/xbmc.install)
===================================================================
--- community-staging-x86_64/xbmc.install	                        (rev 0)
+++ community-staging-x86_64/xbmc.install	2014-11-11 19:15:09 UTC (rev 122392)
@@ -0,0 +1,24 @@
+post_install() {
+  update_icons
+  update_autostart
+}
+
+post_upgrade() {
+  update_icons
+  update_autostart
+}
+
+post_remove() {
+  update_icons
+  update_autostart
+}
+
+update_icons() {
+  type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+  type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications
+  return 0
+}
+
+update_autostart() {
+  echo "To autostart xbmc standalone read: https://wiki.archlinux.org/index.php/Xbmc#Autostarting_at_boot"
+}


More information about the arch-commits mailing list