diff options
| author | manuel <manuel@mausz.at> | 2015-03-23 16:03:05 +0100 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2015-03-23 16:03:05 +0100 |
| commit | 0b9dd5668f1c090b820708b7b6144a3bd9b49729 (patch) | |
| tree | 4436861fac268405e16e7b9920fd97c4a64eef09 | |
| parent | 070914d3b4d7c1b391e76595ee8eb815d9aaf7f6 (diff) | |
| download | kodi-pvr-build-0b9dd5668f1c090b820708b7b6144a3bd9b49729.tar.gz kodi-pvr-build-0b9dd5668f1c090b820708b7b6144a3bd9b49729.tar.bz2 kodi-pvr-build-0b9dd5668f1c090b820708b7b6144a3bd9b49729.zip | |
sync with upstream
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) |
| 290 | endif() | 296 | endif() |
| 297 | |||
| 298 | # add custom target "supported_addons" that returns all addons that are supported on this platform | ||
| 299 | string(REPLACE ";" " " ALL_ADDONS_BUILDING "${ALL_ADDONS_BUILDING}") | ||
| 300 | add_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() |
| 88 | endforeach() | 88 | endforeach() |
| 89 | |||
| 90 | ### on windows we need a "patch" binary to be able to patch 3rd party sources | ||
| 91 | if(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() | ||
| 129 | endif() | ||
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 |
| 84 | extern "C" { | 84 | extern "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 |
