summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/xbmc/Makefile2
-rw-r--r--package/xbmc/patches/001-simplepm.patch144
-rw-r--r--package/xbmc/patches/patch-tools_Linux_xbmc_sh_in25
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"
}