summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--project/cmake/addons/CMakeLists.txt12
-rw-r--r--project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt2
-rw-r--r--project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt2
-rw-r--r--project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt2
-rw-r--r--project/cmake/addons/addons/pvr.hts/pvr.hts.txt2
-rw-r--r--project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt2
-rw-r--r--project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt2
-rw-r--r--project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt2
-rw-r--r--project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt2
-rw-r--r--project/cmake/addons/addons/pvr.pctv/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt2
-rw-r--r--project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt2
-rw-r--r--project/cmake/scripts/common/handle-depends.cmake20
-rw-r--r--project/cmake/scripts/common/prepare-env.cmake41
-rw-r--r--xbmc/addons/include/xbmc_epg_types.h6
-rw-r--r--xbmc/addons/include/xbmc_pvr_types.h5
17 files changed, 92 insertions, 14 deletions
diff --git a/project/cmake/addons/CMakeLists.txt b/project/cmake/addons/CMakeLists.txt
index 83f424a..0773713 100644
--- a/project/cmake/addons/CMakeLists.txt
+++ b/project/cmake/addons/CMakeLists.txt
@@ -245,10 +245,13 @@ foreach(addon ${addons})
245 endif() 245 endif()
246 246
247 if(NOT "${SOURCE_DIR}" STREQUAL "" AND EXISTS ${SOURCE_DIR}) 247 if(NOT "${SOURCE_DIR}" STREQUAL "" AND EXISTS ${SOURCE_DIR})
248 # create a list of addons we are building
249 list(APPEND ALL_ADDONS_BUILDING ${id})
250
248 # setup the buildsystem for the addon 251 # setup the buildsystem for the addon
249 externalproject_add(${id} 252 externalproject_add(${id}
250 SOURCE_DIR ${SOURCE_DIR} 253 SOURCE_DIR ${SOURCE_DIR}
251 INSTALL_DIR ${CMAKE_INSTALL_PREFIX} 254 INSTALL_DIR ${ADDON_INSTALL_DIR}
252 CMAKE_ARGS ${BUILD_ARGS}) 255 CMAKE_ARGS ${BUILD_ARGS})
253 256
254 # add a custom step to the external project between the configure and the build step which will always 257 # add a custom step to the external project between the configure and the build step which will always
@@ -275,6 +278,9 @@ foreach(addon ${addons})
275 else() 278 else()
276 message(FATAL_ERROR "${id}: invalid or missing addon source directory at ${SOURCE_DIR}") 279 message(FATAL_ERROR "${id}: invalid or missing addon source directory at ${SOURCE_DIR}")
277 endif() 280 endif()
281 else()
282 # add a dummy target for addons that are unsupported on this platform
283 add_custom_target(${id} COMMAND ${CMAKE_COMMAND} -E echo "IGNORED ${id} - not supported on ${CORE_SYSTEM_NAME}\n")
278 endif() 284 endif()
279 endif() 285 endif()
280 endif() 286 endif()
@@ -288,3 +294,7 @@ if(NEED_SUDO)
288 COMMAND sudo ${CMAKE_COMMAND} -E remove_directory ${ADDON_INSTALL_DIR}/ 294 COMMAND sudo ${CMAKE_COMMAND} -E remove_directory ${ADDON_INSTALL_DIR}/
289 COMMAND sudo -k) 295 COMMAND sudo -k)
290endif() 296endif()
297
298# add custom target "supported_addons" that returns all addons that are supported on this platform
299string(REPLACE ";" " " ALL_ADDONS_BUILDING "${ALL_ADDONS_BUILDING}")
300add_custom_target(supported_addons COMMAND ${CMAKE_COMMAND} -E echo "ALL_ADDONS_BUILDING: ${ALL_ADDONS_BUILDING}" VERBATIM)
diff --git a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt b/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt
index bb928b6..43df697 100644
--- a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt
+++ b/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt
@@ -1 +1 @@
pvr.argustv https://github.com/kodi-pvr/pvr.argustv b6a58d3 \ No newline at end of file pvr.argustv https://github.com/kodi-pvr/pvr.argustv 6d1f1dd
diff --git a/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt b/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt
index 58e0d5a..ce9e369 100644
--- a/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt
+++ b/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt
@@ -1 +1 @@
pvr.dvblink https://github.com/kodi-pvr/pvr.dvblink 10b9c1d \ No newline at end of file pvr.dvblink https://github.com/kodi-pvr/pvr.dvblink 342a299
diff --git a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt b/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt
index 21e5f3a..afd4ba4 100644
--- a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt
+++ b/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt
@@ -1 +1 @@
pvr.filmon https://github.com/kodi-pvr/pvr.filmon a0ee270 pvr.filmon https://github.com/kodi-pvr/pvr.filmon 0e5bad6
diff --git a/project/cmake/addons/addons/pvr.hts/pvr.hts.txt b/project/cmake/addons/addons/pvr.hts/pvr.hts.txt
index fbdac0b..4b5530d 100644
--- a/project/cmake/addons/addons/pvr.hts/pvr.hts.txt
+++ b/project/cmake/addons/addons/pvr.hts/pvr.hts.txt
@@ -1 +1 @@
pvr.hts https://github.com/kodi-pvr/pvr.hts abceaf8 pvr.hts https://github.com/kodi-pvr/pvr.hts cc1b511
diff --git a/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt b/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt
index 534ede1..f113fab 100644
--- a/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt
+++ b/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt
@@ -1 +1 @@
pvr.mediaportal.tvserver https://github.com/kodi-pvr/pvr.mediaportal.tvserver 87422e6 \ No newline at end of file pvr.mediaportal.tvserver https://github.com/kodi-pvr/pvr.mediaportal.tvserver 51e68c4
diff --git a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt
index 9c77d98..fb37936 100644
--- a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt
+++ b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt
@@ -1 +1 @@
pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv 6e9cf98 \ No newline at end of file pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv ae577ad
diff --git a/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt b/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt
index 0d3df74..95a56b9 100644
--- a/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt
+++ b/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt
@@ -1 +1 @@
pvr.nextpvr https://github.com/kodi-pvr/pvr.nextpvr 79557b2 \ No newline at end of file pvr.nextpvr https://github.com/kodi-pvr/pvr.nextpvr 7c6f1f8
diff --git a/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt b/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt
index e33573b..967d5b9 100644
--- a/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt
+++ b/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt
@@ -1 +1 @@
pvr.njoy https://github.com/kodi-pvr/pvr.njoy dee3094 \ No newline at end of file pvr.njoy https://github.com/kodi-pvr/pvr.njoy 583f1cc
diff --git a/project/cmake/addons/addons/pvr.pctv/platforms.txt b/project/cmake/addons/addons/pvr.pctv/platforms.txt
new file mode 100644
index 0000000..baa6044
--- /dev/null
+++ b/project/cmake/addons/addons/pvr.pctv/platforms.txt
@@ -0,0 +1 @@
all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt b/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt
new file mode 100644
index 0000000..8ba7d9c
--- /dev/null
+++ b/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt
@@ -0,0 +1 @@
pvr.pctv https://github.com/kodi-pvr/pvr.pctv 7929c6b
diff --git a/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt b/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt
index 1d8e086..72b4954 100644
--- a/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt
+++ b/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt
@@ -1 +1 @@
pvr.vdr.vnsi https://github.com/kodi-pvr/pvr.vdr.vnsi 9bebee1 \ No newline at end of file pvr.vdr.vnsi https://github.com/kodi-pvr/pvr.vdr.vnsi 3a28e39
diff --git a/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt b/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt
index 1be8ad5..1455925 100644
--- a/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt
+++ b/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt
@@ -1 +1 @@
pvr.wmc https://github.com/kodi-pvr/pvr.wmc e4b5285 \ No newline at end of file pvr.wmc https://github.com/kodi-pvr/pvr.wmc cf28e4c
diff --git a/project/cmake/scripts/common/handle-depends.cmake b/project/cmake/scripts/common/handle-depends.cmake
index b3bf3cd..4d78928 100644
--- a/project/cmake/scripts/common/handle-depends.cmake
+++ b/project/cmake/scripts/common/handle-depends.cmake
@@ -86,8 +86,26 @@ function(add_addon_depends addon searchpath)
86 file(GLOB patches ${dir}/*.patch) 86 file(GLOB patches ${dir}/*.patch)
87 list(SORT patches) 87 list(SORT patches)
88 foreach(patch ${patches}) 88 foreach(patch ${patches})
89 if(NOT PATCH_PROGRAM OR "${PATCH_PROGRAM}" STREQUAL "")
90 if(NOT PATCH_EXECUTABLE)
91 # find the path to the patch executable
92 find_program(PATCH_EXECUTABLE NAMES patch)
93
94 if(NOT PATCH_EXECUTABLE)
95 message(FATAL_ERROR "Missing patch command (we looked in ${CMAKE_PREFIX_PATH})")
96 endif()
97 endif()
98
99 # on windows "patch.exe" can only handle CR-LF line-endings so we
100 # need to force it to also handle LF-only line endings
101 set(PATCH_PROGRAM ${PATCH_EXECUTABLE})
102 if(WIN32)
103 set(PATCH_PROGRAM "\"${PATCH_PROGRAM}\" --binary")
104 endif()
105 endif()
106
89 file(APPEND ${PATCH_FILE} 107 file(APPEND ${PATCH_FILE}
90 "execute_process(COMMAND patch -p1 -i ${patch})\n") 108 "execute_process(COMMAND ${PATCH_PROGRAM} -p1 -i \"${patch}\")\n")
91 endforeach() 109 endforeach()
92 110
93 111
diff --git a/project/cmake/scripts/common/prepare-env.cmake b/project/cmake/scripts/common/prepare-env.cmake
index 7df421c..3413c45 100644
--- a/project/cmake/scripts/common/prepare-env.cmake
+++ b/project/cmake/scripts/common/prepare-env.cmake
@@ -86,3 +86,44 @@ foreach(binding ${bindings})
86#include \"kodi/${headerfile}\"") 86#include \"kodi/${headerfile}\"")
87 endif() 87 endif()
88endforeach() 88endforeach()
89
90### on windows we need a "patch" binary to be able to patch 3rd party sources
91if(WIN32)
92 find_program(PATCH_FOUND NAMES patch patch.exe)
93 if(PATCH_FOUND)
94 message(STATUS "patch utility found at ${PATCH_FOUND}")
95 else()
96 set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-1")
97 set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip")
98 set(PATCH_URL "http://mirrors.xbmc.org/build-deps/win32/${PATCH_ARCHIVE}")
99 set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE})
100
101 # download the archive containing patch.exe
102 message(STATUS "Downloading patch utility from ${PATCH_URL}...")
103 file(DOWNLOAD "${PATCH_URL}" "${PATCH_DOWNLOAD}" STATUS PATCH_DL_STATUS LOG PATCH_LOG SHOW_PROGRESS)
104 list(GET PATCH_DL_STATUS 0 PATCH_RETCODE)
105 if(NOT ${PATCH_RETCODE} EQUAL 0)
106 message(FATAL_ERROR "ERROR downloading ${PATCH_URL} - status: ${PATCH_DL_STATUS} log: ${PATCH_LOG}")
107 endif()
108
109 # extract the archive containing patch.exe
110 execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzvf ${PATCH_DOWNLOAD}
111 WORKING_DIRECTORY ${BUILD_DIR})
112
113 # make sure the extraction worked and that patch.exe is there
114 set(PATCH_PATH ${BUILD_DIR}/${PATCH_ARCHIVE_NAME})
115 set(PATCH_BINARY_PATH ${PATCH_PATH}/bin/patch.exe)
116 if(NOT EXISTS ${PATCH_PATH} OR NOT EXISTS ${PATCH_BINARY_PATH})
117 message(FATAL_ERROR "ERROR extracting patch utility from ${PATCH_DOWNLOAD_DIR}")
118 endif()
119
120 # copy patch.exe into the output directory
121 file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${DEPENDS_PATH}/bin)
122
123 # make sure that cmake can find the copied patch.exe
124 find_program(PATCH_FOUND NAMES patch patch.exe)
125 if(NOT PATCH_FOUND)
126 message(FATAL_ERROR "ERROR installing patch utility from ${PATCH_BINARY_PATH} to ${DEPENDS_PATH}/bin")
127 endif()
128 endif()
129endif()
diff --git a/xbmc/addons/include/xbmc_epg_types.h b/xbmc/addons/include/xbmc_epg_types.h
index ceac074..efd7d13 100644
--- a/xbmc/addons/include/xbmc_epg_types.h
+++ b/xbmc/addons/include/xbmc_epg_types.h
@@ -76,6 +76,12 @@ extern "C" {
76 time_t endTime; /*!< @brief (required) end time in UTC */ 76 time_t endTime; /*!< @brief (required) end time in UTC */
77 const char * strPlotOutline; /*!< @brief (optional) plot outline */ 77 const char * strPlotOutline; /*!< @brief (optional) plot outline */
78 const char * strPlot; /*!< @brief (optional) plot */ 78 const char * strPlot; /*!< @brief (optional) plot */
79 const char * strOriginalTitle; /*!< @brief (optional) originaltitle */
80 const char * strCast; /*!< @brief (optional) cast */
81 const char * strDirector; /*!< @brief (optional) director */
82 const char * strWriter; /*!< @brief (optional) writer */
83 int iYear; /*!< @brief (optional) year */
84 const char * strIMDBNumber; /*!< @brief (optional) IMDBNumber */
79 const char * strIconPath; /*!< @brief (optional) icon path */ 85 const char * strIconPath; /*!< @brief (optional) icon path */
80 int iGenreType; /*!< @brief (optional) genre type */ 86 int iGenreType; /*!< @brief (optional) genre type */
81 int iGenreSubType; /*!< @brief (optional) genre sub type */ 87 int iGenreSubType; /*!< @brief (optional) genre sub type */
diff --git a/xbmc/addons/include/xbmc_pvr_types.h b/xbmc/addons/include/xbmc_pvr_types.h
index 5716e51..a2e4882 100644
--- a/xbmc/addons/include/xbmc_pvr_types.h
+++ b/xbmc/addons/include/xbmc_pvr_types.h
@@ -75,10 +75,10 @@ struct DemuxPacket;
75#define PVR_STREAM_MAX_STREAMS 20 75#define PVR_STREAM_MAX_STREAMS 20
76 76
77/* current PVR API version */ 77/* current PVR API version */
78#define XBMC_PVR_API_VERSION "1.9.5" 78#define XBMC_PVR_API_VERSION "1.9.6"
79 79
80/* min. PVR API version */ 80/* min. PVR API version */
81#define XBMC_PVR_MIN_API_VERSION "1.9.5" 81#define XBMC_PVR_MIN_API_VERSION "1.9.6"
82 82
83#ifdef __cplusplus 83#ifdef __cplusplus
84extern "C" { 84extern "C" {
@@ -244,6 +244,7 @@ extern "C" {
244 { 244 {
245 char strGroupName[PVR_ADDON_NAME_STRING_LENGTH]; /*!< @brief (required) name of this channel group */ 245 char strGroupName[PVR_ADDON_NAME_STRING_LENGTH]; /*!< @brief (required) name of this channel group */
246 bool bIsRadio; /*!< @brief (required) true if this is a radio channel group, false otherwise. */ 246 bool bIsRadio; /*!< @brief (required) true if this is a radio channel group, false otherwise. */
247 unsigned int iPosition; /*!< @brief (optional) sort position of the group (0 indicates that the backend doesn't support sorting of groups) */
247 } ATTRIBUTE_PACKED PVR_CHANNEL_GROUP; 248 } ATTRIBUTE_PACKED PVR_CHANNEL_GROUP;
248 249
249 typedef struct PVR_CHANNEL_GROUP_MEMBER 250 typedef struct PVR_CHANNEL_GROUP_MEMBER