mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-03 02:10:04 +00:00
kodi: Add krypton/17.0 recipe
remove obsoleted xbmc recipes rename to recipes-mediacenter Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
SUMMARY = "Kodi Media Center"
|
||||||
|
|
||||||
|
LICENSE = "GPLv2+"
|
||||||
|
LIC_FILES_CHKSUM = "file://JsonSchemaBuilder.cpp;beginline=2;endline=18;md5=1f67721215c03f66545390f6e45b99c7"
|
||||||
|
|
||||||
|
SRCREV = "b587e98911fcedc4b800cd923a882c7aeeaa2146"
|
||||||
|
|
||||||
|
PV = "16.0+gitr${SRCPV}"
|
||||||
|
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Jarvis"
|
||||||
|
|
||||||
|
inherit autotools-brokensep gettext native
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git/tools/depends/native/JsonSchemaBuilder/src"
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
for i in $(find . -name "Makefile") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
From 53c7b1667a41b25775d1dc009d8ced61f383da0b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||||
|
Date: Sat, 6 Feb 2016 15:43:01 +0100
|
||||||
|
Subject: [PATCH 1/3] configure: don't try to run stuff to find tinyxml
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 5a41fb4..243c7e5 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1043,7 +1043,7 @@ fi
|
||||||
|
AC_LANG_PUSH([C++])
|
||||||
|
PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2],
|
||||||
|
[INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"],
|
||||||
|
- [AC_RUN_IFELSE(
|
||||||
|
+ [AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <tinyxml.h>
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
From 1c1484303a055bfde655ffae3829554aaefc2e07 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Saraev <stefan@saraev.ca>
|
||||||
|
Date: Wed, 2 Nov 2016 11:28:34 -0700
|
||||||
|
Subject: [PATCH 2/3] handle SIGTERM
|
||||||
|
|
||||||
|
0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
|
||||||
|
|
||||||
|
so, when shutdown/reboot is requested:
|
||||||
|
|
||||||
|
1. save an exit code (for CEC...)
|
||||||
|
2. call CPowerManager::{Reboot,PowerDown}
|
||||||
|
3. ... then systemd sends TERM and waits xx seconds before sending KILL
|
||||||
|
4. CApplication::Stop has xx seconds to save guisettings.xml and boo
|
||||||
|
5. CEC thread has xx seconds to switch off after it received OnQuit
|
||||||
|
6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
|
||||||
|
7. KILL
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Saraev <stefan@saraev.ca>
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
xbmc/Application.cpp | 17 ++++++++++++-----
|
||||||
|
xbmc/Application.h | 1 +
|
||||||
|
xbmc/XBApplicationEx.cpp | 1 +
|
||||||
|
xbmc/XBApplicationEx.h | 1 +
|
||||||
|
xbmc/platform/posix/main.cpp | 15 +++++++++++++++
|
||||||
|
5 files changed, 30 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||||
|
index 4c118e0..58b151a 100644
|
||||||
|
--- a/xbmc/Application.cpp
|
||||||
|
+++ b/xbmc/Application.cpp
|
||||||
|
@@ -2428,12 +2428,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||||
|
switch (pMsg->dwMessage)
|
||||||
|
{
|
||||||
|
case TMSG_POWERDOWN:
|
||||||
|
- Stop(EXITCODE_POWERDOWN);
|
||||||
|
+ SetExitCode(EXITCODE_POWERDOWN);
|
||||||
|
g_powerManager.Powerdown();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TMSG_QUIT:
|
||||||
|
- Stop(EXITCODE_QUIT);
|
||||||
|
+ SetExitCode(EXITCODE_QUIT);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TMSG_SHUTDOWN:
|
||||||
|
@@ -2454,12 +2454,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
|
||||||
|
|
||||||
|
case TMSG_RESTART:
|
||||||
|
case TMSG_RESET:
|
||||||
|
- Stop(EXITCODE_REBOOT);
|
||||||
|
+ SetExitCode(EXITCODE_REBOOT);
|
||||||
|
g_powerManager.Reboot();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TMSG_RESTARTAPP:
|
||||||
|
#if defined(TARGET_WINDOWS) || defined(TARGET_LINUX)
|
||||||
|
+ SetExitCode(EXITCODE_RESTARTAPP);
|
||||||
|
Stop(EXITCODE_RESTARTAPP);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
@@ -2883,6 +2884,13 @@ bool CApplication::Cleanup()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+void CApplication::SetExitCode(int exitCode)
|
||||||
|
+{
|
||||||
|
+ // save it for CEC
|
||||||
|
+ m_ExitCode = exitCode;
|
||||||
|
+ m_ExitCodeSet = true;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void CApplication::Stop(int exitCode)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
@@ -2890,7 +2898,7 @@ void CApplication::Stop(int exitCode)
|
||||||
|
m_frameMoveGuard.unlock();
|
||||||
|
|
||||||
|
CVariant vExitCode(CVariant::VariantTypeObject);
|
||||||
|
- vExitCode["exitcode"] = exitCode;
|
||||||
|
+ vExitCode["exitcode"] = m_ExitCode;
|
||||||
|
CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
|
||||||
|
|
||||||
|
// Abort any active screensaver
|
||||||
|
@@ -2924,7 +2932,6 @@ void CApplication::Stop(int exitCode)
|
||||||
|
|
||||||
|
m_bStop = true;
|
||||||
|
m_AppFocused = false;
|
||||||
|
- m_ExitCode = exitCode;
|
||||||
|
CLog::Log(LOGNOTICE, "stop all");
|
||||||
|
|
||||||
|
// cancel any jobs from the jobmanager
|
||||||
|
diff --git a/xbmc/Application.h b/xbmc/Application.h
|
||||||
|
index 22aca81..9992677 100644
|
||||||
|
--- a/xbmc/Application.h
|
||||||
|
+++ b/xbmc/Application.h
|
||||||
|
@@ -160,6 +160,7 @@ public:
|
||||||
|
void StopPVRManager();
|
||||||
|
void ReinitPVRManager();
|
||||||
|
bool IsCurrentThread() const;
|
||||||
|
+ void SetExitCode(int exitCode);
|
||||||
|
void Stop(int exitCode);
|
||||||
|
void RestartApp();
|
||||||
|
void UnloadSkin(bool forReload = false);
|
||||||
|
diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
|
||||||
|
index 035aed2..34102f5 100644
|
||||||
|
--- a/xbmc/XBApplicationEx.cpp
|
||||||
|
+++ b/xbmc/XBApplicationEx.cpp
|
||||||
|
@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx()
|
||||||
|
m_bStop = false;
|
||||||
|
m_AppFocused = true;
|
||||||
|
m_ExitCode = EXITCODE_QUIT;
|
||||||
|
+ m_ExitCodeSet = false;
|
||||||
|
m_renderGUI = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
|
||||||
|
index 9bc14fa..f696b89 100644
|
||||||
|
--- a/xbmc/XBApplicationEx.h
|
||||||
|
+++ b/xbmc/XBApplicationEx.h
|
||||||
|
@@ -42,6 +42,7 @@ public:
|
||||||
|
// Variables for timing
|
||||||
|
bool m_bStop;
|
||||||
|
int m_ExitCode;
|
||||||
|
+ bool m_ExitCodeSet;
|
||||||
|
bool m_AppFocused;
|
||||||
|
bool m_renderGUI;
|
||||||
|
|
||||||
|
diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
|
||||||
|
index a8b64e5..3d80032 100644
|
||||||
|
--- a/xbmc/platform/posix/main.cpp
|
||||||
|
+++ b/xbmc/platform/posix/main.cpp
|
||||||
|
@@ -41,12 +41,27 @@
|
||||||
|
#include "input/linux/LIRC.h"
|
||||||
|
#endif
|
||||||
|
#include "platform/XbmcContext.h"
|
||||||
|
+#include "Application.h"
|
||||||
|
+
|
||||||
|
+void xbmc_term_handler(int signum)
|
||||||
|
+{
|
||||||
|
+ CLog::Log(LOGINFO, "Received SIGTERM...");
|
||||||
|
+ if (!g_application.m_ExitCodeSet)
|
||||||
|
+ g_application.SetExitCode(EXITCODE_RESTARTAPP);
|
||||||
|
+ g_application.Stop(EXITCODE_RESTARTAPP);
|
||||||
|
+}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
+ // SIGTERM handler
|
||||||
|
+ struct sigaction action;
|
||||||
|
+ memset(&action, 0, sizeof(struct sigaction));
|
||||||
|
+ action.sa_handler = xbmc_term_handler;
|
||||||
|
+ sigaction(SIGTERM, &action, NULL);
|
||||||
|
+
|
||||||
|
// set up some xbmc specific relationships
|
||||||
|
XBMC::Context context;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
From 4ef1e9dab9193f1a5305d25c8eda97f8f06ea154 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Raue <stephan@openelec.tv>
|
||||||
|
Date: Mon, 1 Sep 2014 03:16:37 +0200
|
||||||
|
Subject: [PATCH 3/3] add support to read frequency output if using intel's
|
||||||
|
pstate driver
|
||||||
|
|
||||||
|
---
|
||||||
|
xbmc/utils/CPUInfo.cpp | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
|
||||||
|
index 5e2ebbd..fd04d5a 100644
|
||||||
|
--- a/xbmc/utils/CPUInfo.cpp
|
||||||
|
+++ b/xbmc/utils/CPUInfo.cpp
|
||||||
|
@@ -274,6 +274,8 @@ CCPUInfo::CCPUInfo(void)
|
||||||
|
m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
|
||||||
|
|
||||||
|
m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
|
||||||
|
+ if (m_fCPUFreq == NULL)
|
||||||
|
+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
|
||||||
|
if (!m_fCPUFreq)
|
||||||
|
{
|
||||||
|
m_cpuInfoForFreq = true;
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From 191cf3f084b4d34846711034a7fe3078f8243c82 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Wed, 2 Nov 2016 12:39:20 -0700
|
||||||
|
Subject: [PATCH 4/4] Disable DVD support
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
Makefile.in | 4 +---
|
||||||
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index 58b3a17..b7c3fce 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -10,8 +10,7 @@ EC_DIRS= \
|
||||||
|
tools/EventClients
|
||||||
|
|
||||||
|
DVDPCODECS_DIRS= \
|
||||||
|
- lib \
|
||||||
|
- lib/libdvd
|
||||||
|
+ lib
|
||||||
|
|
||||||
|
VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
|
||||||
|
xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
|
||||||
|
@@ -343,7 +342,6 @@ libaddon: exports
|
||||||
|
$(MAKE) -C lib/addons/library.xbmc.pvr
|
||||||
|
$(MAKE) -C lib/addons/library.kodi.inputstream
|
||||||
|
dvdpcodecs: dllloader
|
||||||
|
- $(MAKE) -C lib/libdvd
|
||||||
|
|
||||||
|
dvdpextcodecs:
|
||||||
|
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
||||||
+427
@@ -0,0 +1,427 @@
|
|||||||
|
From 06a8224c99282ac1a606edd9e8ea3f591112942d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||||
|
Date: Thu, 18 Feb 2016 14:04:31 +0100
|
||||||
|
Subject: [PATCH] Update to p8-platform
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 6 +++---
|
||||||
|
pvr.hts/changelog.txt | 4 ++--
|
||||||
|
src/AutoRecordings.cpp | 2 +-
|
||||||
|
src/HTSPConnection.cpp | 8 +++----
|
||||||
|
src/HTSPDemuxer.cpp | 2 +-
|
||||||
|
src/HTSPVFS.cpp | 6 +++---
|
||||||
|
src/TimeRecordings.cpp | 2 +-
|
||||||
|
src/Tvheadend.cpp | 4 ++--
|
||||||
|
src/Tvheadend.h | 38 +++++++++++++++++-----------------
|
||||||
|
src/client.cpp | 4 ++--
|
||||||
|
src/client.h | 4 ++--
|
||||||
|
src/tvheadend/Subscription.cpp | 2 +-
|
||||||
|
src/tvheadend/Subscription.h | 4 ++--
|
||||||
|
src/tvheadend/utilities/AsyncState.cpp | 4 ++--
|
||||||
|
src/tvheadend/utilities/AsyncState.h | 6 +++---
|
||||||
|
15 files changed, 48 insertions(+), 48 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 0842682..cb04942 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -6,10 +6,10 @@ enable_language(CXX)
|
||||||
|
|
||||||
|
find_package(kodi REQUIRED)
|
||||||
|
find_package(kodiplatform REQUIRED)
|
||||||
|
-find_package(platform REQUIRED)
|
||||||
|
+find_package(p8-platform REQUIRED)
|
||||||
|
|
||||||
|
include_directories(${kodiplatform_INCLUDE_DIRS}
|
||||||
|
- ${platform_INCLUDE_DIRS}
|
||||||
|
+ ${p8-platform_INCLUDE_DIRS}
|
||||||
|
${KODI_INCLUDE_DIR}
|
||||||
|
${PROJECT_SOURCE_DIR}/lib)
|
||||||
|
|
||||||
|
@@ -95,7 +95,7 @@ list(APPEND HTS_SOURCES
|
||||||
|
|
||||||
|
add_subdirectory(lib/libhts)
|
||||||
|
|
||||||
|
-set(DEPLIBS ${platform_LIBRARIES} hts)
|
||||||
|
+set(DEPLIBS ${p8-platform_LIBRARIES} hts)
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND DEPLIBS ws2_32)
|
||||||
|
endif()
|
||||||
|
diff --git a/pvr.hts/changelog.txt b/pvr.hts/changelog.txt
|
||||||
|
index 9ffa33c..1e7fe30 100644
|
||||||
|
--- a/pvr.hts/changelog.txt
|
||||||
|
+++ b/pvr.hts/changelog.txt
|
||||||
|
@@ -49,7 +49,7 @@
|
||||||
|
- fixed: Autorec: Start and stop time handling.
|
||||||
|
- fixed: LocaltimeToUTC conversion (timer settings clock display incorrect).
|
||||||
|
- fixed: Several issues with predictive tuning.
|
||||||
|
-- added: build: Automatically fill in platform and library name.
|
||||||
|
+- added: build: Automatically fill in p8-platform and library name.
|
||||||
|
- fixed: Use epg data only for creation of epg-based timers.
|
||||||
|
- improved: Do not try to reconnect to tvh while suspending or not fully awake again.
|
||||||
|
|
||||||
|
@@ -97,7 +97,7 @@
|
||||||
|
- added: support for creating repeating timers, aka time schedules
|
||||||
|
- fixed: conditions for addon restart after settings changes
|
||||||
|
- internal: fixed build system regressions introduced with move to cmake
|
||||||
|
-- internal: updated to use libplatform
|
||||||
|
+- internal: updated to use libp8-platform
|
||||||
|
|
||||||
|
2.1.7
|
||||||
|
- added: support for radio channel groups
|
||||||
|
diff --git a/src/AutoRecordings.cpp b/src/AutoRecordings.cpp
|
||||||
|
index 5fa60a0..d9e5e1d 100644
|
||||||
|
--- a/src/AutoRecordings.cpp
|
||||||
|
+++ b/src/AutoRecordings.cpp
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
#include "tvheadend/utilities/Utilities.h"
|
||||||
|
#include "tvheadend/utilities/Logger.h"
|
||||||
|
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::entity;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
diff --git a/src/HTSPConnection.cpp b/src/HTSPConnection.cpp
|
||||||
|
index aec1296..86f5004 100644
|
||||||
|
--- a/src/HTSPConnection.cpp
|
||||||
|
+++ b/src/HTSPConnection.cpp
|
||||||
|
@@ -19,9 +19,9 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
-#include "platform/util/StringUtils.h"
|
||||||
|
-#include "platform/sockets/tcp.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/util/StringUtils.h"
|
||||||
|
+#include "p8-platform/sockets/tcp.h"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include "libhts/htsmsg_binary.h"
|
||||||
|
@@ -33,7 +33,7 @@ extern "C" {
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace ADDON;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
|
||||||
|
diff --git a/src/HTSPDemuxer.cpp b/src/HTSPDemuxer.cpp
|
||||||
|
index a6e1f12..7f45345 100644
|
||||||
|
--- a/src/HTSPDemuxer.cpp
|
||||||
|
+++ b/src/HTSPDemuxer.cpp
|
||||||
|
@@ -27,7 +27,7 @@
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace ADDON;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
|
||||||
|
diff --git a/src/HTSPVFS.cpp b/src/HTSPVFS.cpp
|
||||||
|
index 0463f56..0404bab 100644
|
||||||
|
--- a/src/HTSPVFS.cpp
|
||||||
|
+++ b/src/HTSPVFS.cpp
|
||||||
|
@@ -19,8 +19,8 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
-#include "platform/util/StringUtils.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/util/StringUtils.h"
|
||||||
|
#include "tvheadend/utilities/Logger.h"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
@@ -30,7 +30,7 @@ extern "C" {
|
||||||
|
#include "Tvheadend.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
|
||||||
|
/*
|
||||||
|
diff --git a/src/TimeRecordings.cpp b/src/TimeRecordings.cpp
|
||||||
|
index 5d34938..97aae09 100644
|
||||||
|
--- a/src/TimeRecordings.cpp
|
||||||
|
+++ b/src/TimeRecordings.cpp
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
#include "tvheadend/utilities/Utilities.h"
|
||||||
|
#include "tvheadend/utilities/Logger.h"
|
||||||
|
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::entity;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
diff --git a/src/Tvheadend.cpp b/src/Tvheadend.cpp
|
||||||
|
index 2057241..14c3bd4 100644
|
||||||
|
--- a/src/Tvheadend.cpp
|
||||||
|
+++ b/src/Tvheadend.cpp
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include <ctime>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
-#include "platform/util/StringUtils.h"
|
||||||
|
+#include "p8-platform/util/StringUtils.h"
|
||||||
|
|
||||||
|
#include "Tvheadend.h"
|
||||||
|
#include "tvheadend/utilities/Utilities.h"
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace ADDON;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::entity;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
diff --git a/src/Tvheadend.h b/src/Tvheadend.h
|
||||||
|
index 2ce4552..e794716 100644
|
||||||
|
--- a/src/Tvheadend.h
|
||||||
|
+++ b/src/Tvheadend.h
|
||||||
|
@@ -22,10 +22,10 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "client.h"
|
||||||
|
-#include "platform/sockets/tcp.h"
|
||||||
|
-#include "platform/threads/threads.h"
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
-#include "platform/util/buffer.h"
|
||||||
|
+#include "p8-platform/sockets/tcp.h"
|
||||||
|
+#include "p8-platform/threads/threads.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/util/buffer.h"
|
||||||
|
#include "kodi/xbmc_codec_types.h"
|
||||||
|
#include "kodi/xbmc_stream_utils.hpp"
|
||||||
|
#include "kodi/libXBMC_addon.h"
|
||||||
|
@@ -88,7 +88,7 @@ class CHTSPMessage;
|
||||||
|
|
||||||
|
/* Typedefs */
|
||||||
|
typedef std::map<uint32_t,CHTSPResponse*> CHTSPResponseList;
|
||||||
|
-typedef PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
|
||||||
|
+typedef P8PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HTSP Response handler
|
||||||
|
@@ -98,10 +98,10 @@ class CHTSPResponse
|
||||||
|
public:
|
||||||
|
CHTSPResponse();
|
||||||
|
~CHTSPResponse();
|
||||||
|
- htsmsg_t *Get ( PLATFORM::CMutex &mutex, uint32_t timeout );
|
||||||
|
+ htsmsg_t *Get ( P8PLATFORM::CMutex &mutex, uint32_t timeout );
|
||||||
|
void Set ( htsmsg_t *m );
|
||||||
|
private:
|
||||||
|
- PLATFORM::CCondition<volatile bool> m_cond;
|
||||||
|
+ P8PLATFORM::CCondition<volatile bool> m_cond;
|
||||||
|
bool m_flag;
|
||||||
|
htsmsg_t *m_msg;
|
||||||
|
};
|
||||||
|
@@ -146,7 +146,7 @@ public:
|
||||||
|
* HTSP Connection registration thread
|
||||||
|
*/
|
||||||
|
class CHTSPRegister
|
||||||
|
- : public PLATFORM::CThread
|
||||||
|
+ : public P8PLATFORM::CThread
|
||||||
|
{
|
||||||
|
friend class CHTSPConnection;
|
||||||
|
|
||||||
|
@@ -163,7 +163,7 @@ private:
|
||||||
|
* HTSP Connection
|
||||||
|
*/
|
||||||
|
class CHTSPConnection
|
||||||
|
- : public PLATFORM::CThread
|
||||||
|
+ : public P8PLATFORM::CThread
|
||||||
|
{
|
||||||
|
friend class CHTSPRegister;
|
||||||
|
|
||||||
|
@@ -190,7 +190,7 @@ public:
|
||||||
|
inline bool IsConnected ( void ) const { return m_ready; }
|
||||||
|
bool WaitForConnection ( void );
|
||||||
|
|
||||||
|
- inline PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
|
||||||
|
+ inline P8PLATFORM::CMutex& Mutex ( void ) { return m_mutex; }
|
||||||
|
|
||||||
|
void OnSleep ( void );
|
||||||
|
void OnWake ( void );
|
||||||
|
@@ -202,10 +202,10 @@ private:
|
||||||
|
bool SendHello ( void );
|
||||||
|
bool SendAuth ( const std::string &u, const std::string &p );
|
||||||
|
|
||||||
|
- PLATFORM::CTcpSocket *m_socket;
|
||||||
|
- PLATFORM::CMutex m_mutex;
|
||||||
|
+ P8PLATFORM::CTcpSocket *m_socket;
|
||||||
|
+ P8PLATFORM::CMutex m_mutex;
|
||||||
|
CHTSPRegister m_regThread;
|
||||||
|
- PLATFORM::CCondition<volatile bool> m_regCond;
|
||||||
|
+ P8PLATFORM::CCondition<volatile bool> m_regCond;
|
||||||
|
bool m_ready;
|
||||||
|
uint32_t m_seq;
|
||||||
|
std::string m_serverName;
|
||||||
|
@@ -273,13 +273,13 @@ public:
|
||||||
|
void SetStreamingProfile(const std::string &profile);
|
||||||
|
|
||||||
|
private:
|
||||||
|
- PLATFORM::CMutex m_mutex;
|
||||||
|
+ P8PLATFORM::CMutex m_mutex;
|
||||||
|
CHTSPConnection &m_conn;
|
||||||
|
- PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
|
||||||
|
+ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer;
|
||||||
|
ADDON::XbmcStreamProperties m_streams;
|
||||||
|
std::map<int,int> m_streamStat;
|
||||||
|
int64_t m_seekTime;
|
||||||
|
- PLATFORM::CCondition<volatile int64_t> m_seekCond;
|
||||||
|
+ P8PLATFORM::CCondition<volatile int64_t> m_seekCond;
|
||||||
|
bool m_seeking;
|
||||||
|
bool m_speedChange;
|
||||||
|
tvheadend::status::SourceInfo m_sourceInfo;
|
||||||
|
@@ -350,7 +350,7 @@ private:
|
||||||
|
* Root object for Tvheadend connection
|
||||||
|
*/
|
||||||
|
class CTvheadend
|
||||||
|
- : public PLATFORM::CThread
|
||||||
|
+ : public P8PLATFORM::CThread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CTvheadend();
|
||||||
|
@@ -422,7 +422,7 @@ private:
|
||||||
|
*/
|
||||||
|
tvheadend::Profiles m_profiles;
|
||||||
|
|
||||||
|
- PLATFORM::CMutex m_mutex;
|
||||||
|
+ P8PLATFORM::CMutex m_mutex;
|
||||||
|
|
||||||
|
CHTSPConnection m_conn;
|
||||||
|
|
||||||
|
@@ -519,7 +519,7 @@ public:
|
||||||
|
*/
|
||||||
|
bool WaitForConnection ( void )
|
||||||
|
{
|
||||||
|
- PLATFORM::CLockObject lock(m_conn.Mutex());
|
||||||
|
+ P8PLATFORM::CLockObject lock(m_conn.Mutex());
|
||||||
|
return m_conn.WaitForConnection();
|
||||||
|
}
|
||||||
|
std::string GetServerName ( void )
|
||||||
|
diff --git a/src/client.cpp b/src/client.cpp
|
||||||
|
index 94d2db9..3295914 100644
|
||||||
|
--- a/src/client.cpp
|
||||||
|
+++ b/src/client.cpp
|
||||||
|
@@ -22,14 +22,14 @@
|
||||||
|
#include "client.h"
|
||||||
|
#include "kodi/xbmc_pvr_dll.h"
|
||||||
|
#include "kodi/libKODI_guilib.h"
|
||||||
|
-#include "platform/util/util.h"
|
||||||
|
+#include "p8-platform/util/util.h"
|
||||||
|
#include "Tvheadend.h"
|
||||||
|
#include "tvheadend/Settings.h"
|
||||||
|
#include "tvheadend/utilities/Logger.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace ADDON;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
|
||||||
|
diff --git a/src/client.h b/src/client.h
|
||||||
|
index 3a5f950..a10659b 100644
|
||||||
|
--- a/src/client.h
|
||||||
|
+++ b/src/client.h
|
||||||
|
@@ -20,8 +20,8 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include "platform/os.h"
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/os.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
#include "kodi/libXBMC_addon.h"
|
||||||
|
#include "kodi/libXBMC_pvr.h"
|
||||||
|
#include "kodi/libXBMC_codec.h"
|
||||||
|
diff --git a/src/tvheadend/Subscription.cpp b/src/tvheadend/Subscription.cpp
|
||||||
|
index 182ca7f..e18af1e 100644
|
||||||
|
--- a/src/tvheadend/Subscription.cpp
|
||||||
|
+++ b/src/tvheadend/Subscription.cpp
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
#include "utilities/Logger.h"
|
||||||
|
#include "../Tvheadend.h"
|
||||||
|
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
using namespace tvheadend;
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
|
||||||
|
diff --git a/src/tvheadend/Subscription.h b/src/tvheadend/Subscription.h
|
||||||
|
index b03bcce..363e5ef 100644
|
||||||
|
--- a/src/tvheadend/Subscription.h
|
||||||
|
+++ b/src/tvheadend/Subscription.h
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
@@ -146,6 +146,6 @@ namespace tvheadend
|
||||||
|
std::string m_profile;
|
||||||
|
CHTSPConnection &m_conn;
|
||||||
|
|
||||||
|
- mutable PLATFORM::CMutex m_mutex;
|
||||||
|
+ mutable P8PLATFORM::CMutex m_mutex;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
diff --git a/src/tvheadend/utilities/AsyncState.cpp b/src/tvheadend/utilities/AsyncState.cpp
|
||||||
|
index 0c30a93..1f4fdf3 100644
|
||||||
|
--- a/src/tvheadend/utilities/AsyncState.cpp
|
||||||
|
+++ b/src/tvheadend/utilities/AsyncState.cpp
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include "AsyncState.h"
|
||||||
|
|
||||||
|
using namespace tvheadend::utilities;
|
||||||
|
-using namespace PLATFORM;
|
||||||
|
+using namespace P8PLATFORM;
|
||||||
|
|
||||||
|
struct Param {
|
||||||
|
eAsyncState state;
|
||||||
|
@@ -37,7 +37,7 @@ AsyncState::AsyncState(int timeout)
|
||||||
|
|
||||||
|
eAsyncState AsyncState::GetState()
|
||||||
|
{
|
||||||
|
- PLATFORM::CLockObject lock(m_mutex);
|
||||||
|
+ P8PLATFORM::CLockObject lock(m_mutex);
|
||||||
|
return m_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/tvheadend/utilities/AsyncState.h b/src/tvheadend/utilities/AsyncState.h
|
||||||
|
index 1d672da..0819cd8 100644
|
||||||
|
--- a/src/tvheadend/utilities/AsyncState.h
|
||||||
|
+++ b/src/tvheadend/utilities/AsyncState.h
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#ifndef ASYNCSTATE_H
|
||||||
|
#define ASYNCSTATE_H
|
||||||
|
|
||||||
|
-#include "platform/threads/mutex.h"
|
||||||
|
+#include "p8-platform/threads/mutex.h"
|
||||||
|
|
||||||
|
namespace tvheadend {
|
||||||
|
namespace utilities {
|
||||||
|
@@ -75,8 +75,8 @@ namespace tvheadend {
|
||||||
|
static bool PredicateCallback ( void *param );
|
||||||
|
|
||||||
|
eAsyncState m_state;
|
||||||
|
- PLATFORM::CMutex m_mutex;
|
||||||
|
- PLATFORM::CCondition<bool> m_condition;
|
||||||
|
+ P8PLATFORM::CMutex m_mutex;
|
||||||
|
+ P8PLATFORM::CCondition<bool> m_condition;
|
||||||
|
int m_timeout;
|
||||||
|
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.0.1
|
||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
SUMMARY = "Kodi Media Center PVR plugins"
|
||||||
|
|
||||||
|
LICENSE = "GPLv2+"
|
||||||
|
LIC_FILES_CHKSUM = "file://src/client.cpp;md5=c8f6b73c5bc1048a3d6506700a7a91d2"
|
||||||
|
|
||||||
|
DEPENDS = " \
|
||||||
|
zip-native \
|
||||||
|
p8platform \
|
||||||
|
kodi-platform \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRCREV_pvrhts = "7f75b70527922aef953123ff97ebaa22d9fb7cb4"
|
||||||
|
|
||||||
|
SRCREV_FORMAT = "pvrhts"
|
||||||
|
|
||||||
|
PV = "2.2.13+gitr${SRCPV}"
|
||||||
|
SRC_URI = "git://github.com/kodi-pvr/pvr.hts.git;branch=Jarvis;destsuffix=pvr.hts;name=pvrhts \
|
||||||
|
file://0001-Update-to-p8-platform.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit cmake pkgconfig gettext
|
||||||
|
|
||||||
|
S = "${WORKDIR}/pvr.hts"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE = " \
|
||||||
|
-DADDONS_TO_BUILD=pvr.hts \
|
||||||
|
-DADDON_SRC_PREFIX=${WORKDIR}/git \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=${datadir}/kodi/addons \
|
||||||
|
-DCMAKE_MODULE_PATH=${STAGING_DIR_HOST}${libdir}/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix} \
|
||||||
|
-DPACKAGE_ZIP=1 \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
|
||||||
|
-e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
|
||||||
|
${B}/CMakeFiles/*/flags.make
|
||||||
|
sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
|
||||||
|
${B}/CMakeFiles/*/link.txt
|
||||||
|
}
|
||||||
|
|
||||||
|
# Make zip package for manual installation
|
||||||
|
do_install_append() {
|
||||||
|
install -d ${D}${datadir}/kodi/addons/packages/
|
||||||
|
( cd ${D}${datadir}/kodi/addons
|
||||||
|
zip -r ${D}${datadir}/kodi/addons/packages/pvr.hts-${PV}.zip pvr.hts -x '*.debug*' )
|
||||||
|
}
|
||||||
|
|
||||||
|
# Doesn't get added automagically, dlopen()?
|
||||||
|
RDEPENDS_${PN} = "libkodiplatform"
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} = "dev-so"
|
||||||
|
FILES_${PN} += "${datadir}/kodi"
|
||||||
|
FILES_${PN}-dbg += "${datadir}/kodi/addons/*/.debug/"
|
||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
From 7cf366faa7a24c7146c745c8cd8dc3ae3d1cabea Mon Sep 17 00:00:00 2001
|
||||||
|
From: Garrett Brown <themagnificentmrb@gmail.com>
|
||||||
|
Date: Thu, 7 Jan 2016 15:55:22 -0800
|
||||||
|
Subject: [PATCH] Fix build after platform rename
|
||||||
|
|
||||||
|
update source code to use renamed platform pkg
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 6 +++---
|
||||||
|
debian/control | 2 +-
|
||||||
|
src/util/XMLUtils.h | 2 +-
|
||||||
|
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 2ce8c0d..bf6b659 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -8,7 +8,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
||||||
|
find_package(kodi REQUIRED)
|
||||||
|
find_package(TinyXML REQUIRED)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
-find_package(platform REQUIRED)
|
||||||
|
+find_package(p8-platform REQUIRED)
|
||||||
|
include(UseMultiArch.cmake)
|
||||||
|
include(CheckAtomic.cmake)
|
||||||
|
|
||||||
|
@@ -36,10 +36,10 @@ endif()
|
||||||
|
|
||||||
|
set(SOURCES src/util/XMLUtils.cpp)
|
||||||
|
|
||||||
|
-include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR} ${platform_INCLUDE_DIRS})
|
||||||
|
+include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR} ${p8-platform_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
add_library(kodiplatform ${SOURCES} ${PLAT_SOURCES})
|
||||||
|
-target_link_libraries(kodiplatform ${kodiplatform_LIBRARIES} ${platform_LIBRARIES})
|
||||||
|
+target_link_libraries(kodiplatform ${kodiplatform_LIBRARIES} ${p8-platform_LIBRARIES})
|
||||||
|
set_target_properties(kodiplatform PROPERTIES VERSION ${kodiplatform_VERSION_MAJOR}.${kodiplatform_VERSION_MINOR}.${kodiplatform_VERSION_PATCH}
|
||||||
|
SOVERSION ${kodiplatform_VERSION_MAJOR}.0)
|
||||||
|
|
||||||
|
diff --git a/debian/control b/debian/control
|
||||||
|
index 42cadb2..e40c982 100644
|
||||||
|
--- a/debian/control
|
||||||
|
+++ b/debian/control
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
Source: kodiplatform
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Arne Morten Kvarving <arne.morten.kvarving@sintef.no>
|
||||||
|
-Build-Depends: debhelper (>= 8.0.0), cmake, libtinyxml-dev, kodi-addon-dev, libplatform-dev
|
||||||
|
+Build-Depends: debhelper (>= 8.0.0), cmake, libtinyxml-dev, kodi-addon-dev, libp8-platform-dev
|
||||||
|
Standards-Version: 3.9.2
|
||||||
|
Section: libs
|
||||||
|
|
||||||
|
diff --git a/src/util/XMLUtils.h b/src/util/XMLUtils.h
|
||||||
|
index f22fd07..a10d831 100644
|
||||||
|
--- a/src/util/XMLUtils.h
|
||||||
|
+++ b/src/util/XMLUtils.h
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include <platform/util/StdString.h>
|
||||||
|
+#include <p8-platform/util/StdString.h>
|
||||||
|
#include "tinyxml.h"
|
||||||
|
|
||||||
|
class XMLUtils
|
||||||
|
--
|
||||||
|
2.0.1
|
||||||
|
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
From 3136317f096ea7fda4fb907e775a01952c4aae3d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Saraev <stefan@saraev.ca>
|
||||||
|
Date: Fri, 19 Feb 2016 10:33:00 +0100
|
||||||
|
Subject: [PATCH] fix cross compile badness
|
||||||
|
|
||||||
|
From https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-platform/patches/kodi-platform-01_crosscompile-badness.patch
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
kodiplatform-config.cmake.in | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index bf6b659..9abe773 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -22,7 +22,7 @@ if(NOT WIN32)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
|
||||||
|
+set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX_TOOLCHAIN}/include/kodi")
|
||||||
|
IF(WIN32)
|
||||||
|
LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows")
|
||||||
|
ENDIF(WIN32)
|
||||||
|
diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in
|
||||||
|
index 3fc5273..60bdf1b 100644
|
||||||
|
--- a/kodiplatform-config.cmake.in
|
||||||
|
+++ b/kodiplatform-config.cmake.in
|
||||||
|
@@ -10,7 +10,7 @@
|
||||||
|
#
|
||||||
|
# propagate these properties from one build system to the other
|
||||||
|
set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@")
|
||||||
|
-set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include)
|
||||||
|
+set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX_TOOLCHAIN@/include)
|
||||||
|
set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
|
||||||
|
set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@")
|
||||||
|
set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@")
|
||||||
|
--
|
||||||
|
2.0.1
|
||||||
|
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 9abe773..ae433fc 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -9,7 +9,6 @@ find_package(kodi REQUIRED)
|
||||||
|
find_package(TinyXML REQUIRED)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
find_package(p8-platform REQUIRED)
|
||||||
|
-include(UseMultiArch.cmake)
|
||||||
|
include(CheckAtomic.cmake)
|
||||||
|
|
||||||
|
set(kodiplatform_NAME kodiplatform)
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
|
||||||
|
HOMEPAGE = "http://libcec.pulse-eight.com/"
|
||||||
|
|
||||||
|
LICENSE = "GPLv2+"
|
||||||
|
LIC_FILES_CHKSUM = "file://src/util/XMLUtils.cpp;beginline=2;endline=18;md5=dae8e846500e70dd8ecee55f3f018c30"
|
||||||
|
|
||||||
|
DEPENDS = "libtinyxml kodi"
|
||||||
|
|
||||||
|
PV = "16.0.0"
|
||||||
|
|
||||||
|
SRCREV = "15edaf78d6307eaa5e1d17028122d8bce9d55aa2"
|
||||||
|
SRC_URI = "git://github.com/xbmc/kodi-platform.git \
|
||||||
|
file://0001-Fix-build-after-platform-rename.patch \
|
||||||
|
file://0001-fix-cross-compile-badness.patch \
|
||||||
|
file://kodi-platform-02_no-multi-lib.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
inherit cmake pkgconfig
|
||||||
|
|
||||||
|
EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=${STAGING_DIR_TARGET} \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=${libdir} \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \
|
||||||
|
-DKODI_INCLUDE_DIR=${STAGING_LIBDIR}/kodi \
|
||||||
|
-DKODI_INCLUDE_DIR=${STAGING_INCDIR}/kodi \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \
|
||||||
|
-e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \
|
||||||
|
${B}/CMakeFiles/kodiplatform.dir/flags.make
|
||||||
|
sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\
|
||||||
|
${B}/CMakeFiles/kodiplatform.dir/link.txt
|
||||||
|
}
|
||||||
|
|
||||||
|
RPROVIDES_${PN} += "libkodiplatform"
|
||||||
|
FILES_${PN}-dev += "${libdir}/*platform"
|
||||||
|
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
SUMMARY = "Systemd service for kodi startup"
|
||||||
|
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
|
||||||
|
|
||||||
|
PV = "1.0"
|
||||||
|
|
||||||
|
SRC_URI = "file://kodi.service"
|
||||||
|
|
||||||
|
inherit systemd
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}/lib/systemd/system
|
||||||
|
install -m 0644 ${WORKDIR}/kodi.service ${D}/lib/systemd/system/
|
||||||
|
}
|
||||||
|
|
||||||
|
SYSTEMD_PACKAGES = "${PN}"
|
||||||
|
SYSTEMD_SERVICE_${PN} = "kodi.service"
|
||||||
|
|
||||||
|
RDEPENDS_${PN} += "xinit kodi"
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Kodi media thing
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=root
|
||||||
|
Type=simple
|
||||||
|
SuccessExitStatus=0 1
|
||||||
|
IOSchedulingClass=realtime
|
||||||
|
IOSchedulingPriority=0
|
||||||
|
|
||||||
|
ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- /usr/bin/X :0
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
SUMMARY = "Kodi Media Center"
|
||||||
|
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
|
||||||
|
|
||||||
|
DEFAULT_PREFERENCE = "-1"
|
||||||
|
|
||||||
|
FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
|
||||||
|
|
||||||
|
DEPENDS = " \
|
||||||
|
cmake-native \
|
||||||
|
curl-native \
|
||||||
|
gperf-native \
|
||||||
|
jsonschemabuilder-native \
|
||||||
|
nasm-native \
|
||||||
|
swig-native \
|
||||||
|
yasm-native \
|
||||||
|
zip-native \
|
||||||
|
avahi \
|
||||||
|
boost \
|
||||||
|
bzip2 \
|
||||||
|
curl \
|
||||||
|
dcadec \
|
||||||
|
enca \
|
||||||
|
expat \
|
||||||
|
faad2 \
|
||||||
|
ffmpeg \
|
||||||
|
fontconfig \
|
||||||
|
fribidi \
|
||||||
|
giflib \
|
||||||
|
jasper \
|
||||||
|
libass \
|
||||||
|
libcdio \
|
||||||
|
libcec \
|
||||||
|
libmad \
|
||||||
|
libmicrohttpd \
|
||||||
|
libmms \
|
||||||
|
libmms \
|
||||||
|
libmodplug \
|
||||||
|
libpcre \
|
||||||
|
libplist \
|
||||||
|
libsamplerate0 \
|
||||||
|
libsdl-image \
|
||||||
|
libsdl-mixer \
|
||||||
|
libsquish \
|
||||||
|
libssh \
|
||||||
|
libtinyxml \
|
||||||
|
libusb1 \
|
||||||
|
libxslt \
|
||||||
|
lzo \
|
||||||
|
mpeg2dec \
|
||||||
|
python \
|
||||||
|
samba \
|
||||||
|
sqlite3 \
|
||||||
|
taglib \
|
||||||
|
virtual/egl \
|
||||||
|
virtual/libsdl \
|
||||||
|
wavpack \
|
||||||
|
yajl \
|
||||||
|
zlib \
|
||||||
|
${@enable_glew(bb, d)} \
|
||||||
|
"
|
||||||
|
|
||||||
|
PROVIDES = "xbmc"
|
||||||
|
|
||||||
|
SRCREV = "32c7788e7cce711be5b7f3893c82dddd79658268"
|
||||||
|
PV = "17.0+gitr${SRCPV}"
|
||||||
|
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
|
||||||
|
file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
|
||||||
|
file://0002-handle-SIGTERM.patch \
|
||||||
|
file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
|
||||||
|
file://0004-Disable-DVD-support.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit autotools-brokensep gettext pythonnative
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
# breaks compilation
|
||||||
|
ASNEEDED = ""
|
||||||
|
|
||||||
|
ACCEL ?= ""
|
||||||
|
ACCEL_x86 = "vaapi vdpau"
|
||||||
|
ACCEL_x86-64 = "vaapi vdpau"
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= "${ACCEL}"
|
||||||
|
PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
|
||||||
|
PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
|
||||||
|
|
||||||
|
PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
|
||||||
|
PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
|
||||||
|
PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
|
||||||
|
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
|
||||||
|
PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
|
||||||
|
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
|
||||||
|
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--disable-debug \
|
||||||
|
--disable-libcap \
|
||||||
|
--disable-ccache \
|
||||||
|
--disable-mid \
|
||||||
|
--enable-libusb \
|
||||||
|
--enable-alsa \
|
||||||
|
--enable-airplay \
|
||||||
|
--disable-optical-drive \
|
||||||
|
--with-ffmpeg=shared \
|
||||||
|
--enable-texturepacker=no \
|
||||||
|
"
|
||||||
|
|
||||||
|
FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
|
||||||
|
FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
|
||||||
|
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
|
||||||
|
|
||||||
|
# for python modules
|
||||||
|
export HOST_SYS
|
||||||
|
export BUILD_SYS
|
||||||
|
export STAGING_LIBDIR
|
||||||
|
export STAGING_INCDIR
|
||||||
|
export PYTHON_DIR
|
||||||
|
|
||||||
|
def enable_glew(bb, d):
|
||||||
|
if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
|
||||||
|
return "glew"
|
||||||
|
return ""
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
( for i in $(find ${S} -name "configure.*" ) ; do
|
||||||
|
cd $(dirname $i) && gnu-configize --force || true
|
||||||
|
done )
|
||||||
|
make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
|
||||||
|
|
||||||
|
BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
|
||||||
|
BOOTSTRAP_STANDALONE=1 make -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
|
||||||
|
oe_runconf
|
||||||
|
}
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
for i in $(find . -name "Makefile") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} = "rpaths"
|
||||||
|
|
||||||
|
FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
|
||||||
|
FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
|
||||||
|
|
||||||
|
# kodi uses some kind of dlopen() method for libcec so we need to add it manually
|
||||||
|
# OpenGL builds need glxinfo, that's in mesa-demos
|
||||||
|
RRECOMMENDS_${PN}_append = " libcec \
|
||||||
|
python \
|
||||||
|
python-lang \
|
||||||
|
python-re \
|
||||||
|
python-netclient \
|
||||||
|
python-html \
|
||||||
|
python-difflib \
|
||||||
|
python-json \
|
||||||
|
python-zlib \
|
||||||
|
python-shell \
|
||||||
|
python-sqlite3 \
|
||||||
|
python-compression \
|
||||||
|
libcurl \
|
||||||
|
${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
|
||||||
|
"
|
||||||
|
RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
|
||||||
|
glibc-gconv-ibm850 \
|
||||||
|
glibc-gconv-unicode \
|
||||||
|
glibc-gconv-utf-32 \
|
||||||
|
glibc-charmap-utf-8 \
|
||||||
|
glibc-localedata-en-us \
|
||||||
|
"
|
||||||
|
|
||||||
|
RPROVIDES_${PN} += "xbmc"
|
||||||
|
|
||||||
-31
@@ -1,31 +0,0 @@
|
|||||||
From 0dce5a2abd9f42876616c35772a4d71c5399543c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
|
||||||
Date: Sat, 17 Dec 2011 11:38:15 +0100
|
|
||||||
Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots
|
|
||||||
|
|
||||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
||||||
---
|
|
||||||
m4/ax_python_devel.m4 | 7 +------
|
|
||||||
1 files changed, 1 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
|
|
||||||
index adbd207..dee70f6 100644
|
|
||||||
--- a/m4/ax_python_devel.m4
|
|
||||||
+++ b/m4/ax_python_devel.m4
|
|
||||||
@@ -151,12 +151,7 @@ $ac_distutils_result])
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([for Python include path])
|
|
||||||
if test -z "$PYTHON_CPPFLAGS"; then
|
|
||||||
- python_path=`$PYTHON -c "import distutils.sysconfig; \
|
|
||||||
- print (distutils.sysconfig.get_python_inc ());"`
|
|
||||||
- if test -n "${python_path}"; then
|
|
||||||
- python_path="-I$python_path"
|
|
||||||
- fi
|
|
||||||
- PYTHON_CPPFLAGS=$python_path
|
|
||||||
+ PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}"
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT([$PYTHON_CPPFLAGS])
|
|
||||||
AC_SUBST([PYTHON_CPPFLAGS])
|
|
||||||
--
|
|
||||||
1.7.2.5
|
|
||||||
|
|
||||||
-97
@@ -1,97 +0,0 @@
|
|||||||
From 7b2a8a7869d257cba35f53f6d877877c29cdac27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paul Menzel <paulepanter@users.sourceforge.net>
|
|
||||||
Date: Sun, 14 Aug 2011 21:53:47 +0200
|
|
||||||
Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses."
|
|
||||||
|
|
||||||
This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1.
|
|
||||||
|
|
||||||
The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
|
|
||||||
|
|
||||||
make -C xbmc/threads
|
|
||||||
make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
|
|
||||||
CPP Atomics.o
|
|
||||||
/tmp/ccIzTm3L.s: Assembler messages:
|
|
||||||
/tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish'
|
|
||||||
make[1]: *** [Atomics.o] Error 1
|
|
||||||
make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
|
|
||||||
make: *** [xbmc/threads/threads.a] Error 2
|
|
||||||
---
|
|
||||||
xbmc/threads/Atomics.cpp | 8 --------
|
|
||||||
1 files changed, 0 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
|
|
||||||
index 5b09f18..0a98a7e 100644
|
|
||||||
--- a/xbmc/threads/Atomics.cpp
|
|
||||||
+++ b/xbmc/threads/Atomics.cpp
|
|
||||||
@@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr)
|
|
||||||
{
|
|
||||||
register long val;
|
|
||||||
asm volatile (
|
|
||||||
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
|
||||||
"1: \n"
|
|
||||||
"ldrex %0, [%1] \n" // (val = *pAddr)
|
|
||||||
"add %0, #1 \n" // (val += 1)
|
|
||||||
"strex r1, %0, [%1] \n"
|
|
||||||
"cmp r1, #0 \n"
|
|
||||||
"bne 1b \n"
|
|
||||||
- "dmb ish \n" // Memory barrier.
|
|
||||||
: "=&r" (val)
|
|
||||||
: "r"(pAddr)
|
|
||||||
: "r1"
|
|
||||||
@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount)
|
|
||||||
{
|
|
||||||
register long val;
|
|
||||||
asm volatile (
|
|
||||||
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
|
||||||
"1: \n"
|
|
||||||
"ldrex %0, [%1] \n" // (val = *pAddr)
|
|
||||||
"add %0, %2 \n" // (val += amount)
|
|
||||||
"strex r1, %0, [%1] \n"
|
|
||||||
"cmp r1, #0 \n"
|
|
||||||
"bne 1b \n"
|
|
||||||
- "dmb ish \n" // Memory barrier.
|
|
||||||
: "=&r" (val)
|
|
||||||
: "r"(pAddr), "r"(amount)
|
|
||||||
: "r1"
|
|
||||||
@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr)
|
|
||||||
{
|
|
||||||
register long val;
|
|
||||||
asm volatile (
|
|
||||||
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
|
||||||
"1: \n"
|
|
||||||
"ldrex %0, [%1] \n" // (val = *pAddr)
|
|
||||||
"sub %0, #1 \n" // (val -= 1)
|
|
||||||
"strex r1, %0, [%1] \n"
|
|
||||||
"cmp r1, #0 \n"
|
|
||||||
"bne 1b \n"
|
|
||||||
- "dmb ish \n" // Memory barrier.
|
|
||||||
: "=&r" (val)
|
|
||||||
: "r"(pAddr)
|
|
||||||
: "r1"
|
|
||||||
@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount)
|
|
||||||
{
|
|
||||||
register long val;
|
|
||||||
asm volatile (
|
|
||||||
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
|
||||||
"1: \n"
|
|
||||||
"ldrex %0, [%1] \n" // (val = *pAddr)
|
|
||||||
"sub %0, %2 \n" // (val -= amount)
|
|
||||||
"strex r1, %0, [%1] \n"
|
|
||||||
"cmp r1, #0 \n"
|
|
||||||
"bne 1b \n"
|
|
||||||
- "dmb ish \n" // Memory barrier.
|
|
||||||
: "=&r" (val)
|
|
||||||
: "r"(pAddr), "r"(amount)
|
|
||||||
: "r1"
|
|
||||||
--
|
|
||||||
1.7.2.5
|
|
||||||
|
|
||||||
-69
@@ -1,69 +0,0 @@
|
|||||||
From aaae1616a09d359b52e929f944ca0ceb4bb7f831 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paul Menzel <paulepanter@users.sourceforge.net>
|
|
||||||
Date: Sun, 14 Aug 2011 21:55:09 +0200
|
|
||||||
Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses."
|
|
||||||
|
|
||||||
This reverts commit 92bab651e2253d172879995b50985645b77fecd2.
|
|
||||||
|
|
||||||
The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
|
|
||||||
|
|
||||||
CPP Atomics.o
|
|
||||||
make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows'
|
|
||||||
CPP GUIMediaWindow.o
|
|
||||||
/tmp/ccrsywuV.s: Assembler messages:
|
|
||||||
/tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish'
|
|
||||||
/tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish'
|
|
||||||
make[1]: *** [Atomics.o] Error 1
|
|
||||||
make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/threads'
|
|
||||||
make: *** [xbmc/threads/threads.a] Error 2
|
|
||||||
---
|
|
||||||
xbmc/threads/Atomics.cpp | 33 ++++++++++++++++-----------------
|
|
||||||
1 files changed, 16 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
|
|
||||||
index 0a98a7e..0967eb2 100644
|
|
||||||
--- a/xbmc/threads/Atomics.cpp
|
|
||||||
+++ b/xbmc/threads/Atomics.cpp
|
|
||||||
@@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
|
|
||||||
#elif defined(__arm__)
|
|
||||||
long cas(volatile long* pAddr, long expectedVal, long swapVal)
|
|
||||||
{
|
|
||||||
- register long prev;
|
|
||||||
- asm volatile (
|
|
||||||
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
|
||||||
- "1: \n"
|
|
||||||
- "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1) into prev (%0) and lock pAddr,
|
|
||||||
- "cmp %0, %2 \n" // Verify that the current value (%0) == old value (%2)
|
|
||||||
- "bne 2f \n" // Bail if the two values are not equal [not as expected]
|
|
||||||
- "strex r1, %3, [%1] \n"
|
|
||||||
- "cmp r1, #0 \n"
|
|
||||||
- "bne 1b \n"
|
|
||||||
- "dmb ish \n" // Memory barrier.
|
|
||||||
- "2: \n"
|
|
||||||
- : "=&r" (prev)
|
|
||||||
- : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
|
|
||||||
- : "r1"
|
|
||||||
- );
|
|
||||||
- return prev;
|
|
||||||
+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal));
|
|
||||||
+// register long prev;
|
|
||||||
+// asm volatile (
|
|
||||||
+// "1: \n"
|
|
||||||
+// "ldrex %0, [%1] \n" /* Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, */
|
|
||||||
+// "cmp %0, %2 \n" /* Verify that the current value (%0) == old value (%2) */
|
|
||||||
+// "bne 2f \n" /* Bail if the two values are not equal [not as expected] */
|
|
||||||
+// "strex r1, %3, [%1] \n"
|
|
||||||
+// "cmp r1, #0 \n"
|
|
||||||
+// "bne 1b \n"
|
|
||||||
+// "2: "
|
|
||||||
+// : "=&r" (prev)
|
|
||||||
+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
|
|
||||||
+// : "r1"
|
|
||||||
+// );
|
|
||||||
+// return prev;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(__mips__)
|
|
||||||
--
|
|
||||||
1.7.2.5
|
|
||||||
|
|
||||||
-43
@@ -1,43 +0,0 @@
|
|||||||
From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
|
||||||
Date: Mon, 11 Mar 2013 11:04:29 +0100
|
|
||||||
Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE
|
|
||||||
|
|
||||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
||||||
---
|
|
||||||
|
|
||||||
Upstream-Stature: backport
|
|
||||||
|
|
||||||
configure.in | 12 +++++++-----
|
|
||||||
1 files changed, 7 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.in b/configure.in
|
|
||||||
index ef94683..c8b459b 100755
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -18,9 +18,14 @@ tolower(){
|
|
||||||
# check for library basenames
|
|
||||||
AC_DEFUN([XB_FIND_SONAME],
|
|
||||||
[
|
|
||||||
+ #set -x
|
|
||||||
if [[ "$host_vendor" != "apple" ]]; then
|
|
||||||
AC_MSG_CHECKING([for lib$2 soname])
|
|
||||||
$1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
|
|
||||||
+ if [[ -z $$1_FILENAME ]]; then
|
|
||||||
+ #try gold linker syntax
|
|
||||||
+ $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "$2")
|
|
||||||
+ fi
|
|
||||||
if [[ ! -z $$1_FILENAME ]]; then
|
|
||||||
$1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
|
|
||||||
fi
|
|
||||||
@@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME],
|
|
||||||
AC_MSG_RESULT([$$1_SONAME])
|
|
||||||
AC_SUBST($1_SONAME)
|
|
||||||
fi
|
|
||||||
+ #set +x
|
|
||||||
])
|
|
||||||
|
|
||||||
# Function to push and pop libs and includes for a command
|
|
||||||
--
|
|
||||||
1.7.7.6
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Otavio Salvador <otavio@ossystems.com.br>
|
|
||||||
Date: Sat, 6 Oct 2012 06:40:03 -0300
|
|
||||||
Subject: [PATCH] configure.in: Avoid running code or we break cross-compile
|
|
||||||
|
|
||||||
Upstream-Status: Backport [similar change done for 12.0]
|
|
||||||
|
|
||||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
||||||
---
|
|
||||||
configure.in | 6 +-----
|
|
||||||
1 files changed, 1 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.in b/configure.in
|
|
||||||
index ef94683..d7efcb0 100755
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" = "yes"; then
|
|
||||||
AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
|
|
||||||
|
|
||||||
# Disable vdpau support if external libavcodec doesn't have it
|
|
||||||
- AC_RUN_IFELSE(
|
|
||||||
- AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]],
|
|
||||||
- [[avcodec_register_all();
|
|
||||||
- AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau");
|
|
||||||
- return (codec) ? 0 : 1;]]),,
|
|
||||||
+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
|
|
||||||
[if test "x$use_vdpau" = "xyes"; then
|
|
||||||
AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
|
|
||||||
else
|
|
||||||
--
|
|
||||||
1.7.2.5
|
|
||||||
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
SUMMARY = "XBMC Media Center"
|
|
||||||
|
|
||||||
LICENSE = "GPLv2"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
|
|
||||||
|
|
||||||
DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad"
|
|
||||||
#require recipes/egl/egl.inc
|
|
||||||
|
|
||||||
|
|
||||||
SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
|
|
||||||
|
|
||||||
# multiple issues
|
|
||||||
PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
|
|
||||||
|
|
||||||
PV = "11.0+gitr${SRCPV}"
|
|
||||||
PR = "r14"
|
|
||||||
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \
|
|
||||||
file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \
|
|
||||||
file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \
|
|
||||||
file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \
|
|
||||||
file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \
|
|
||||||
file://configure.in-Avoid-running-code.patch \
|
|
||||||
"
|
|
||||||
|
|
||||||
inherit autotools gettext python-dir
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
# breaks compilation
|
|
||||||
CCACHE = ""
|
|
||||||
|
|
||||||
CACHED_CONFIGUREVARS += " \
|
|
||||||
ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
|
|
||||||
"
|
|
||||||
|
|
||||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}"
|
|
||||||
PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew"
|
|
||||||
PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,"
|
|
||||||
|
|
||||||
EXTRA_OECONF = " \
|
|
||||||
--disable-rpath \
|
|
||||||
--enable-libusb \
|
|
||||||
--enable-airplay \
|
|
||||||
--disable-optical-drive \
|
|
||||||
--enable-external-libraries \
|
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \
|
|
||||||
"
|
|
||||||
|
|
||||||
FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
|
|
||||||
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
|
|
||||||
|
|
||||||
EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
|
|
||||||
|
|
||||||
# for python modules
|
|
||||||
export STAGING_LIBDIR
|
|
||||||
export STAGING_INCDIR
|
|
||||||
export PYTHON_DIR
|
|
||||||
|
|
||||||
do_configure() {
|
|
||||||
sh bootstrap
|
|
||||||
oe_runconf
|
|
||||||
}
|
|
||||||
|
|
||||||
PARALLEL_MAKE = ""
|
|
||||||
|
|
||||||
do_compile_prepend() {
|
|
||||||
for i in $(find . -name "Makefile") ; do
|
|
||||||
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
|
|
||||||
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
INSANE_SKIP_${PN} = "rpaths"
|
|
||||||
|
|
||||||
# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
|
|
||||||
do_install_append_arm() {
|
|
||||||
sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
|
|
||||||
FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug"
|
|
||||||
|
|
||||||
# xbmc uses some kind of dlopen() method for libcec so we need to add it manually
|
|
||||||
# OpenGL builds need glxinfo, that's in mesa-demos
|
|
||||||
RRECOMMENDS_${PN}_append = " libcec \
|
|
||||||
python \
|
|
||||||
python-lang \
|
|
||||||
python-re \
|
|
||||||
python-netclient \
|
|
||||||
libcurl \
|
|
||||||
xdpyinfo \
|
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \
|
|
||||||
"
|
|
||||||
RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"
|
|
||||||
Reference in New Issue
Block a user