summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-11-08 03:35:18 -0200
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-11-08 03:35:18 -0200
commit8dc929d1708345d981ae3ab980f1e6acb9f91542 (patch)
treebf97d7f784559b86c48d32b22dd317a8df411f04 /libre
parentb740d290e90fb1ba53c7512b90717078ce2b6136 (diff)
xbmc-lts-12.3-10: add patches for libcec 2.2.0
Diffstat (limited to 'libre')
-rw-r--r--libre/xbmc-lts/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch41
-rw-r--r--libre/xbmc-lts/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch26
-rw-r--r--libre/xbmc-lts/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch32
-rw-r--r--libre/xbmc-lts/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch29
-rw-r--r--libre/xbmc-lts/PKGBUILD16
-rw-r--r--libre/xbmc-lts/xbmc.install2
6 files changed, 143 insertions, 3 deletions
diff --git a/libre/xbmc-lts/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch b/libre/xbmc-lts/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
new file mode 100644
index 000000000..f2fc11b85
--- /dev/null
+++ b/libre/xbmc-lts/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
@@ -0,0 +1,41 @@
+From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars@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
+
diff --git a/libre/xbmc-lts/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch b/libre/xbmc-lts/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
new file mode 100644
index 000000000..e8f583721
--- /dev/null
+++ b/libre/xbmc-lts/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
@@ -0,0 +1,26 @@
+From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars@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
+
diff --git a/libre/xbmc-lts/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/libre/xbmc-lts/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
new file mode 100644
index 000000000..023257ca4
--- /dev/null
+++ b/libre/xbmc-lts/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
@@ -0,0 +1,32 @@
+From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars@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
+
diff --git a/libre/xbmc-lts/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch b/libre/xbmc-lts/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
new file mode 100644
index 000000000..cd533962a
--- /dev/null
+++ b/libre/xbmc-lts/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
@@ -0,0 +1,29 @@
+From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001
+From: Lars Op den Kamp <lars@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
+
diff --git a/libre/xbmc-lts/PKGBUILD b/libre/xbmc-lts/PKGBUILD
index 88cc9a972..b1d3c76ba 100644
--- a/libre/xbmc-lts/PKGBUILD
+++ b/libre/xbmc-lts/PKGBUILD
@@ -12,7 +12,7 @@ _pkgname=xbmc-libre-lts
pkgname=xbmc-lts
pkgver=12.3
_codename=Frodo
-pkgrel=9
+pkgrel=10
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"
@@ -48,6 +48,10 @@ source=(
"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'
+ '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch'
+ '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch'
+ '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch'
+ '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch'
)
mkmd5sums=(
'7ae385ebf8e5cfcb917393235e6efbdb'
@@ -57,6 +61,10 @@ md5sums=(
'7fd6399d2ffbdf06b724f0cc2efa0784'
'8998bc505ae4c66604c90b1c005be8c2'
'27f1e75d99977d5bdd3eee58921514cb'
+ 'd00af955c000f285a230568004209117'
+ '3e810f451e58d5704cdd15b83552aa53'
+ 'b6346f66286195189e41839e9a23ef87'
+ '47b765e1d4299fac32bf92f108548d06'
)
mksource() {
@@ -72,13 +80,17 @@ prepare() {
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"
+ patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch"
+ patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.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"
# 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
+ sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabola.nu/other/xbmc-libre-lts/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml
}
build() {
diff --git a/libre/xbmc-lts/xbmc.install b/libre/xbmc-lts/xbmc.install
index f90770bd5..00ac17f74 100644
--- a/libre/xbmc-lts/xbmc.install
+++ b/libre/xbmc-lts/xbmc.install
@@ -20,5 +20,5 @@ update_icons() {
}
update_autostart() {
- echo "To autostart xbmc standalone read: https://wiki.parabolagnulinux.org/index.php/Xbmc#Autostarting_at_boot"
+ echo "To autostart xbmc standalone read: https://wiki.parabola.nu/index.php/Xbmc#Autostarting_at_boot"
}