diff --git a/pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch new file mode 100644 index 000000000000..91811194c9b7 --- /dev/null +++ b/pkgs/applications/video/xbmc/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 +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 +- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); ++ 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/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix index f7bddc50ef82..cb6f4346e168 100644 --- a/pkgs/applications/video/xbmc/default.nix +++ b/pkgs/applications/video/xbmc/default.nix @@ -72,6 +72,8 @@ stdenv.mkDerivation rec { dontUseCmakeConfigure = true; + patches = [ ./0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch ]; + preConfigure = '' substituteInPlace xbmc/linux/LinuxTimezone.cpp \ --replace 'usr/share/zoneinfo' 'etc/zoneinfo' diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix index 853786c34045..6eca14767c5a 100644 --- a/pkgs/development/libraries/libcec/default.nix +++ b/pkgs/development/libraries/libcec/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, udev }: -let version = "2.1.4"; in +let version = "2.2.0"; in stdenv.mkDerivation { name = "libcec-${version}"; src = fetchurl { - url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}.tar.gz"; - sha256 = "0iz11zclbs3gk4ddq0pm4vyq015qmvy4nb9sra3vk6jw58izbgkr"; + url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}-repack.tar.gz"; + sha256 = "1kdfak8y96v14d5vp2apkjjs0fvvim9phc0nkhlq5pjlagk8v32x"; }; buildInputs = [ autoreconfHook pkgconfig udev ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation { ''; meta = with stdenv.lib; { - description = "USB CEC adapter communication library"; + description = "Allows you (with the right hardware) to control your device with your TV remote control using existing HDMI cabling"; homepage = "http://libcec.pulse-eight.com"; repositories.git = "https://github.com/Pulse-Eight/libcec.git"; license = stdenv.lib.licenses.gpl2Plus;