diff options
-rw-r--r-- | package/xbmc/Makefile | 2 | ||||
-rw-r--r-- | package/xbmc/patches/001-simplepm.patch | 144 | ||||
-rw-r--r-- | package/xbmc/patches/patch-tools_Linux_xbmc_sh_in | 25 |
3 files changed, 168 insertions, 3 deletions
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile index b663fde8e..9f45cd633 100644 --- a/package/xbmc/Makefile +++ b/package/xbmc/Makefile @@ -44,7 +44,7 @@ $(eval $(call PKG_template,XBMC,xbmc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS XAKE_FLAGS+= V=1 TIXML_USE_STL=1 XAKE_FLAGS+= GCC_HONOUR_COPTS=s TARGET_CPPFLAGS+= -I$(STAGING_DIR)/usr/include/boost-1_55 \ - -DTIXML_USE_STL=1 + -DTIXML_USE_STL=1 -DHAS_SIMPLEPM=1 ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) TARGET_CPPFLAGS+= -I$(STAGING_DIR)/opt/vc/include \ diff --git a/package/xbmc/patches/001-simplepm.patch b/package/xbmc/patches/001-simplepm.patch new file mode 100644 index 000000000..41ded94fa --- /dev/null +++ b/package/xbmc/patches/001-simplepm.patch @@ -0,0 +1,144 @@ +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp 1970-01-01 01:00:00.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp 2014-01-10 16:23:32.238217592 +0100 +@@ -0,0 +1,55 @@ ++/* ++ * Copyright (C) 2014 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, see ++ * <http://www.gnu.org/licenses/>. ++ * ++ */ ++ ++#if defined (_LINUX) ++ ++#include <stdlib.h> ++#include "LinuxPowerSyscall.h" ++#include "utils/log.h" ++ ++CLinuxPowerSyscall::CLinuxPowerSyscall() ++{ ++ CLog::Log(LOGINFO, "Selected LinuxPower as PowerSyscall"); ++} ++ ++CLinuxPowerSyscall::~CLinuxPowerSyscall() ++{ } ++ ++bool CLinuxPowerSyscall::Powerdown() ++{ ++ system("/sbin/poweroff -F"); ++ return 0; ++} ++ ++bool CLinuxPowerSyscall::Reboot() ++{ ++ system("/sbin/reboot -F"); ++ return 0; ++} ++ ++int CLinuxPowerSyscall::BatteryLevel(void) ++{ } ++ ++bool CLinuxPowerSyscall::PumpPowerEvents(IPowerEventsCallback *callback) ++{ ++ return true; ++} ++ ++#endif +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.h xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.h +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.h 1970-01-01 01:00:00.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.h 2014-01-10 14:57:23.365205874 +0100 +@@ -0,0 +1,44 @@ ++#pragma once ++/* ++ * Copyright (C) 2014 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, see ++ * <http://www.gnu.org/licenses/>. ++ * ++ */ ++ ++#if defined (_LINUX) ++#include "powermanagement/IPowerSyscall.h" ++ ++class CLinuxPowerSyscall : public CPowerSyscallWithoutEvents ++{ ++public: ++ CLinuxPowerSyscall(); ++ ~CLinuxPowerSyscall(); ++ ++ virtual bool Powerdown(); ++ virtual bool Suspend(void) { return false; } ++ virtual bool Hibernate(void) { return false; } ++ virtual bool Reboot(); ++ ++ virtual bool CanPowerdown(void) { return true; } ++ virtual bool CanSuspend(void) { return false; } ++ virtual bool CanHibernate(void) { return false; } ++ virtual bool CanReboot(void) { return true; } ++ virtual int BatteryLevel(void); ++ ++ virtual bool PumpPowerEvents(IPowerEventsCallback *callback); ++}; ++#endif +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/Makefile xbmc-12.3-Frodo/xbmc/powermanagement/linux/Makefile +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/Makefile 2013-12-12 22:47:49.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/Makefile 2014-01-10 14:27:13.411383558 +0100 +@@ -2,7 +2,8 @@ + ConsoleUPowerSyscall.cpp \ + HALPowerSyscall.cpp \ + UPowerSyscall.cpp \ +- SystemdUPowerSyscall.cpp ++ SystemdUPowerSyscall.cpp \ ++ LinuxPowerSyscall.cpp + + LIB=powermanagement_linux.a + +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/PowerManager.cpp xbmc-12.3-Frodo/xbmc/powermanagement/PowerManager.cpp +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/PowerManager.cpp 2013-12-12 22:47:49.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/PowerManager.cpp 2014-01-14 11:19:11.558337441 +0100 +@@ -46,6 +46,9 @@ + #include "linux/ConsoleDeviceKitPowerSyscall.h" + #include "linux/SystemdUPowerSyscall.h" + #include "linux/UPowerSyscall.h" ++#ifdef HAS_SIMPLEPM ++#include "linux/LinuxPowerSyscall.h" ++#endif + #ifdef HAS_HAL + #include "linux/HALPowerSyscall.h" + #endif +@@ -83,6 +86,10 @@ + m_instance = new CSystemdUPowerSyscall(); + else if (CUPowerSyscall::HasUPower()) + m_instance = new CUPowerSyscall(); ++#ifdef HAS_SIMPLEPM ++ else ++ m_instance = new CLinuxPowerSyscall(); ++#endif + #ifdef HAS_HAL + else + m_instance = new CHALPowerSyscall(); diff --git a/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in b/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in index a08eb0a94..9b670449b 100644 --- a/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in +++ b/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in @@ -1,5 +1,26 @@ ---- xbmc-12.2.orig/tools/Linux/xbmc.sh.in 2013-05-03 07:57:41.000000000 +0200 -+++ xbmc-12.2/tools/Linux/xbmc.sh.in 2013-08-05 16:24:14.000000000 +0200 +--- xbmc-12.3-Frodo.orig/tools/Linux/xbmc.sh.in 2013-12-12 22:47:49.000000000 +0100 ++++ xbmc-12.3-Frodo/tools/Linux/xbmc.sh.in 2014-01-14 09:55:27.409527526 +0100 +@@ -52,7 +52,7 @@ single_stacktrace() + + print_crash_report() + { +- FILE="$HOME/xbmc_crashlog-`date +%Y%m%d_%H%M%S`.log" ++ FILE="/tmp/xbmc_crashlog-`date +%Y%m%d_%H%M%S`.log" + echo "############## XBMC CRASH LOG ###############" >> $FILE + echo >> $FILE + echo "################ SYSTEM INFO ################" >> $FILE +@@ -91,9 +91,9 @@ print_crash_report() + echo >> $FILE + echo "################# LOG FILE ##################" >> $FILE + echo >> $FILE +- if [ -f ~/.xbmc/temp/xbmc.log ] ++ if [ -f /tmp/xbmc/xbmc.log ] + then +- cat ~/.xbmc/temp/xbmc.log >> $FILE ++ cat /tmp/xbmc/xbmc.log >> $FILE + echo >> $FILE + else + echo "Logfile not found in the usual place." >> $FILE @@ -107,12 +107,6 @@ print_crash_report() echo "Crash report available at $FILE" } |