Advertisement
Guest User

vdr 2.3.8 for LE 8.2.3

a guest
Mar 18th, 2018
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 113.63 KB | None | 0 0
  1. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk
  2. new file mode 100644
  3. index 0000000..fb76d70
  4. --- /dev/null
  5. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-ddci2/package.mk
  6. @@ -0,0 +1,56 @@
  7. +################################################################################
  8. +#      This file is part of LibreELEC - https://libreelec.tv
  9. +#      Copyright (C) 2017-present Team LibreELEC
  10. +#
  11. +#  LibreELEC is free software: you can redistribute it and/or modify
  12. +#  it under the terms of the GNU General Public License as published by
  13. +#  the Free Software Foundation, either version 2 of the License, or
  14. +#  (at your option) any later version.
  15. +#
  16. +#  LibreELEC is distributed in the hope that it will be useful,
  17. +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19. +#  GNU General Public License for more details.
  20. +#
  21. +#  You should have received a copy of the GNU General Public License
  22. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  23. +################################################################################
  24. +
  25. +PKG_NAME="vdr-plugin-ddci2"
  26. +PKG_VERSION="05dd988"
  27. +PKG_SHA256="b8ed2787e9140eb00a68397eaeb14862ba88a6e73480dc3220a098faffb14833"
  28. +PKG_ARCH="any"
  29. +PKG_LICENSE="GPL"
  30. +PKG_SITE="https://github.com/jasmin-j/vdr-plugin-ddci2"
  31. +PKG_URL="https://github.com/jasmin-j/vdr-plugin-ddci2/archive/$PKG_VERSION.tar.gz"
  32. +PKG_DEPENDS_TARGET="toolchain vdr"
  33. +PKG_SECTION="multimedia"
  34. +PKG_SHORTDESC="Support for stand alone CI by Digital Devices."
  35. +PKG_LONGDESC="Support for stand alone CI by Digital Devices."
  36. +
  37. +PKG_IS_ADDON="no"
  38. +PKG_AUTORECONF="no"
  39. +
  40. +make_target() {
  41. +  VDR_DIR=$(get_build_dir vdr)
  42. +  export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  43. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  44. +
  45. +  make \
  46. +    LIBDIR="." \
  47. +    LOCDIR="./locale" \
  48. +    all
  49. +}
  50. +
  51. +post_make_target() {
  52. +  VDR_DIR=$(get_build_dir vdr)
  53. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  54. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  55. +
  56. +  cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  57. +  $STRIP libvdr-*.so*
  58. +}
  59. +
  60. +makeinstall_target() {
  61. +  : # installation not needed, done by create-addon script
  62. +}
  63. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  64. index 3c30f77..1f647b1 100644
  65. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  66. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dummydevice/package.mk
  67. @@ -1,23 +1,25 @@
  68.  ################################################################################
  69. -#      This file is part of OpenELEC - http://www.openelec.tv
  70. +#      This file is part of LibreELEC - https://libreelec.tv
  71. +#      Copyright (C) 2016-present Team LibreELEC
  72.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  73.  #
  74. -#  OpenELEC is free software: you can redistribute it and/or modify
  75. +#  LibreELEC is free software: you can redistribute it and/or modify
  76.  #  it under the terms of the GNU General Public License as published by
  77.  #  the Free Software Foundation, either version 2 of the License, or
  78.  #  (at your option) any later version.
  79.  #
  80. -#  OpenELEC is distributed in the hope that it will be useful,
  81. +#  LibreELEC is distributed in the hope that it will be useful,
  82.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  83.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  84.  #  GNU General Public License for more details.
  85.  #
  86.  #  You should have received a copy of the GNU General Public License
  87. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  88. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  89.  ################################################################################
  90.  
  91.  PKG_NAME="vdr-plugin-dummydevice"
  92.  PKG_VERSION="2.0.0"
  93. +PKG_SHA256="5c0049824415bd463d3abc728a3136ee064b60a37b5d3a1986cf282b0d757085"
  94.  PKG_ARCH="any"
  95.  PKG_LICENSE="GPL"
  96.  PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
  97. @@ -25,8 +27,8 @@ PKG_URL="http://phivdr.dyndns.org/vdr/vdr-dummydevice/${PKG_NAME/-plugin/}-$PKG_
  98.  PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
  99.  PKG_DEPENDS_TARGET="toolchain vdr"
  100.  PKG_SECTION="multimedia"
  101. -PKG_SHORTDESC="vdr dummydevice plugin"
  102. -PKG_LONGDESC="vdr dummydevice plugin"
  103. +PKG_SHORTDESC="This plugin can be used to run vdr as recording server without any output devices."
  104. +PKG_LONGDESC="This plugin can be used to run vdr as recording server without any output devices."
  105.  
  106.  PKG_IS_ADDON="no"
  107.  PKG_AUTORECONF="no"
  108. @@ -48,7 +50,6 @@ post_make_target() {
  109.    LIB_NAME=lib${PKG_NAME/-plugin/}
  110.  
  111.    cp --remove-destination ${LIB_NAME}.so ${LIB_NAME}.so.${VDR_APIVERSION}
  112. -  $STRIP libvdr-*.so*
  113.  }
  114.  
  115.  makeinstall_target() {
  116. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  117. index d79e76f..cfeede0 100644
  118. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  119. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/package.mk
  120. @@ -1,32 +1,33 @@
  121.  ################################################################################
  122. -#      This file is part of OpenELEC - http://www.openelec.tv
  123. +#      This file is part of LibreELEC - https://libreelec.tv
  124. +#      Copyright (C) 2016-present Team LibreELEC
  125.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  126.  #
  127. -#  OpenELEC is free software: you can redistribute it and/or modify
  128. +#  LibreELEC is free software: you can redistribute it and/or modify
  129.  #  it under the terms of the GNU General Public License as published by
  130.  #  the Free Software Foundation, either version 2 of the License, or
  131.  #  (at your option) any later version.
  132.  #
  133. -#  OpenELEC is distributed in the hope that it will be useful,
  134. +#  LibreELEC is distributed in the hope that it will be useful,
  135.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  136.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  137.  #  GNU General Public License for more details.
  138.  #
  139.  #  You should have received a copy of the GNU General Public License
  140. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  141. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  142.  ################################################################################
  143.  
  144.  PKG_NAME="vdr-plugin-dvbapi"
  145. -PKG_VERSION="d7c7587"
  146. +PKG_VERSION="7d51cc4"
  147. +PKG_SHA256="b16840574802581950343942559797aeccbc4a8fc216901ad0cea42f420bfd7c"
  148.  PKG_ARCH="any"
  149.  PKG_LICENSE="GPL"
  150.  PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
  151.  PKG_URL="https://github.com/manio/vdr-plugin-dvbapi/archive/$PKG_VERSION.tar.gz"
  152.  PKG_DEPENDS_TARGET="toolchain vdr libdvbcsa"
  153.  PKG_SECTION="multimedia"
  154. -PKG_SHORTDESC="TV"
  155. -PKG_LONGDESC="TV"
  156. -
  157. +PKG_SHORTDESC="VDR dvbapi plugin for use with OSCam"
  158. +PKG_LONGDESC="VDR dvbapi plugin for use with OSCam"
  159.  PKG_IS_ADDON="no"
  160.  
  161.  PKG_AUTORECONF="no"
  162. @@ -54,7 +55,6 @@ post_make_target() {
  163.    LIB_NAME=lib${PKG_NAME/-plugin/}
  164.  
  165.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  166. -  $STRIP libvdr-*.so*
  167.  }
  168.  
  169.  makeinstall_target() {
  170. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  171. index a249ffc..20d3a11 100644
  172. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  173. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-dvbapi/patches/vdr-plugin-dvbapi-01_crosscompiling.patch
  174. @@ -1,5 +1,3 @@
  175. -diff --git a/Makefile b/Makefile
  176. -index d18b016..278af2b 100644
  177.  --- a/Makefile
  178.  +++ b/Makefile
  179.  @@ -156,7 +156,7 @@ libdvbapi-dvbufs9xx.so: device-ufs9xx.o
  180. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  181. index 38106d1..ffcb978 100644
  182. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  183. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-eepg/package.mk
  184. @@ -1,34 +1,35 @@
  185.  ################################################################################
  186. -#      This file is part of OpenELEC - http://www.openelec.tv
  187. +#      This file is part of LibreELEC - https://libreelec.tv
  188. +#      Copyright (C) 2016-present Team LibreELEC
  189.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  190.  #
  191. -#  OpenELEC is free software: you can redistribute it and/or modify
  192. +#  LibreELEC is free software: you can redistribute it and/or modify
  193.  #  it under the terms of the GNU General Public License as published by
  194.  #  the Free Software Foundation, either version 2 of the License, or
  195.  #  (at your option) any later version.
  196.  #
  197. -#  OpenELEC is distributed in the hope that it will be useful,
  198. +#  LibreELEC is distributed in the hope that it will be useful,
  199.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  200.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  201.  #  GNU General Public License for more details.
  202.  #
  203.  #  You should have received a copy of the GNU General Public License
  204. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  205. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  206.  ################################################################################
  207.  
  208.  PKG_NAME="vdr-plugin-eepg"
  209. -PKG_VERSION="9cd9a75"
  210. +PKG_VERSION="584d766"
  211. +PKG_SHA256="0ad19af6bcfb5f7de05814dfcb4ab18bb4f705fdbe60b11ab7dbf72cf0d85231"
  212.  PKG_ARCH="any"
  213.  PKG_LICENSE="GPL"
  214.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-eepg"
  215. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-eepg.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  216. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-eepg/archive/$PKG_VERSION.tar.gz"
  217.  PKG_DEPENDS_TARGET="toolchain vdr"
  218.  PKG_SECTION="multimedia"
  219.  PKG_SHORTDESC="vdr-plugin-eepg"
  220. -PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels. This EEPG data is transmitted in a non-standard format on a non-standard PID."
  221. +PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels."
  222.  
  223.  PKG_IS_ADDON="no"
  224. -
  225.  PKG_AUTORECONF="no"
  226.  
  227.  make_target() {
  228. @@ -48,7 +49,6 @@ post_make_target() {
  229.    LIB_NAME=lib${PKG_NAME/-plugin/}
  230.  
  231.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  232. -  $STRIP libvdr-*.so*
  233.  }
  234.  
  235.  makeinstall_target() {
  236. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk
  237. index 8d3d6d5..5a53c14 100644
  238. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk
  239. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/package.mk
  240. @@ -1,34 +1,35 @@
  241.  ################################################################################
  242. -#      This file is part of OpenELEC - http://www.openelec.tv
  243. +#      This file is part of LibreELEC - https://libreelec.tv
  244. +#      Copyright (C) 2016-present Team LibreELEC
  245.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  246.  #
  247. -#  OpenELEC is free software: you can redistribute it and/or modify
  248. +#  LibreELEC is free software: you can redistribute it and/or modify
  249.  #  it under the terms of the GNU General Public License as published by
  250.  #  the Free Software Foundation, either version 2 of the License, or
  251.  #  (at your option) any later version.
  252.  #
  253. -#  OpenELEC is distributed in the hope that it will be useful,
  254. +#  LibreELEC is distributed in the hope that it will be useful,
  255.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  256.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  257.  #  GNU General Public License for more details.
  258.  #
  259.  #  You should have received a copy of the GNU General Public License
  260. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  261. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  262.  ################################################################################
  263.  
  264.  PKG_NAME="vdr-plugin-epgfixer"
  265.  PKG_VERSION="1ad4aaf"
  266. +PKG_SHA256="b109c1040e54a2499c1d4c650d7f02cdc7b647af2133839af227a8496c58281e"
  267.  PKG_ARCH="any"
  268.  PKG_LICENSE="GPL"
  269.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-epgfixer"
  270. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-epgfixer.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  271. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgfixer/archive/$PKG_VERSION.tar.gz"
  272.  PKG_DEPENDS_TARGET="toolchain vdr pcre"
  273.  PKG_SECTION="multimedia"
  274. -PKG_SHORTDESC="vdr-plugin-epgfixer"
  275. +PKG_SHORTDESC="Plugin for modifying EPG data using regular expressions."
  276.  PKG_LONGDESC="Plugin for modifying EPG data using regular expressions."
  277.  
  278.  PKG_IS_ADDON="no"
  279. -
  280.  PKG_AUTORECONF="no"
  281.  
  282.  make_target() {
  283. @@ -48,7 +49,6 @@ post_make_target() {
  284.    LIB_NAME=lib${PKG_NAME/-plugin/}
  285.  
  286.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  287. -  $STRIP libvdr-*.so*
  288.  }
  289.  
  290.  makeinstall_target() {
  291. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch
  292. new file mode 100644
  293. index 0000000..1cf7526
  294. --- /dev/null
  295. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-01-pkgconfig.patch
  296. @@ -0,0 +1,13 @@
  297. +--- a/Makefile
  298. ++++ b/Makefile
  299. +@@ -70,8 +70,8 @@
  300. + OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o
  301. +
  302. + ifeq ($(REGEXLIB), pcre)
  303. +-LIBS += $(shell pcre-config --libs-posix)
  304. +-INCLUDES += $(shell pcre-config --cflags)
  305. ++LIBS += $(shell pkg-config --libs libpcreposix libpcre)
  306. ++INCLUDES += $(shell pkg-config --cflags libpcre)
  307. + DEFINES += -DHAVE_PCREPOSIX
  308. + endif
  309. +
  310. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch
  311. new file mode 100644
  312. index 0000000..e436816
  313. --- /dev/null
  314. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-02-VDR-2.3.x-fix.patch
  315. @@ -0,0 +1,132 @@
  316. +patches taken from https://projects.vdr-developer.org/projects/plg-epgfixer/issues
  317. +
  318. +From: glenvt18 <glenvt18@gmail.com>
  319. +Date: Tue, 24 May 2016 02:36:55 +0300
  320. +Subject: [PATCH 1/2] Fix compiling against VDR >= 2.3.1
  321. +
  322. +--- a/epgclone.c
  323. ++++ b/epgclone.c
  324. +@@ -49,9 +49,16 @@ void cEpgClone::CloneEvent(cEvent *Source, cEvent *Dest) {
  325. +      Dest->SetSeen();
  326. +   tChannelID channelID;
  327. +   if (dest_num) {
  328. ++#if VDRVERSNUM >= 20301
  329. ++     LOCK_CHANNELS_READ;
  330. ++     const cChannel *dest_chan = Channels->GetByNumber(dest_num);
  331. ++     if (dest_chan)
  332. ++        channelID = Channels->GetByNumber(dest_num)->GetChannelID();
  333. ++#else
  334. +      cChannel *dest_chan = Channels.GetByNumber(dest_num);
  335. +      if (dest_chan)
  336. +         channelID = Channels.GetByNumber(dest_num)->GetChannelID();
  337. ++#endif
  338. +      else
  339. +         channelID = tChannelID::InvalidID;
  340. +      }
  341. +diff --git a/setup_menu.c b/setup_menu.c
  342. +index 8b60870..fcba6b1 100644
  343. +--- a/setup_menu.c
  344. ++++ b/setup_menu.c
  345. +@@ -264,9 +264,21 @@ eOSState cMenuSetupEpgfixer::ProcessKey(eKeys Key)
  346. +          break;
  347. +        case kBlue:
  348. +          Skins.Message(mtInfo, tr("Clearing EPG data..."));
  349. ++#if VDRVERSNUM >= 20301
  350. ++         {
  351. ++         LOCK_TIMERS_WRITE;
  352. ++         LOCK_SCHEDULES_WRITE;
  353. ++         for (cTimer *Timer = Timers->First(); Timer; Timer = Timers->Next(Timer))
  354. ++            Timer->SetEvent(NULL);
  355. ++         for (cSchedule *Schedule = Schedules->First(); Schedule; Schedule = Schedules->Next(Schedule))
  356. ++            Schedule->Cleanup(INT_MAX);
  357. ++         }
  358. ++         cEitFilter::SetDisableUntil(time(NULL) + 10);
  359. ++#else
  360. +          cEitFilter::SetDisableUntil(time(NULL) + 10);
  361. +          if (cSchedules::ClearAll())
  362. +             cEitFilter::SetDisableUntil(time(NULL) + 10);
  363. ++#endif
  364. +          Skins.Message(mtInfo, NULL);
  365. +          state = osContinue;
  366. +          break;
  367. +diff --git a/tools.c b/tools.c
  368. +index 9c9133d..35c4b53 100644
  369. +--- a/tools.c
  370. ++++ b/tools.c
  371. +@@ -463,14 +463,26 @@ cAddEventThread::~cAddEventThread(void)
  372. + void cAddEventThread::Action(void)
  373. + {
  374. +   SetPriority(19);
  375. +-  while (Running() && !LastHandleEvent.TimedOut()) {
  376. ++  for (; Running() && !LastHandleEvent.TimedOut(); cCondWait::SleepMs(10)) {
  377. ++        if (list->First() == NULL)
  378. ++           continue;
  379. +         cAddEventListItem *e = NULL;
  380. ++#if VDRVERSNUM >= 20301
  381. ++        cStateKey StateKey;
  382. ++        cSchedules *schedules = cSchedules::GetSchedulesWrite(StateKey, 10);
  383. ++        LOCK_CHANNELS_READ;
  384. ++#else
  385. +         cSchedulesLock SchedulesLock(true, 10);
  386. +         cSchedules *schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
  387. ++#endif
  388. +         Lock();
  389. +         while (schedules && (e = list->First()) != NULL) {
  390. +               tChannelID chanid = e->GetChannelID();
  391. ++#if VDRVERSNUM >= 20301
  392. ++              const cChannel *chan = Channels->GetByChannelID(chanid);
  393. ++#else
  394. +               cChannel *chan = Channels.GetByChannelID(chanid);
  395. ++#endif
  396. +               if (!chan) {
  397. +                  error("Destination channel %s not found for cloning!", *chanid.ToString());
  398. +                  }
  399. +@@ -485,7 +497,10 @@ void cAddEventThread::Action(void)
  400. +               list->Del(e);
  401. +               }
  402. +         Unlock();
  403. +-        cCondWait::SleepMs(10);
  404. ++#if VDRVERSNUM >= 20301
  405. ++        if (schedules)
  406. ++           StateKey.Remove();
  407. ++#endif
  408. +         }
  409. + }
  410. +
  411. +@@ -553,7 +568,12 @@ bool cListItem::IsActive(tChannelID ChannelID)
  412. +   bool active = false;
  413. +   if (numchannels > 0) {
  414. +      int i = 0;
  415. ++#if VDRVERSNUM >= 20301
  416. ++     LOCK_CHANNELS_READ;
  417. ++     int channel_number = Channels->GetByChannelID(ChannelID)->Number();
  418. ++#else
  419. +      int channel_number = Channels.GetByChannelID(ChannelID)->Number();
  420. ++#endif
  421. +      while (i < numchannels) {
  422. +            if ((channel_number == GetChannelNum(i)) ||
  423. +                (GetChannelID(i) && (ChannelID == *GetChannelID(i)))) {
  424. +
  425. +From 12db9aadf7a05cae21bd7d75882b8883ac36205d Mon Sep 17 00:00:00 2001
  426. +From: glenvt18 <glenvt18@gmail.com>
  427. +Date: Thu, 18 May 2017 06:03:32 +0300
  428. +Subject: [PATCH 2/2] Make compatible with VDR 2.3.4
  429. +
  430. +---
  431. + epghandler.h | 3 +++
  432. + 1 file changed, 3 insertions(+)
  433. +
  434. +diff --git a/epghandler.h b/epghandler.h
  435. +index de090af..bf65760 100644
  436. +--- a/epghandler.h
  437. ++++ b/epghandler.h
  438. +@@ -15,6 +15,9 @@ class cEpgfixerEpgHandler : public cEpgHandler
  439. + {
  440. + public:
  441. +   cEpgfixerEpgHandler(void) {};
  442. ++#if VDRVERSNUM >= 20304
  443. ++  virtual bool BeginSegmentTransfer(const cChannel *Channel, bool Dummy) { return true; }
  444. ++#endif
  445. +   virtual bool HandleEvent(cEvent *Event);
  446. +   virtual bool IgnoreChannel(const cChannel *Channel);
  447. +   virtual bool FixEpgBugs(cEvent *Event);
  448. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch
  449. deleted file mode 100644
  450. index 9ba62a0..0000000
  451. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgfixer/patches/vdr-plugin-epgfixer-pkgconfig.patch
  452. +++ /dev/null
  453. @@ -1,14 +0,0 @@
  454. -diff -Naur vdr-plugin-epgfixer-1ad4aaf/Makefile vdr-plugin-epgfixer-1ad4aaf.patch/Makefile
  455. ---- vdr-plugin-epgfixer-1ad4aaf/Makefile   2015-01-01 11:15:50.000000000 +0100
  456. -+++ vdr-plugin-epgfixer-1ad4aaf.patch/Makefile 2016-01-07 04:40:37.742655989 +0100
  457. -@@ -70,8 +70,8 @@
  458. - OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o
  459. -
  460. - ifeq ($(REGEXLIB), pcre)
  461. --LIBS += $(shell pcre-config --libs-posix)
  462. --INCLUDES += $(shell pcre-config --cflags)
  463. -+LIBS += $(shell pkg-config --libs libpcreposix libpcre)
  464. -+INCLUDES += $(shell pkg-config --cflags libpcre)
  465. - DEFINES += -DHAVE_PCREPOSIX
  466. - endif
  467. -
  468. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk
  469. index c98f7b8..1ddbcf0 100644
  470. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk
  471. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/package.mk
  472. @@ -1,34 +1,35 @@
  473.  ################################################################################
  474. -#      This file is part of OpenELEC - http://www.openelec.tv
  475. +#      This file is part of LibreELEC - https://libreelec.tv
  476. +#      Copyright (C) 2016-present Team LibreELEC
  477.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  478.  #
  479. -#  OpenELEC is free software: you can redistribute it and/or modify
  480. +#  LibreELEC is free software: you can redistribute it and/or modify
  481.  #  it under the terms of the GNU General Public License as published by
  482.  #  the Free Software Foundation, either version 2 of the License, or
  483.  #  (at your option) any later version.
  484.  #
  485. -#  OpenELEC is distributed in the hope that it will be useful,
  486. +#  LibreELEC is distributed in the hope that it will be useful,
  487.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  488.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  489.  #  GNU General Public License for more details.
  490.  #
  491.  #  You should have received a copy of the GNU General Public License
  492. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  493. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  494.  ################################################################################
  495.  
  496.  PKG_NAME="vdr-plugin-epgsearch"
  497. -PKG_VERSION="0b09f90"
  498. +PKG_VERSION="c7c02e2"
  499. +PKG_SHA256="d8096c261cf94653f7487e7f89c9d38d8c2a5c27a766816b77fe0c49b4a82208"
  500.  PKG_ARCH="any"
  501.  PKG_LICENSE="GPL"
  502.  PKG_SITE="http://winni.vdr-developer.org/epgsearch/"
  503. -PKG_URL="https://projects.vdr-developer.org/git/vdr-plugin-epgsearch.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  504. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgsearch/archive/$PKG_VERSION.tar.gz"
  505.  PKG_DEPENDS_TARGET="toolchain vdr"
  506.  PKG_SECTION="multimedia"
  507. -PKG_SHORTDESC="vdr-epgsearch"
  508. -PKG_LONGDESC="vdr-epgsearch"
  509. +PKG_SHORTDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
  510. +PKG_LONGDESC="EPGSearch is a plugin for the Video-Disc-Recorder (VDR)."
  511.  
  512.  PKG_IS_ADDON="no"
  513. -
  514.  PKG_AUTORECONF="no"
  515.  
  516.  make_target() {
  517. @@ -48,7 +49,6 @@ post_make_target() {
  518.    LIB_NAME=lib${PKG_NAME/-plugin/}
  519.  
  520.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  521. -  $STRIP libvdr-*.so*
  522.  }
  523.  
  524.  makeinstall_target() {
  525. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  526. index 4da0f3b..12a1693 100644
  527. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  528. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-01-pkgconfig.patch
  529. @@ -1,6 +1,5 @@
  530. -diff -Naur vdr-epgsearch-29c174a/Makefile vdr-epgsearch-29c174a.patch/Makefile
  531. ---- vdr-epgsearch-29c174a/Makefile 2014-01-18 16:53:11.000000000 +0100
  532. -+++ vdr-epgsearch-29c174a.patch/Makefile   2016-01-07 04:47:33.004326981 +0100
  533. +--- a/Makefile
  534. ++++ b/Makefile
  535.  @@ -130,9 +130,8 @@
  536.   OBJS = afuzzy.o blacklist.o changrp.o confdloader.o conflictcheck.o conflictcheck_thread.o distance.o $(PLUGIN).o epgsearchcats.o epgsearchcfg.o epgsearchext.o epgsearchsetup.o  epgsearchsvdrp.o epgsearchtools.o mail.o md5.o menu_announcelist.o menu_blacklistedit.o menu_blacklists.o menu_commands.o menu_conflictcheck.o menu_deftimercheckmethod.o menu_dirselect.o menu_event.o menu_favorites.o menu_main.o menu_myedittimer.o menu_quicksearch.o menu_recsdone.o menu_search.o menu_searchactions.o menu_searchedit.o menu_searchresults.o menu_searchtemplate.o menu_switchtimers.o menu_templateedit.o menu_timersdone.o menu_whatson.o noannounce.o pending_notifications.o rcfile.o  recdone.o recstatus.o searchtimer_thread.o services.o switchtimer.o switchtimer_thread.o templatefile.o timer_thread.o timerdone.o timerstatus.o uservars.o varparser.o
  537.  
  538. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  539. index 00e6a9c..a21f4cf 100644
  540. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  541. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-epgsearch/patches/vdr-plugin-epgsearch-02_don-t-build-unused-plugins.patch
  542. @@ -1,14 +1,6 @@
  543. -From 61c795e71df00f4d3c22d2be405ceb0eb0e0e49c Mon Sep 17 00:00:00 2001
  544.  From: Stefan Saraev <stefan@saraev.ca>
  545. -Date: Fri, 22 Nov 2013 21:45:56 +0200
  546.  Subject: [PATCH] don't build unused plugins
  547.  
  548. ----
  549. - Makefile |    6 +++---
  550. - 1 files changed, 3 insertions(+), 3 deletions(-)
  551. -
  552. -diff --git a/Makefile b/Makefile
  553. -index 118e379..5f15ebe 100644
  554.  --- a/Makefile
  555.  +++ b/Makefile
  556.  @@ -16,9 +16,9 @@
  557. @@ -24,6 +16,4 @@ index 118e379..5f15ebe 100644
  558.  
  559.   ### edit this to '0' if you don't want epgsearch to auto config itself
  560.   AUTOCONFIG=1
  561. ---
  562. -1.7.2.5
  563.  
  564. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk
  565. index ab40a6b..48a5618 100644
  566. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk
  567. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/package.mk
  568. @@ -1,23 +1,25 @@
  569.  ################################################################################
  570. -#      This file is part of OpenELEC - http://www.openelec.tv
  571. +#      This file is part of LibreELEC - https://libreelec.tv
  572. +#      Copyright (C) 2016-present Team LibreELEC
  573.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  574.  #
  575. -#  OpenELEC is free software: you can redistribute it and/or modify
  576. +#  LibreELEC is free software: you can redistribute it and/or modify
  577.  #  it under the terms of the GNU General Public License as published by
  578.  #  the Free Software Foundation, either version 2 of the License, or
  579.  #  (at your option) any later version.
  580.  #
  581. -#  OpenELEC is distributed in the hope that it will be useful,
  582. +#  LibreELEC is distributed in the hope that it will be useful,
  583.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  584.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  585.  #  GNU General Public License for more details.
  586.  #
  587.  #  You should have received a copy of the GNU General Public License
  588. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  589. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  590.  ################################################################################
  591.  
  592.  PKG_NAME="vdr-plugin-iptv"
  593. -PKG_VERSION="2226be2"
  594. +PKG_VERSION="0fe1cb7"
  595. +PKG_SHA256="34e5c950d6150bbf98ca733a216f67ff56e078dd1db511aee0edc026e431ee6f"
  596.  PKG_ARCH="any"
  597.  PKG_LICENSE="GPL"
  598.  PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/iptv/"
  599. @@ -47,7 +49,6 @@ post_make_target() {
  600.    LIB_NAME=lib${PKG_NAME/-plugin/}
  601.  
  602.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  603. -  $STRIP libvdr-*.so*
  604.  }
  605.  
  606.  makeinstall_target() {
  607. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  608. index 3ea17f9..89e45a8 100644
  609. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  610. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-iptv/patches/vdr-plugin-iptv-pkgconfig.patch
  611. @@ -1,6 +1,5 @@
  612. -diff -Naur iptv-2.2.1/Makefile iptv-2.2.1.patch/Makefile
  613. ---- iptv-2.2.1/Makefile    2015-04-04 03:20:00.000000000 +0200
  614. -+++ iptv-2.2.1.patch/Makefile  2016-01-07 07:37:31.037078104 +0100
  615. +--- a/Makefile
  616. ++++ b/Makefile
  617.  @@ -54,7 +54,7 @@
  618.  
  619.   ### Libraries
  620. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  621. index b450a92..339d25a 100644
  622. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  623. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/package.mk
  624. @@ -1,28 +1,30 @@
  625.  ################################################################################
  626. -#      This file is part of OpenELEC - http://www.openelec.tv
  627. +#      This file is part of LibreELEC - https://libreelec.tv
  628. +#      Copyright (C) 2016-present Team LibreELEC
  629.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  630.  #
  631. -#  OpenELEC is free software: you can redistribute it and/or modify
  632. +#  LibreELEC is free software: you can redistribute it and/or modify
  633.  #  it under the terms of the GNU General Public License as published by
  634.  #  the Free Software Foundation, either version 2 of the License, or
  635.  #  (at your option) any later version.
  636.  #
  637. -#  OpenELEC is distributed in the hope that it will be useful,
  638. +#  LibreELEC is distributed in the hope that it will be useful,
  639.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  640.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  641.  #  GNU General Public License for more details.
  642.  #
  643.  #  You should have received a copy of the GNU General Public License
  644. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  645. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  646.  ################################################################################
  647.  
  648.  PKG_NAME="vdr-plugin-live"
  649. -PKG_VERSION="0.3.0"
  650. +PKG_VERSION="e582514"
  651. +PKG_SHA256="74deb2ca43ffb5779b3f9ff6f34c8b53898a226fcf92605d7ede0401cb62601c"
  652.  PKG_ARCH="any"
  653.  PKG_LICENSE="GPL"
  654.  PKG_SITE="http://live.vdr-developer.org/en/index.php"
  655. -PKG_URL="http://live.vdr-developer.org/downloads/${PKG_NAME/-plugin/}-${PKG_VERSION}.tar.gz"
  656. -PKG_SOURCE_DIR="live-${PKG_VERSION}"
  657. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-live/archive/$PKG_VERSION.tar.gz"
  658. +PKG_SOURCE_DIR="$PKG_NAME-${PKG_VERSION}*"
  659.  PKG_DEPENDS_TARGET="toolchain vdr tntnet pcre:host pcre"
  660.  PKG_SECTION="multimedia"
  661.  PKG_SHORTDESC="vdr-live: the LIVE Interactive VDR Environment/"
  662. @@ -37,16 +39,17 @@ pre_configure_target() {
  663.    export LDFLAGS="$LDFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib/iconv"
  664.  }
  665.  
  666. -pre_make_target() {
  667. -  # dont build parallel
  668. -  MAKEFLAGS=-j1
  669. -}
  670. -
  671.  make_target() {
  672.    VDR_DIR=$(get_build_dir vdr)
  673. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  674. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  675. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  676. +
  677.    make VDRDIR=$VDR_DIR \
  678.      LIBDIR="." \
  679.      LOCALEDIR="./locale"
  680. +
  681. +  cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  682.  }
  683.  
  684.  makeinstall_target() {
  685. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch
  686. deleted file mode 100644
  687. index 35d1c5a..0000000
  688. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-1.patch
  689. +++ /dev/null
  690. @@ -1,290 +0,0 @@
  691. -commit 042724e30d5690ab67a6c04aea48a16b9a3b085b
  692. -Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
  693. -Date:   Fri May 3 01:37:41 2013 +0200
  694. -
  695. -    Make LIVE compile and work with Tntnet and cxxtools version 2.2.
  696. -    Thanks to Tommi Mäkitalo for his help on resolving the issues.
  697. -    This problem was reported by Martin Gansser and by the user 'varas' in
  698. -    the bugtracker as bug #1351. This commit fixes that bug.
  699. -
  700. -diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
  701. -index 51018bb..80f145b 100644
  702. ---- a/pages/recordings.ecpp
  703. -+++ b/pages/recordings.ecpp
  704. -@@ -205,7 +205,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) {
  705. -       <& rec_item_dir name=(recItem->Name()) level=(level) &>
  706. - <%cpp>
  707. - #if TNT_HAS_QUERYPARAMS
  708. -+#if TNT_QUERYPARAMS_NO_BOOL
  709. -+      tnt::QueryParams recItemParams(qparam);
  710. -+#else
  711. -       tnt::QueryParams recItemParams(qparam, false);
  712. -+#endif
  713. - #else
  714. -       cxxtools::QueryParams recItemParams(qparam, false);
  715. - #endif
  716. -diff --git a/tntconfig.cpp b/tntconfig.cpp
  717. -index 3a1fd14..3325776 100644
  718. ---- a/tntconfig.cpp
  719. -+++ b/tntconfig.cpp
  720. -@@ -3,7 +3,13 @@
  721. - #include <fstream>
  722. - #include <sstream>
  723. - #include <stdexcept>
  724. -+#include "tntfeatures.h"
  725. -+#if TNT_LOG_SERINFO
  726. -+#include <cxxtools/log.h>
  727. -+#include <cxxtools/xml/xmldeserializer.h>
  728. -+#else
  729. - #include <cxxtools/loginit.h>
  730. -+#endif
  731. - #include <tnt/sessionscope.h>
  732. - #include <tnt/httpreply.h>
  733. - #include <vdr/config.h>
  734. -@@ -181,19 +187,67 @@ namespace vdrlive {
  735. - #endif
  736. -
  737. - #if TNT_CONFIG_INTERNAL
  738. -+  namespace {
  739. -+      std::string GetResourcePath()
  740. -+      {
  741. -+#if APIVERSNUM > 10729
  742. -+          string resourceDir(Plugin::GetResourceDirectory());
  743. -+          return resourceDir;
  744. -+#else
  745. -+          string configDir(Plugin::GetConfigDirectory());
  746. -+          return configDir;
  747. -+#endif
  748. -+      }
  749. -+
  750. -+      void MapUrl(tnt::Tntnet & app, const char *rule, const char * component, std::string const & instPath, const char * pathInfo, const char * mime_type)
  751. -+      {
  752. -+#if TNT_MAPURL_NAMED_ARGS
  753. -+          tnt::Mapping::args_type argMap;
  754. -+          argMap.insert(std::make_pair("mime-type", mime_type));
  755. -+#endif
  756. -+          app.mapUrl(rule, component)
  757. -+              .setPathInfo(instPath + pathInfo)
  758. -+#if TNT_MAPURL_NAMED_ARGS
  759. -+              .setArgs(argMap);
  760. -+#else
  761. -+              .pushArg(mime_type);
  762. -+#endif
  763. -+      }
  764. -+  }
  765. -+
  766. -   void TntConfig::Configure(tnt::Tntnet& app) const
  767. -   {
  768. -       string const configDir(Plugin::GetConfigDirectory());
  769. --#if APIVERSNUM > 10729
  770. --      string const resourceDir(Plugin::GetResourceDirectory());
  771. --#endif
  772. -
  773. -+#if TNT_LOG_SERINFO
  774. -+      cxxtools::SerializationInfo si;
  775. -+      std::istringstream logXmlConf(
  776. -+          "<logging>\n"
  777. -+          "  <rootlogger>" + LiveSetup().GetTntnetLogLevel() + "</rootlogger>\n"
  778. -+          "  <loggers>\n"
  779. -+          "    <logger>\n"
  780. -+          "      <category>cxxtools</category>\n"
  781. -+          "      <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
  782. -+          "    </logger>\n"
  783. -+          "    <logger>\n"
  784. -+          "      <category>tntnet</category>\n"
  785. -+          "      <level>" + LiveSetup().GetTntnetLogLevel() + "</level>\n"
  786. -+          "    </logger>\n"
  787. -+          "  </loggers>\n"
  788. -+          "</logging>\n"
  789. -+          );
  790. -+      cxxtools::xml::XmlDeserializer d(logXmlConf);
  791. -+      d.deserialize(si);
  792. -+      log_init(si);
  793. -+#else
  794. -       std::istringstream logConf(
  795. -           "rootLogger=" + LiveSetup().GetTntnetLogLevel() + "\n"
  796. -           "logger.tntnet=" + LiveSetup().GetTntnetLogLevel() + "\n"
  797. -           "logger.cxxtools=" + LiveSetup().GetTntnetLogLevel() + "\n"
  798. -           );
  799. -+
  800. -       log_init(logConf);
  801. -+#endif
  802. -
  803. -       // +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++ CAUTION +++
  804. -       // ------------------------------------------------------------------------
  805. -@@ -229,13 +283,12 @@ namespace vdrlive {
  806. -
  807. -       // the following selects the theme specific 'theme.css' file
  808. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  809. --      app.mapUrl("^/themes/([^/]*)/css.*/(.+\\.css)", "content")
  810. --#if APIVERSNUM > 10729
  811. --          .setPathInfo(resourceDir + "/themes/$1/css/$2")
  812. --#else
  813. --          .setPathInfo(configDir + "/themes/$1/css/$2")
  814. --#endif
  815. --          .pushArg("text/css");
  816. -+      MapUrl(app,
  817. -+             "^/themes/([^/]*)/css.*/(.+\\.css)",
  818. -+             "content",
  819. -+             GetResourcePath(),
  820. -+             "/themes/$1/css/$2",
  821. -+             "text/css");
  822. -
  823. -       // the following rules provide a search scheme for images. The first
  824. -       // rule where a image is found, terminates the search.
  825. -@@ -243,79 +296,82 @@ namespace vdrlive {
  826. -       // 2. /img/<imgname>.<ext>
  827. -       // deprecated: 3. <imgname>.<ext> (builtin images)
  828. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  829. --      app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
  830. --#if APIVERSNUM > 10729
  831. --          .setPathInfo(resourceDir + "/themes/$1/img/$2.$3")
  832. --#else
  833. --          .setPathInfo(configDir + "/themes/$1/img/$2.$3")
  834. --#endif
  835. --          .pushArg("image/$3");
  836. --      app.mapUrl("^/themes/([^/]*)/img.*/(.+)\\.(.+)", "content")
  837. --#if APIVERSNUM > 10729
  838. --          .setPathInfo(resourceDir + "/img/$2.$3")
  839. --#else
  840. --          .setPathInfo(configDir + "/img/$2.$3")
  841. --#endif
  842. --          .pushArg("image/$3");
  843. -+      MapUrl(app,
  844. -+             "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
  845. -+             "content",
  846. -+             GetResourcePath(),
  847. -+             "/themes/$1/img/$2.$3",
  848. -+             "image/$3");
  849. -+
  850. -+      MapUrl(app,
  851. -+             "^/themes/([^/]*)/img.*/(.+)\\.(.+)",
  852. -+             "content",
  853. -+             GetResourcePath(),
  854. -+             "/img/$2.$3",
  855. -+             "image/$3");
  856. -       // deprecated: file << "MapUrl ^/themes/([^/]*)/img.*/(.+)\\.(.+) $2@" << endl;
  857. -
  858. -       // Epg images
  859. -       string const epgImgPath(LiveSetup().GetEpgImageDir());
  860. -       if (!epgImgPath.empty()) {
  861. -           // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  862. --          app.mapUrl("^/epgimages/([^/]*)\\.([^./]+)", "content")
  863. --              .setPathInfo(epgImgPath + "/$1.$2")
  864. --              .pushArg("image/$2");
  865. -+          MapUrl(app,
  866. -+                 "^/epgimages/([^/]*)\\.([^./]+)",
  867. -+                 "content",
  868. -+                 epgImgPath,
  869. -+                 "/$1.$2",
  870. -+                 "image/$2");
  871. -       }
  872. -
  873. -       // select additional (not build in) javascript.
  874. -       // WARNING: no path components with '.' in the name are allowed. Only
  875. -       // the basename may contain dots and must end with '.js'
  876. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  877. --      app.mapUrl("^/js(/[^.]*)([^/]*\\.js)", "content")
  878. --#if APIVERSNUM > 10729
  879. --          .setPathInfo(resourceDir + "/js$1$2")
  880. --#else
  881. --          .setPathInfo(configDir + "/js$1$2")
  882. --#endif
  883. --          .pushArg("text/javascript");
  884. -+      MapUrl(app,
  885. -+             "^/js(/[^.]*)([^/]*\\.js)",
  886. -+             "content",
  887. -+             GetResourcePath(),
  888. -+             "/js$1$2",
  889. -+             "text/javascript");
  890. -
  891. -       // map to 'css/basename(uri)'
  892. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  893. --      app.mapUrl("^/css.*/(.+)", "content")
  894. --#if APIVERSNUM > 10729
  895. --          .setPathInfo(resourceDir + "/css/$1")
  896. --#else
  897. --          .setPathInfo(configDir + "/css/$1")
  898. --#endif
  899. --          .pushArg("text/css");
  900. -+      MapUrl(app,
  901. -+             "^/css.*/(.+)",
  902. -+             "content",
  903. -+             GetResourcePath(),
  904. -+             "/css/$1",
  905. -+             "text/css");
  906. -
  907. -       // map to 'img/basename(uri)'
  908. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  909. --      app.mapUrl("^/img.*/(.+)\\.([^.]+)", "content")
  910. --#if APIVERSNUM > 10729
  911. --          .setPathInfo(resourceDir + "/img/$1.$2")
  912. --#else
  913. --          .setPathInfo(configDir + "/img/$1.$2")
  914. --#endif
  915. --          .pushArg("image/$2");
  916. -+      MapUrl(app,
  917. -+             "^/img.*/(.+)\\.([^.]+)",
  918. -+             "content",
  919. -+             GetResourcePath(),
  920. -+             "/img/$1.$2",
  921. -+             "image/$2");
  922. -
  923. -       // Map favicon.ico into img directory
  924. --      app.mapUrl("^/favicon.ico$", "content")
  925. --#if APIVERSNUM > 10729
  926. --          .setPathInfo(resourceDir + "/img/favicon.ico")
  927. --#else
  928. --          .setPathInfo(configDir + "/img/favicon.ico")
  929. --#endif
  930. --          .pushArg("image/x-icon");
  931. -+      MapUrl(app,
  932. -+             "^/favicon.ico$",
  933. -+             "content",
  934. -+             GetResourcePath(),
  935. -+             "/img/favicon.ico",
  936. -+             "image/x-icon");
  937. -
  938. -       // takes first path components without 'extension' when it does not
  939. -       // contain '.'
  940. -       // modified by 'tadi' -- verified with above, but not counterchecked yet!
  941. -       app.mapUrl("^/([^./]+)(.*)?", "$1");
  942. -
  943. -+#if TNT_GLOBAL_TNTCONFIG
  944. -+      tnt::TntConfig::it().sessionTimeout = 86400;
  945. -+      tnt::TntConfig::it().defaultContentType = string("text/html; charset=") + LiveI18n().CharacterEncoding();
  946. -+#else
  947. -       tnt::Sessionscope::setDefaultTimeout(86400);
  948. -       tnt::HttpReply::setDefaultContentType(string("text/html; charset=") + LiveI18n().CharacterEncoding());
  949. -+#endif
  950. -
  951. -       Setup::IpList const& ips = LiveSetup().GetServerIps();
  952. -       int port = LiveSetup().GetServerPort();
  953. -diff --git a/tntfeatures.h b/tntfeatures.h
  954. -index 6de1f88..76d3757 100644
  955. ---- a/tntfeatures.h
  956. -+++ b/tntfeatures.h
  957. -@@ -17,6 +17,9 @@
  958. - // Query params are now in tntnet and not in cxxtools
  959. - #define TNT_HAS_QUERYPARAMS       (TNTVERSION >= 16060)
  960. -
  961. -+// Query params without boolean parameter
  962. -+#define TNT_QUERYPARAMS_NO_BOOL (TNTVERSION >= 22000)
  963. -+
  964. - // One can request the host part of the request url
  965. - #define TNT_HAS_GETHOST           (TNTVERSION >= 16060)
  966. -
  967. -@@ -26,4 +29,13 @@
  968. - // version of TNTNET that binds ipv6 addresses with IPV6_V6ONLY flag set to true
  969. - #define TNT_IPV6_V6ONLY           (CXXTOOLVER >= 21000)
  970. -
  971. -+// version of TNTNET with properties deserializer for logger configuration args.
  972. -+#define TNT_LOG_SERINFO           (CXXTOOLVER >= 22000)
  973. -+
  974. -+// version of TNTNET wich expects name, value mappings for Url-Mapper arguments.
  975. -+#define TNT_MAPURL_NAMED_ARGS (TNTVERSION >= 22000)
  976. -+
  977. -+// version of TNTNET where configuration is global
  978. -+#define TNT_GLOBAL_TNTCONFIG  (TNTVERSION >= 22000)
  979. -+
  980. - #endif // VDR_LIVE_TNTFEATURES_H
  981. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch
  982. deleted file mode 100644
  983. index 3b49c6b..0000000
  984. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-04_tntnet-2.2-2.patch
  985. +++ /dev/null
  986. @@ -1,25 +0,0 @@
  987. -commit 69f84f95fa875c6f562294b1a6a1ea6f584d3f6c
  988. -Author: Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>
  989. -Date:   Sat May 4 22:27:09 2013 +0200
  990. -
  991. -    With tntnet v2.2 use also the request.getArg(<name>) function.
  992. -    In the previous commit support for tntnet 2.2 was added. The URL
  993. -    mapping changed in that version and allows now named arguments. This
  994. -    change makes uses of this feature now.
  995. -
  996. -diff --git a/pages/content.ecpp b/pages/content.ecpp
  997. -index 27d827c..cde092f 100644
  998. ---- a/pages/content.ecpp
  999. -+++ b/pages/content.ecpp
  1000. -@@ -17,7 +17,11 @@ bool logged_in(false);
  1001. -
  1002. - string mime("image/png");
  1003. - if (request.getArgsCount() > 0) {
  1004. -+#if TNT_MAPURL_NAMED_ARGS
  1005. -+  mime = request.getArg("mime-type");
  1006. -+#else
  1007. -   mime = request.getArg(0);
  1008. -+#endif
  1009. -   // dsyslog("vdrlive::content found mime arg (%s)", mime.c_str());
  1010. - }
  1011. - reply.setContentType(mime);
  1012. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch
  1013. deleted file mode 100644
  1014. index dd576b9..0000000
  1015. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-05_vdr-2.1.2-buildfix.patch
  1016. +++ /dev/null
  1017. @@ -1,76 +0,0 @@
  1018. -commit 0f8a281027f852ed5968361bcb7420ed242d0476
  1019. -Author: Stefan Saraev <stefan@saraev.ca>
  1020. -Date:   Sat Oct 19 22:15:14 2013 +0300
  1021. -
  1022. -    vdr 2.1.2 buildfix
  1023. -
  1024. -diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
  1025. -index 80f145b..6da5285 100644
  1026. ---- a/pages/recordings.ecpp
  1027. -+++ b/pages/recordings.ecpp
  1028. -@@ -79,7 +79,7 @@ for (deletions_type::const_iterator it = deletions.begin(); it != deletions.end(
  1029. - deletions.clear();
  1030. -
  1031. - int FreeMB, UsedMB;
  1032. --int Percent = VideoDiskSpace(&FreeMB, &UsedMB);
  1033. -+int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
  1034. - int Minutes = int(double(FreeMB) / MB_PER_MINUTE);
  1035. - int Hours = Minutes / 60;
  1036. - Minutes %= 60;
  1037. -diff --git a/recman.cpp b/recman.cpp
  1038. -index 6a2fc00..9ed88f0 100644
  1039. ---- a/recman.cpp
  1040. -+++ b/recman.cpp
  1041. -@@ -112,7 +112,7 @@ namespace vdrlive {
  1042. -       if (found == string::npos)
  1043. -           return false;
  1044. -
  1045. --      string newname = string(VideoDirectory) + "/" + name + oldname.substr(found);
  1046. -+      string newname = string(cVideoDirectory::Name()) + "/" + name + oldname.substr(found);
  1047. -
  1048. -       if (!MoveDirectory(oldname.c_str(), newname.c_str(), copy)) {
  1049. -           esyslog("[LIVE]: renaming failed from '%s' to '%s'", oldname.c_str(), newname.c_str());
  1050. -diff --git a/tntconfig.cpp b/tntconfig.cpp
  1051. -index 3325776..161fdc4 100644
  1052. ---- a/tntconfig.cpp
  1053. -+++ b/tntconfig.cpp
  1054. -@@ -279,7 +279,7 @@ namespace vdrlive {
  1055. -       // inserted by 'tadi' -- not verified, not counterchecked yet!
  1056. -       //app.mapUrl("^/vlc/(.+)", "static@tntnet")
  1057. -       //  .setPathInfo("/$1")
  1058. --      //  .pushArg(string("DocumentRoot=") + VideoDirectory);
  1059. -+      //  .pushArg(string("DocumentRoot=") + cVideoDirectory::Name());
  1060. -
  1061. -       // the following selects the theme specific 'theme.css' file
  1062. -       // inserted by 'tadi' -- verified with above, but not counterchecked yet!
  1063. -diff --git a/tools.cpp b/tools.cpp
  1064. -index c744d06..cb3529e 100644
  1065. ---- a/tools.cpp
  1066. -+++ b/tools.cpp
  1067. -@@ -365,7 +365,7 @@ namespace vdrlive {
  1068. -           stat(source.c_str(), &st1);
  1069. -           stat(target.c_str(),&st2);
  1070. -           if (!copy && (st1.st_dev == st2.st_dev)) {
  1071. --              if (!RenameVideoFile(source.c_str(), target.c_str())) {
  1072. -+              if (!cVideoDirectory::RenameVideoFile(source.c_str(), target.c_str())) {
  1073. -                   esyslog("[LIVE]: rename failed from %s to %s", source.c_str(), target.c_str());
  1074. -                   return false;
  1075. -               }
  1076. -@@ -461,7 +461,7 @@ namespace vdrlive {
  1077. -                       size_t found = source.find_last_of(delim);
  1078. -                       if (found != std::string::npos) {
  1079. -                           source = source.substr(0, found);
  1080. --                          while (source != VideoDirectory) {
  1081. -+                          while (source != cVideoDirectory::Name()) {
  1082. -                               found = source.find_last_of(delim);
  1083. -                               if (found == std::string::npos)
  1084. -                                   break;
  1085. -@@ -478,7 +478,7 @@ namespace vdrlive {
  1086. -                   size_t found = target.find_last_of(delim);
  1087. -                   if (found != std::string::npos) {
  1088. -                       target = target.substr(0, found);
  1089. --                      while (target != VideoDirectory) {
  1090. -+                      while (target != cVideoDirectory::Name()) {
  1091. -                           found = target.find_last_of(delim);
  1092. -                           if (found == std::string::npos)
  1093. -                               break;
  1094. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch
  1095. deleted file mode 100644
  1096. index 28ef9af..0000000
  1097. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-0.3.0-06_dont-build-i18n.patch
  1098. +++ /dev/null
  1099. @@ -1,25 +0,0 @@
  1100. -From d95f6d719298b4586fc4b889612423be67b52e88 Mon Sep 17 00:00:00 2001
  1101. -From: Stefan Saraev <stefan@saraev.ca>
  1102. -Date: Mon, 16 Jun 2014 12:06:29 +0300
  1103. -Subject: [PATCH] dont build i18n
  1104. -
  1105. ----
  1106. - Makefile |    2 +-
  1107. - 1 files changed, 1 insertions(+), 1 deletions(-)
  1108. -
  1109. -diff --git a/Makefile b/Makefile
  1110. -index ab2f2b5..923d184 100644
  1111. ---- a/Makefile
  1112. -+++ b/Makefile
  1113. -@@ -94,7 +94,7 @@ WEBLIBS     = pages/libpages.a css/libcss.a javascript/libjavascript.a
  1114. -
  1115. - ### Default rules:
  1116. -
  1117. --all: libvdr-$(PLUGIN).so $(I18NTARG)
  1118. -+all: libvdr-$(PLUGIN).so
  1119. -
  1120. - .PHONY: all dist clean subdirs $(SUBDIRS) PAGES
  1121. -
  1122. ---
  1123. -1.7.2.5
  1124. -
  1125. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch
  1126. new file mode 100644
  1127. index 0000000..fab596f
  1128. --- /dev/null
  1129. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-01-makefile.patch
  1130. @@ -0,0 +1,36 @@
  1131. +--- a/Makefile
  1132. ++++ b/Makefile
  1133. +@@ -11,7 +11,7 @@ PLUGIN := live
  1134. + VERSION := $(shell grep '\#define LIVEVERSION ' setup.h | awk '{ print $$3 }' | sed -e 's/[";]//g')
  1135. +
  1136. + ### Check for libpcre c++ wrapper
  1137. +-HAVE_LIBPCRECPP := $(shell pcre-config --libs-cpp)
  1138. ++HAVE_LIBPCRECPP := $(shell pkg-config --libs libpcrecpp libpcre)
  1139. +
  1140. + ### The directory environment:
  1141. + # Use package data if installed...otherwise assume we're under the VDR source directory:
  1142. +@@ -37,18 +37,18 @@ APIVERSION := $(call PKGCFG,apiversion)
  1143. + include global.mk
  1144. +
  1145. + ### Determine tntnet and cxxtools versions:
  1146. +-TNTVERSION = $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1147. +-CXXTOOLVER = $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1148. ++TNTVERSION = $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1149. ++CXXTOOLVER = $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1150. +
  1151. +-CXXFLAGS  += $(shell tntnet-config --cxxflags)
  1152. +-LIBS      += $(shell tntnet-config --libs)
  1153. ++CXXFLAGS  += $(shell pkg-config --cflags tntnet)
  1154. ++LIBS      += $(shell pkg-config --libs tntnet)
  1155. +
  1156. + ### Optional configuration features
  1157. + PLUGINFEATURES :=
  1158. + ifneq ($(HAVE_LIBPCRECPP),)
  1159. +   PLUGINFEATURES += -DHAVE_LIBPCRECPP
  1160. +-  CXXFLAGS       += $(shell pcre-config --cflags)
  1161. +-  LIBS           += $(HAVE_LIBPCRECPP)
  1162. ++  CXXFLAGS       += $(shell pkg-config --cflags libpcreposix libpcre)
  1163. ++  LIBS           += -Wl,-Bstatic $(HAVE_LIBPCRECPP) -Wl,-Bdynamic
  1164. + endif
  1165. +
  1166. + # -Wno-deprecated-declarations .. get rid of warning: ‘template<class> class std::auto_ptr’ is deprecated
  1167. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch
  1168. new file mode 100644
  1169. index 0000000..3d932b8
  1170. --- /dev/null
  1171. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-03-no-i18n.patch
  1172. @@ -0,0 +1,11 @@
  1173. +--- a/Makefile
  1174. ++++ b/Makefile
  1175. +@@ -98,7 +98,7 @@ SUBDIRS := $(WEB_DIR_PAGES) $(WEB_DIR_CSS) $(WEB_DIR_JAVA)
  1176. +
  1177. + ### The main target:
  1178. + .PHONY: all
  1179. +-all: lib i18n
  1180. ++all: lib
  1181. +   @true
  1182. +
  1183. + ### Implicit rules:
  1184. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch
  1185. deleted file mode 100644
  1186. index e265036..0000000
  1187. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-gcc6.patch
  1188. +++ /dev/null
  1189. @@ -1,43 +0,0 @@
  1190. ---- a/stdext.h.orig    2016-02-07 12:55:05.958100061 +0100
  1191. -+++ b/stdext.h 2016-02-07 12:56:49.583375455 +0100
  1192. -@@ -3,8 +3,38 @@
  1193. -
  1194. - #if __GNUC__ >= 4
  1195. -
  1196. --# include <tr1/functional>
  1197. --# include <tr1/memory>
  1198. -+#if __GNUC__ >= 6
  1199. -+
  1200. -+#include <memory>
  1201. -+#include <functional>
  1202. -+
  1203. -+namespace std {
  1204. -+namespace tr1 {
  1205. -+
  1206. -+       using std::bind;
  1207. -+       using std::shared_ptr;
  1208. -+       using std::weak_ptr;
  1209. -+
  1210. -+       namespace placeholders {
  1211. -+               using std::placeholders::_1;
  1212. -+               using std::placeholders::_2;
  1213. -+               using std::placeholders::_3;
  1214. -+               using std::placeholders::_4;
  1215. -+               using std::placeholders::_5;
  1216. -+               using std::placeholders::_6;
  1217. -+               using std::placeholders::_7;
  1218. -+               using std::placeholders::_8;
  1219. -+               using std::placeholders::_9;
  1220. -+       }
  1221. -+} // namespace tr1
  1222. -+} // namespace std
  1223. -+
  1224. -+#else
  1225. -+
  1226. -+ #      include <tr1/functional>
  1227. -+ #      include <tr1/memory>
  1228. -+
  1229. -+# endif
  1230. -
  1231. - #else
  1232. -
  1233. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch
  1234. deleted file mode 100644
  1235. index 8f159d5..0000000
  1236. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-live/patches/vdr-plugin-live-pkgconfig.patch
  1237. +++ /dev/null
  1238. @@ -1,86 +0,0 @@
  1239. -diff -Naur live-0.3.0/css/Makefile live-0.3.0.patch/css/Makefile
  1240. ---- live-0.3.0/css/Makefile    2013-04-04 22:16:40.000000000 +0200
  1241. -+++ live-0.3.0.patch/css/Makefile  2016-01-07 06:49:35.954078949 +0100
  1242. -@@ -4,7 +4,7 @@
  1243. -
  1244. - ### Additional options to silence TNTNET warnings
  1245. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-function
  1246. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1247. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1248. -
  1249. - ### The C++ compiler and options:
  1250. -
  1251. -diff -Naur live-0.3.0/httpd/Makefile live-0.3.0.patch/httpd/Makefile
  1252. ---- live-0.3.0/httpd/Makefile  2013-04-04 22:16:40.000000000 +0200
  1253. -+++ live-0.3.0.patch/httpd/Makefile    2016-01-07 06:51:05.349223371 +0100
  1254. -@@ -3,7 +3,7 @@
  1255. -
  1256. - CXXFLAGS ?= -O2 -Woverloaded-virtual -Wall -fPIC
  1257. -
  1258. --CXXFLAGS += `tntnet-config --cxxflags`
  1259. -+CXXFLAGS += `pkg-config --cflags tntnet`
  1260. -
  1261. - ### Includes and Defines (add further entries here):
  1262. -
  1263. -diff -Naur live-0.3.0/javascript/Makefile live-0.3.0.patch/javascript/Makefile
  1264. ---- live-0.3.0/javascript/Makefile 2013-04-04 22:16:40.000000000 +0200
  1265. -+++ live-0.3.0.patch/javascript/Makefile   2016-01-07 06:49:51.561104158 +0100
  1266. -@@ -4,7 +4,7 @@
  1267. -
  1268. - ### Additional options to silence TNTNET warnings
  1269. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-function
  1270. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1271. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1272. -
  1273. - ### The C++ compiler and options:
  1274. -
  1275. -diff -Naur live-0.3.0/Makefile live-0.3.0.patch/Makefile
  1276. ---- live-0.3.0/Makefile    2013-04-04 22:16:40.000000000 +0200
  1277. -+++ live-0.3.0.patch/Makefile  2016-01-07 06:48:29.683971910 +0100
  1278. -@@ -26,7 +26,7 @@
  1279. - LDFLAGS    ?= -fPIC -g
  1280. -
  1281. - ### Check for libpcre c++ wrapper
  1282. --HAVE_LIBPCRECPP = $(shell pcre-config --libs-cpp)
  1283. -+HAVE_LIBPCRECPP = $(shell pkg-config --libs libpcrecpp libpcre)
  1284. -
  1285. - ### The directory environment:
  1286. -
  1287. -@@ -46,18 +46,18 @@
  1288. -
  1289. - APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$//p' $(VDRDIR)/config.h)
  1290. - I18NTARG   = $(shell if [ `echo $(APIVERSION) | tr [.] [0]` -ge "10507" ]; then echo "i18n"; fi)
  1291. --TNTVERSION = $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1292. --CXXTOOLVER = $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1293. -+TNTVERSION = $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1294. -+CXXTOOLVER = $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1295. - TNTVERS7   = $(shell ver=$(TNTVERSION); if [ $$ver -ge "1606" ]; then echo "yes"; fi)
  1296. -
  1297. --CXXFLAGS  += $(shell tntnet-config --cxxflags)
  1298. --LIBS      += $(shell tntnet-config --libs)
  1299. -+CXXFLAGS  += $(shell pkg-config --cflags tntnet)
  1300. -+LIBS      += $(shell pkg-config --libs tntnet)
  1301. -
  1302. - ### Optional configuration features
  1303. - PLUGINFEATURES =
  1304. - ifneq ($(HAVE_LIBPCRECPP),)
  1305. -   PLUGINFEATURES += -DHAVE_LIBPCRECPP
  1306. --  CXXFLAGS       += $(shell pcre-config --cflags)
  1307. -+  CXXFLAGS       += $(shell pkg-config --cflags libpcreposix libpcre)
  1308. -   LIBS           += $(HAVE_LIBPCRECPP)
  1309. - endif
  1310. -
  1311. -diff -Naur live-0.3.0/pages/Makefile live-0.3.0.patch/pages/Makefile
  1312. ---- live-0.3.0/pages/Makefile  2013-04-04 22:16:40.000000000 +0200
  1313. -+++ live-0.3.0.patch/pages/Makefile    2016-01-07 06:50:04.234124627 +0100
  1314. -@@ -4,8 +4,8 @@
  1315. -
  1316. - ### Additional options to silence TNTNET warnings
  1317. - TNTFLAGS   ?= -Wno-overloaded-virtual -Wno-unused-variable
  1318. --TNTVERSION ?= $(shell tntnet-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1319. --CXXTOOLVER ?= $(shell cxxtools-config --version | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1320. -+TNTVERSION ?= $(shell pkg-config --modversion tntnet | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1321. -+CXXTOOLVER ?= $(shell pkg-config --modversion cxxtools | sed -e's/\.//g' | sed -e's/pre.*//g' | awk '/^..$$/ { print $$1."000"} /^...$$/ { print $$1."00"} /^....$$/ { print $$1."0" } /^.....$$/ { print $$1 }')
  1322. -
  1323. - ### The C++ compiler and options:
  1324. -
  1325. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1326. index 71af66d..e882064 100644
  1327. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1328. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/package.mk
  1329. @@ -1,23 +1,25 @@
  1330.  ################################################################################
  1331. -#      This file is part of OpenELEC - http://www.openelec.tv
  1332. +#      This file is part of LibreELEC - https://libreelec.tv
  1333. +#      Copyright (C) 2016-present Team LibreELEC
  1334.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1335.  #
  1336. -#  OpenELEC is free software: you can redistribute it and/or modify
  1337. +#  LibreELEC is free software: you can redistribute it and/or modify
  1338.  #  it under the terms of the GNU General Public License as published by
  1339.  #  the Free Software Foundation, either version 2 of the License, or
  1340.  #  (at your option) any later version.
  1341.  #
  1342. -#  OpenELEC is distributed in the hope that it will be useful,
  1343. +#  LibreELEC is distributed in the hope that it will be useful,
  1344.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1345.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1346.  #  GNU General Public License for more details.
  1347.  #
  1348.  #  You should have received a copy of the GNU General Public License
  1349. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1350. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1351.  ################################################################################
  1352.  
  1353.  PKG_NAME="vdr-plugin-restfulapi"
  1354.  PKG_VERSION="0.2.6.5"
  1355. +PKG_SHA256="116f2ec08eb8d228ef5da64fe4039f2c00ae4d76388f0f34ab329c866d928e1f"
  1356.  PKG_ARCH="any"
  1357.  PKG_LICENSE="GPL"
  1358.  PKG_SITE="https://github.com/yavdr/vdr-plugin-restfulapi"
  1359. @@ -30,11 +32,6 @@ PKG_LONGDESC="vdr-plugin-restfulapi allows to access many internals of the VDR v
  1360.  PKG_IS_ADDON="no"
  1361.  PKG_AUTORECONF="no"
  1362.  
  1363. -pre_make_target() {
  1364. -  # dont build parallel
  1365. -  MAKEFLAGS=-j1
  1366. -}
  1367. -
  1368.  make_target() {
  1369.    VDR_DIR=$(get_build_dir vdr)
  1370.    export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  1371. @@ -53,7 +50,6 @@ post_make_target() {
  1372.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1373.  
  1374.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1375. -  $STRIP libvdr-*.so*
  1376.  }
  1377.  
  1378.  makeinstall_target() {
  1379. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch
  1380. new file mode 100644
  1381. index 0000000..cb1d60d
  1382. --- /dev/null
  1383. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-01-pkgconfig.patch
  1384. @@ -0,0 +1,11 @@
  1385. +--- a/Makefile
  1386. ++++ b/Makefile
  1387. +@@ -51,7 +51,7 @@ SOFILE = libvdr-$(PLUGIN).so
  1388. +
  1389. + DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
  1390. +
  1391. +-LIBS    += $(shell cxxtools-config --libs) -lcxxtools-http
  1392. ++LIBS    += $(shell pkg-config --libs cxxtools-http cxxtools)
  1393. + CONFDIR  = $(call PKGCFG,configdir)
  1394. + PLGCONFDIR = $(CONFDIR)/plugins/$(PLUGIN)
  1395. +
  1396. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch
  1397. new file mode 100644
  1398. index 0000000..c648449
  1399. --- /dev/null
  1400. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-02-webapp-path.patch
  1401. @@ -0,0 +1,11 @@
  1402. +--- a/tools.cpp
  1403. ++++ b/tools.cpp
  1404. +@@ -214,7 +214,7 @@ void Settings::initDefault()
  1405. +   SetIp((string)"0.0.0.0");
  1406. +   SetEpgImageDirectory((string)"/var/cache/vdr/epgimages");
  1407. +   SetChannelLogoDirectory((string)"/usr/share/vdr/channel-logos");
  1408. +-  SetWebappDirectory((string)"/var/lib/vdr/plugins/restfulapi/webapp");
  1409. ++  SetWebappDirectory((string)"/storage/.kodi/addons/service.multimedia.vdr-addon/res/plugins/restfulapi");
  1410. +   SetHeaders((string)"true");
  1411. +   webapp_filetypes_filename = "webapp_file_types.conf";
  1412. + }
  1413. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch
  1414. deleted file mode 100644
  1415. index c0c9cf8..0000000
  1416. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-restfulapi/patches/vdr-plugin-restfulapi-pkgconfig.patch
  1417. +++ /dev/null
  1418. @@ -1,12 +0,0 @@
  1419. -diff -Naur vdr-plugin-restfulapi-0.2.1.4/Makefile vdr-plugin-restfulapi-0.2.1.4.patch/Makefile
  1420. ---- vdr-plugin-restfulapi-0.2.1.4/Makefile 2015-03-18 23:12:01.000000000 +0100
  1421. -+++ vdr-plugin-restfulapi-0.2.1.4.patch/Makefile   2016-01-07 05:24:24.036888492 +0100
  1422. -@@ -49,7 +49,7 @@
  1423. -
  1424. - DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
  1425. -
  1426. --LIBS    += $(shell cxxtools-config --libs) -lcxxtools-http
  1427. -+LIBS += $(shell pkg-config --libs cxxtools-http cxxtools)
  1428. - CONFDIR  = $(call PKGCFG,configdir)
  1429. - PLGCONFDIR = $(CONFDIR)/plugins/$(PLUGIN)
  1430. -
  1431. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk
  1432. new file mode 100644
  1433. index 0000000..92b0892
  1434. --- /dev/null
  1435. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-robotv/package.mk
  1436. @@ -0,0 +1,51 @@
  1437. +################################################################################
  1438. +#      This file is part of LibreELEC - https://libreelec.tv
  1439. +#      Copyright (C) 2017-present Team LibreELEC
  1440. +#
  1441. +#  LibreELEC is free software: you can redistribute it and/or modify
  1442. +#  it under the terms of the GNU General Public License as published by
  1443. +#  the Free Software Foundation, either version 2 of the License, or
  1444. +#  (at your option) any later version.
  1445. +#
  1446. +#  LibreELEC is distributed in the hope that it will be useful,
  1447. +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1448. +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1449. +#  GNU General Public License for more details.
  1450. +#
  1451. +#  You should have received a copy of the GNU General Public License
  1452. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1453. +################################################################################
  1454. +
  1455. +PKG_NAME="vdr-plugin-robotv"
  1456. +PKG_VERSION="50d4bdc"
  1457. +PKG_SHA256="062489e55111f0ba2420463cc506865ac59b1c1d080b318cb81d58ec3f4fbd3f"
  1458. +PKG_ARCH="any"
  1459. +PKG_LICENSE="GPL"
  1460. +PKG_SITE="https://github.com/pipelka/roboTV"
  1461. +PKG_URL="https://github.com/pipelka/vdr-plugin-robotv/archive/$PKG_VERSION.tar.gz"
  1462. +PKG_DEPENDS_TARGET="toolchain vdr avahi"
  1463. +PKG_SECTION="multimedia"
  1464. +PKG_SHORTDESC="VDR server plugin for roboTV"
  1465. +PKG_LONGDESC="RoboTV is a Android TV based frontend for VDR"
  1466. +
  1467. +PKG_IS_ADDON="no"
  1468. +PKG_AUTORECONF="no"
  1469. +
  1470. +pre_configure_target() {
  1471. +  VDR_DIR=$(get_build_dir vdr)
  1472. +  export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
  1473. +  export CPLUS_INCLUDE_PATH=$VDR_DIR/include
  1474. +  export VDRDIR=$VDR_DIR
  1475. +}
  1476. +
  1477. +post_make_target() {
  1478. +  VDR_DIR=$(get_build_dir vdr)
  1479. +  VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$//p' $VDR_DIR/config.h`
  1480. +  LIB_NAME=lib${PKG_NAME/-plugin/}
  1481. +
  1482. +  cp --remove-destination $PKG_BUILD/.$TARGET_NAME/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1483. +}
  1484. +
  1485. +makeinstall_target() {
  1486. +  : # installation not needed, done by create-addon script
  1487. +}
  1488. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk
  1489. index cef310c..29d6d80 100644
  1490. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk
  1491. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/package.mk
  1492. @@ -1,23 +1,25 @@
  1493.  ################################################################################
  1494. -#      This file is part of OpenELEC - http://www.openelec.tv
  1495. +#      This file is part of LibreELEC - https://libreelec.tv
  1496. +#      Copyright (C) 2016-present Team LibreELEC
  1497.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1498.  #
  1499. -#  OpenELEC is free software: you can redistribute it and/or modify
  1500. +#  LibreELEC is free software: you can redistribute it and/or modify
  1501.  #  it under the terms of the GNU General Public License as published by
  1502.  #  the Free Software Foundation, either version 2 of the License, or
  1503.  #  (at your option) any later version.
  1504.  #
  1505. -#  OpenELEC is distributed in the hope that it will be useful,
  1506. +#  LibreELEC is distributed in the hope that it will be useful,
  1507.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1508.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1509.  #  GNU General Public License for more details.
  1510.  #
  1511.  #  You should have received a copy of the GNU General Public License
  1512. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1513. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1514.  ################################################################################
  1515.  
  1516.  PKG_NAME="vdr-plugin-satip"
  1517. -PKG_VERSION="ed99cfb"
  1518. +PKG_VERSION="0a15717"
  1519. +PKG_SHA256="22f0bc5bc10b67f972464cf5dd5ac43c036a9bf8926adc7408f216e40a6a3f57"
  1520.  PKG_ARCH="any"
  1521.  PKG_LICENSE="GPL"
  1522.  PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"
  1523. @@ -48,7 +50,6 @@ post_make_target() {
  1524.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1525.  
  1526.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1527. -  $STRIP libvdr-*.so*
  1528.  }
  1529.  
  1530.  makeinstall_target() {
  1531. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1532. index c7d7f4a..e0c19f3 100644
  1533. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1534. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-satip/patches/vdr-plugin-satip-01-pkgconfig.patch
  1535. @@ -1,6 +1,5 @@
  1536. -diff -Naur satip-2.2.2/Makefile satip-2.2.2.patch/Makefile
  1537. ---- satip-2.2.2/Makefile   2015-04-26 03:20:00.000000000 +0200
  1538. -+++ satip-2.2.2.patch/Makefile 2016-01-07 07:33:20.588462880 +0100
  1539. +--- a/Makefile
  1540. ++++ b/Makefile
  1541.  @@ -53,7 +53,7 @@
  1542.  
  1543.   ### Libraries
  1544. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1545. index d8080f4..669507e 100644
  1546. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1547. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/package.mk
  1548. @@ -1,34 +1,35 @@
  1549.  ################################################################################
  1550. -#      This file is part of OpenELEC - http://www.openelec.tv
  1551. +#      This file is part of LibreELEC - https://libreelec.tv
  1552. +#      Copyright (C) 2016-present Team LibreELEC
  1553.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1554.  #
  1555. -#  OpenELEC is free software: you can redistribute it and/or modify
  1556. +#  LibreELEC is free software: you can redistribute it and/or modify
  1557.  #  it under the terms of the GNU General Public License as published by
  1558.  #  the Free Software Foundation, either version 2 of the License, or
  1559.  #  (at your option) any later version.
  1560.  #
  1561. -#  OpenELEC is distributed in the hope that it will be useful,
  1562. +#  LibreELEC is distributed in the hope that it will be useful,
  1563.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1564.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1565.  #  GNU General Public License for more details.
  1566.  #
  1567.  #  You should have received a copy of the GNU General Public License
  1568. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1569. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1570.  ################################################################################
  1571.  
  1572.  PKG_NAME="vdr-plugin-streamdev"
  1573. -PKG_VERSION="fc52e92"
  1574. +PKG_VERSION="e2a9b97"
  1575. +PKG_SHA256="adcc08ac19cf98122576bedf63be3396d8b81ee4196c00df0e25c9fb8b7e11b8"
  1576.  PKG_ARCH="any"
  1577.  PKG_LICENSE="GPL"
  1578.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-streamdev"
  1579. -PKG_URL="https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.bz2"
  1580. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-streamdev/archive/$PKG_VERSION.tar.gz"
  1581.  PKG_DEPENDS_TARGET="toolchain vdr openssl"
  1582.  PKG_SECTION="multimedia"
  1583. -PKG_SHORTDESC="TV"
  1584. -PKG_LONGDESC="TV"
  1585. +PKG_SHORTDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
  1586. +PKG_LONGDESC="This PlugIn is a VDR implementation of Video Transfer and a basic HTTP Streaming Protocol."
  1587.  
  1588.  PKG_IS_ADDON="no"
  1589. -
  1590.  PKG_AUTORECONF="no"
  1591.  
  1592.  make_target() {
  1593. @@ -48,12 +49,8 @@ post_make_target() {
  1594.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1595.    cp --remove-destination $PKG_BUILD/server/${LIB_NAME}-server.so $PKG_BUILD/server/${LIB_NAME}-server.so.${VDR_APIVERSION}
  1596.    cp --remove-destination $PKG_BUILD/client/${LIB_NAME}-client.so $PKG_BUILD/client/${LIB_NAME}-client.so.${VDR_APIVERSION}
  1597. -
  1598. -  $STRIP client/libvdr-*.so*
  1599. -  $STRIP server/libvdr-*.so*
  1600.  }
  1601.  
  1602.  makeinstall_target() {
  1603.    : # installation not needed, done by create-addon script
  1604.  }
  1605. -
  1606. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1607. index dcd664c..45b9782 100644
  1608. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1609. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-streamdev/patches/vdr-plugin-streamdev-01_4k_hevc_support.patch
  1610. @@ -1,8 +1,7 @@
  1611.  http://www.vdr-portal.de/board17-developer/board97-vdr-core/p1272182-rfc-h-265-frame-parser/#post1272182
  1612.  
  1613. -diff -ur streamdev-160321-1/server/livestreamer.c streamdev-160321/server/livestreamer.c
  1614. ---- streamdev-160321-1/server/livestreamer.c   2016-03-21 11:41:52.000000000 +0100
  1615. -+++ streamdev-160321/server/livestreamer.c 2016-05-03 13:54:07.000000000 +0200
  1616. +--- a/server/livestreamer.c
  1617. ++++ b/server/livestreamer.c
  1618.  @@ -143,6 +143,8 @@
  1619.     "ISO/IEC 14496-3 Audio with LATM transport syntax",
  1620.     "0x12", "0x13", "0x14", "0x15", "0x16", "0x17", "0x18", "0x19", "0x1a",
  1621. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk
  1622. index 069ef54..202dbf0 100644
  1623. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk
  1624. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-vnsiserver/package.mk
  1625. @@ -1,31 +1,33 @@
  1626.  ################################################################################
  1627. -#      This file is part of OpenELEC - http://www.openelec.tv
  1628. +#      This file is part of LibreELEC - https://libreelec.tv
  1629. +#      Copyright (C) 2016-present Team LibreELEC
  1630.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1631.  #
  1632. -#  OpenELEC is free software: you can redistribute it and/or modify
  1633. +#  LibreELEC is free software: you can redistribute it and/or modify
  1634.  #  it under the terms of the GNU General Public License as published by
  1635.  #  the Free Software Foundation, either version 2 of the License, or
  1636.  #  (at your option) any later version.
  1637.  #
  1638. -#  OpenELEC is distributed in the hope that it will be useful,
  1639. +#  LibreELEC is distributed in the hope that it will be useful,
  1640.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1641.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1642.  #  GNU General Public License for more details.
  1643.  #
  1644.  #  You should have received a copy of the GNU General Public License
  1645. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1646. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1647.  ################################################################################
  1648.  
  1649.  PKG_NAME="vdr-plugin-vnsiserver"
  1650. -PKG_VERSION="615a077"
  1651. +PKG_VERSION="31c8f71"
  1652. +PKG_SHA256="0ee419f6821c2cfb0a605a9afadaf2e1ae2a69f49d651a7aab4ea7008e913f11"
  1653.  PKG_ARCH="any"
  1654.  PKG_LICENSE="GPL"
  1655.  PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
  1656.  PKG_URL="https://github.com/FernetMenta/vdr-plugin-vnsiserver/archive/$PKG_VERSION.tar.gz"
  1657.  PKG_DEPENDS_TARGET="toolchain vdr"
  1658.  PKG_SECTION="multimedia"
  1659. -PKG_SHORTDESC="TV"
  1660. -PKG_LONGDESC="TV"
  1661. +PKG_SHORTDESC="VDR plugin to handle Kodi clients."
  1662. +PKG_LONGDESC="VDR plugin to handle Kodi clients."
  1663.  
  1664.  PKG_IS_ADDON="no"
  1665.  PKG_AUTORECONF="no"
  1666. @@ -47,7 +49,6 @@ post_make_target() {
  1667.    LIB_NAME=lib${PKG_NAME/-plugin/}
  1668.  
  1669.    cp --remove-destination $PKG_BUILD/${LIB_NAME}.so $PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
  1670. -  $STRIP libvdr-*.so*
  1671.  }
  1672.  
  1673.  makeinstall_target() {
  1674. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1675. index 65353af..71a5bee 100644
  1676. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1677. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/package.mk
  1678. @@ -1,32 +1,34 @@
  1679.  ################################################################################
  1680. -#      This file is part of OpenELEC - http://www.openelec.tv
  1681. +#      This file is part of LibreELEC - https://libreelec.tv
  1682. +#      Copyright (C) 2016-present Team LibreELEC
  1683.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1684.  #
  1685. -#  OpenELEC is free software: you can redistribute it and/or modify
  1686. +#  LibreELEC is free software: you can redistribute it and/or modify
  1687.  #  it under the terms of the GNU General Public License as published by
  1688.  #  the Free Software Foundation, either version 2 of the License, or
  1689.  #  (at your option) any later version.
  1690.  #
  1691. -#  OpenELEC is distributed in the hope that it will be useful,
  1692. +#  LibreELEC is distributed in the hope that it will be useful,
  1693.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1694.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1695.  #  GNU General Public License for more details.
  1696.  #
  1697.  #  You should have received a copy of the GNU General Public License
  1698. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1699. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1700.  ################################################################################
  1701.  
  1702.  PKG_NAME="vdr-plugin-wirbelscan"
  1703. -PKG_VERSION="0.0.9"
  1704. +PKG_VERSION="2017.06.04"
  1705. +PKG_SHA256="c7a792c794fb98dd7f665e1be2271f4a1a957a26c017043fcd4dd8d8b7fd582b"
  1706.  PKG_ARCH="any"
  1707.  PKG_LICENSE="GPL"
  1708.  PKG_SITE="http://wirbel.htpc-forum.de/wirbelscan/index2.html"
  1709. -PKG_URL="http://wirbel.htpc-forum.de/wirbelscan/${PKG_NAME/-plugin/}-$PKG_VERSION.tgz"
  1710. +PKG_URL="http://wirbel.htpc-forum.de/wirbelscan/${PKG_NAME/-plugin/}-dev-$PKG_VERSION.tgz"
  1711.  PKG_SOURCE_DIR="wirbelscan-${PKG_VERSION}"
  1712.  PKG_DEPENDS_TARGET="toolchain vdr"
  1713.  PKG_SECTION="multimedia"
  1714. -PKG_SHORTDESC="TV"
  1715. -PKG_LONGDESC="TV"
  1716. +PKG_SHORTDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
  1717. +PKG_LONGDESC="Performs a channel scans for DVB-T, DVB-C and DVB-S"
  1718.  
  1719.  PKG_IS_ADDON="no"
  1720.  PKG_AUTORECONF="no"
  1721. @@ -39,6 +41,7 @@ pre_configure_target() {
  1722.  
  1723.  make_target() {
  1724.    VDR_DIR=$(get_build_dir vdr)
  1725. +  cp backup/Makefile.old Makefile
  1726.    make VDRDIR=$VDR_DIR \
  1727.      LIBDIR="." \
  1728.      LOCALEDIR="./locale"
  1729. @@ -47,4 +50,3 @@ make_target() {
  1730.  makeinstall_target() {
  1731.    : # installation not needed, done by create-addon script
  1732.  }
  1733. -
  1734. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch
  1735. deleted file mode 100644
  1736. index 3e978b0..0000000
  1737. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-01_fix-dvbs-scan.patch
  1738. +++ /dev/null
  1739. @@ -1,26 +0,0 @@
  1740. -From 2b6a0e4b41a082655516c3a276a4d74e7a61cd90 Mon Sep 17 00:00:00 2001
  1741. -From: Stefan Saraev <stefan@saraev.ca>
  1742. -Date: Mon, 2 Feb 2015 13:22:36 +0200
  1743. -Subject: [PATCH] fix dvbs scan
  1744. -
  1745. -using first channel freq from satellites.dat is not good.
  1746. ----
  1747. - scanner.c |    2 +-
  1748. - 1 file changed, 1 insertion(+), 1 deletion(-)
  1749. -
  1750. -diff --git a/scanner.c b/scanner.c
  1751. -index 0c29ac2..25d6f8a 100644
  1752. ---- a/scanner.c
  1753. -+++ b/scanner.c
  1754. -@@ -738,7 +738,7 @@ void cScanner::Action(void) {
  1755. -                break;
  1756. -              case SCAN_SATELLITE:
  1757. -                aChannel->SetTransponderData(cSource::FromString(sat_list[this_channellist].source_id),
  1758. --                                          sat_list[this_channellist].items[0].intermediate_frequency,
  1759. -+                                          sat_list[this_channellist].items[channel].intermediate_frequency,
  1760. -                                           sat_list[this_channellist].items[channel].symbol_rate,
  1761. -                                           *ParamsToString('S',
  1762. -                                           GetVDRPolarizationFromDVB(sat_list[this_channellist].items[0].polarization),
  1763. ---
  1764. -1.7.10.4
  1765. -
  1766. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch
  1767. deleted file mode 100644
  1768. index e02eb7a..0000000
  1769. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscan/patches/vdr-plugin-wirbelscan-02_fix-wirbelscancontrol.patch
  1770. +++ /dev/null
  1771. @@ -1,61 +0,0 @@
  1772. -From 4708fdeab67cae81ee7211a306c6adf0bed24d3c Mon Sep 17 00:00:00 2001
  1773. -From: Stefan Saraev <stefan@saraev.ca>
  1774. -Date: Tue, 3 Feb 2015 18:19:17 +0200
  1775. -Subject: [PATCH] fix wirbelscancontrol
  1776. -
  1777. ----
  1778. - common.c            |    2 +-
  1779. - extended_frontend.h |    7 +++----
  1780. - menusetup.c         |    2 +-
  1781. - 3 files changed, 5 insertions(+), 6 deletions(-)
  1782. -
  1783. -diff --git a/common.c b/common.c
  1784. -index 04a1e6e..40194d2 100644
  1785. ---- a/common.c
  1786. -+++ b/common.c
  1787. -@@ -54,7 +54,7 @@ void cMySetup::InitSystems(void) {
  1788. -      }
  1789. -
  1790. -   if (DVB_Type >= SCAN_NO_DEVICE || ! systems[DVB_Type]) {
  1791. --     for (DVB_Type = scantype_t(SCAN_UNDEFINED + 1); DVB_Type < SCAN_NO_DEVICE; DVB_Type = scantype_t(DVB_Type + 1)) {
  1792. -+     for (DVB_Type = scantype_t(SCAN_TERRESTRIAL); DVB_Type < SCAN_NO_DEVICE; DVB_Type = scantype_t(DVB_Type + 1)) {
  1793. -          if (systems[DVB_Type])
  1794. -             break;
  1795. -          }
  1796. -diff --git a/extended_frontend.h b/extended_frontend.h
  1797. -index 680594e..bcdb11f 100644
  1798. ---- a/extended_frontend.h
  1799. -+++ b/extended_frontend.h
  1800. -@@ -152,13 +152,12 @@ typedef enum {
  1801. -  * 20120107 wirbel
  1802. -  */
  1803. - typedef enum {
  1804. --        SCAN_UNDEFINED,
  1805. --        SCAN_SATELLITE,
  1806. --        SCAN_CABLE,
  1807. -         SCAN_TERRESTRIAL,
  1808. --        SCAN_TERRCABLE_ATSC,   /* I dislike this mixture of terr and cable. fix later, as it leads to problems now. */
  1809. -+        SCAN_CABLE,
  1810. -+        SCAN_SATELLITE,
  1811. -         SCAN_PVRINPUT,
  1812. -         SCAN_PVRINPUT_FM,
  1813. -+        SCAN_TERRCABLE_ATSC,   /* I dislike this mixture of terr and cable. fix later, as it leads to problems now. */
  1814. -         SCAN_NO_DEVICE,
  1815. -         SCAN_TRANSPONDER=999
  1816. - } scantype_t;
  1817. -diff --git a/menusetup.c b/menusetup.c
  1818. -index daeccb1..46087be 100644
  1819. ---- a/menusetup.c
  1820. -+++ b/menusetup.c
  1821. -@@ -22,7 +22,7 @@
  1822. - using namespace COUNTRY;
  1823. -
  1824. - static const char * ScannerDesc   = "wirbelscan scan thread";
  1825. --static const char * DVB_Types[]  = {"NOTHING","DVB-S/S2","DVB-C","DVB-T/T2","ATSC","pvrinput","pvrinput FM", "no device found"};
  1826. -+static const char * DVB_Types[]  = {"DVB-T/T2", "DVB-C", "DVB-S/S2", "pvrinput", "pvrinput FM", "ATSC", "no device found"};
  1827. -
  1828. - cMenuScanning * MenuScanning    = NULL;   // pointer to actual menu
  1829. - cScanner      * Scanner         = NULL;
  1830. ---
  1831. -1.7.10.4
  1832. -
  1833. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1834. index 6821c22..de7432b 100644
  1835. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1836. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/package.mk
  1837. @@ -1,23 +1,25 @@
  1838.  ################################################################################
  1839. -#      This file is part of OpenELEC - http://www.openelec.tv
  1840. +#      This file is part of LibreELEC - https://libreelec.tv
  1841. +#      Copyright (C) 2016-present Team LibreELEC
  1842.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1843.  #
  1844. -#  OpenELEC is free software: you can redistribute it and/or modify
  1845. +#  LibreELEC is free software: you can redistribute it and/or modify
  1846.  #  it under the terms of the GNU General Public License as published by
  1847.  #  the Free Software Foundation, either version 2 of the License, or
  1848.  #  (at your option) any later version.
  1849.  #
  1850. -#  OpenELEC is distributed in the hope that it will be useful,
  1851. +#  LibreELEC is distributed in the hope that it will be useful,
  1852.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1853.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1854.  #  GNU General Public License for more details.
  1855.  #
  1856.  #  You should have received a copy of the GNU General Public License
  1857. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1858. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1859.  ################################################################################
  1860.  
  1861.  PKG_NAME="vdr-plugin-wirbelscancontrol"
  1862.  PKG_VERSION="0.0.2"
  1863. +PKG_SHA256="178c5768dd47355a42409a2cb2629f0762da1297865e3a84963684649145cb13"
  1864.  PKG_ARCH="any"
  1865.  PKG_LICENSE="GPL"
  1866.  PKG_SITE="http://wirbel.htpc-forum.de/wirbelscancontrol/index2.html"
  1867. @@ -25,11 +27,10 @@ PKG_URL="http://wirbel.htpc-forum.de/wirbelscancontrol/${PKG_NAME/-plugin/}-$PKG
  1868.  PKG_SOURCE_DIR="wirbelscancontrol-${PKG_VERSION}"
  1869.  PKG_DEPENDS_TARGET="toolchain vdr vdr-plugin-wirbelscan"
  1870.  PKG_SECTION="multimedia"
  1871. -PKG_SHORTDESC="TV"
  1872. -PKG_LONGDESC="TV"
  1873. +PKG_SHORTDESC="Adds menu entry for wirbelscan at VDR."
  1874. +PKG_LONGDESC="Adds menu entry for wirbelscan at VDR."
  1875.  
  1876.  PKG_IS_ADDON="no"
  1877. -
  1878.  PKG_AUTORECONF="no"
  1879.  
  1880.  pre_configure_target() {
  1881. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1882. index 09c1a7a..e457bbb 100644
  1883. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1884. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-01-dont-build-i18n.patch
  1885. @@ -1,14 +1,6 @@
  1886. -From 60bb89fa8f5d29e72e06c68c0b48a374ac95d522 Mon Sep 17 00:00:00 2001
  1887.  From: Stefan Saraev <stefan@saraev.ca>
  1888. -Date: Mon, 9 Jun 2014 22:04:41 +0300
  1889.  Subject: [PATCH] dont build i18n
  1890.  
  1891. ----
  1892. - Makefile |    2 +-
  1893. - 1 files changed, 1 insertions(+), 1 deletions(-)
  1894. -
  1895. -diff --git a/Makefile b/Makefile
  1896. -index f3ae479..89e2970 100644
  1897.  --- a/Makefile
  1898.  +++ b/Makefile
  1899.  @@ -73,7 +73,7 @@ UNCRUSTIFY_FILES = $(PLUGIN).c scanmenu.c scanmenu.h
  1900. @@ -20,6 +12,4 @@ index f3ae479..89e2970 100644
  1901.  
  1902.   ### Implicit rules:
  1903.  
  1904. ---
  1905. -1.7.2.5
  1906.  
  1907. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch
  1908. new file mode 100644
  1909. index 0000000..1c2f037
  1910. --- /dev/null
  1911. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-wirbelscancontrol/patches/vdr-plugin-wirbelscancontrol-02-vdr_2.3.patch
  1912. @@ -0,0 +1,59 @@
  1913. +--- a/scanmenu.c
  1914. ++++ b/scanmenu.c
  1915. +@@ -255,6 +255,9 @@
  1916. + {
  1917. +    eOSState state = cOsdMenu::ProcessKey(Key);
  1918. +    int direction = 0;
  1919. ++#if APIVERSNUM >= 20301
  1920. ++   LOCK_CHANNELS_READ;
  1921. ++#endif
  1922. +    switch (Key) {
  1923. +       case kLeft:    direction = -1;
  1924. +                      break;
  1925. +@@ -268,7 +271,11 @@
  1926. +                         case SETSCAN:
  1927. +                           osdstatus = SCANNING;
  1928. +                           start = time(NULL);
  1929. ++#if APIVERSNUM < 20301
  1930. +                           channelcount0 = Channels.Count();
  1931. ++#else
  1932. ++                          channelcount0 = Channels->Count();
  1933. ++#endif
  1934. +                           SetHelp(tr("Stop"), NULL, NULL, NULL);
  1935. +                           TransferSetup();
  1936. +                           PutCommand(CmdStartScan);
  1937. +@@ -655,7 +662,8 @@
  1938. +   sbuf = cString::sprintf("%s (%d%% transponders from scan list + %u queued)", buf, status.progress, status.nextTransponders);
  1939. +   ProgressBar->SetText(*sbuf);
  1940. +
  1941. +-  if (TV1 && TV2 && TV3 && TV4 && TV5)
  1942. ++#if APIVERSNUM < 20301
  1943. ++  if (TV1 && TV2 && TV3 && TV4 && TV5) {
  1944. +      switch (Channels.Count() - channelcount0) {
  1945. +          default:;
  1946. +          case 5: TV5->SetText(Channels.GetByNumber(Channels.Count()-4)->Name());
  1947. +@@ -665,8 +673,23 @@
  1948. +          case 1: TV1->SetText(Channels.GetByNumber(Channels.Count()-0)->Name());
  1949. +          case 0:;
  1950. +          }
  1951. +-
  1952. ++  }
  1953. +   sbuf = cString::sprintf("%s%d", tr("New channels: "), Channels.Count() - channelcount0);
  1954. ++#else
  1955. ++  LOCK_CHANNELS_READ;
  1956. ++  if (TV1 && TV2 && TV3 && TV4 && TV5) {
  1957. ++     switch (Channels->Count() - channelcount0) {
  1958. ++         default:;
  1959. ++         case 5: TV5->SetText(Channels->GetByNumber(Channels->Count()-4)->Name());
  1960. ++         case 4: TV4->SetText(Channels->GetByNumber(Channels->Count()-3)->Name());
  1961. ++         case 3: TV3->SetText(Channels->GetByNumber(Channels->Count()-2)->Name());
  1962. ++         case 2: TV2->SetText(Channels->GetByNumber(Channels->Count()-1)->Name());
  1963. ++         case 1: TV1->SetText(Channels->GetByNumber(Channels->Count()-0)->Name());
  1964. ++         case 0:;
  1965. ++         }
  1966. ++  }
  1967. ++  sbuf = cString::sprintf("%s%d", tr("New channels: "), Channels->Count() - channelcount0);
  1968. ++#endif
  1969. +   if (CH) CH->SetText(*sbuf);
  1970. +
  1971. +   Display();
  1972. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1973. index 96d0b01..c2f761e 100644
  1974. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1975. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/package.mk
  1976. @@ -1,34 +1,35 @@
  1977.  ################################################################################
  1978. -#      This file is part of OpenELEC - http://www.openelec.tv
  1979. +#      This file is part of LibreELEC - https://libreelec.tv
  1980. +#      Copyright (C) 2016-present Team LibreELEC
  1981.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  1982.  #
  1983. -#  OpenELEC is free software: you can redistribute it and/or modify
  1984. +#  LibreELEC is free software: you can redistribute it and/or modify
  1985.  #  it under the terms of the GNU General Public License as published by
  1986.  #  the Free Software Foundation, either version 2 of the License, or
  1987.  #  (at your option) any later version.
  1988.  #
  1989. -#  OpenELEC is distributed in the hope that it will be useful,
  1990. +#  LibreELEC is distributed in the hope that it will be useful,
  1991.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  1992.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1993.  #  GNU General Public License for more details.
  1994.  #
  1995.  #  You should have received a copy of the GNU General Public License
  1996. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  1997. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  1998.  ################################################################################
  1999.  
  2000.  PKG_NAME="vdr-plugin-xmltv2vdr"
  2001. -PKG_VERSION="b48e0bec"
  2002. +PKG_VERSION="ec7bd92"
  2003. +PKG_SHA256="eacc91062095563d8adc93873b373ddb34b076a8c0a9e5a86f6220d1d5d892e9"
  2004.  PKG_ARCH="any"
  2005.  PKG_LICENSE="GPL"
  2006.  PKG_SITE="http://projects.vdr-developer.org/projects/plg-xmltv2vdr"
  2007. -PKG_URL="http://projects.vdr-developer.org/git/vdr-plugin-xmltv2vdr.git/snapshot/${PKG_NAME}-${PKG_VERSION}.tar.gz"
  2008. +PKG_URL="https://github.com/vdr-projects/vdr-plugin-xmltv2vdr/archive/${PKG_VERSION}.tar.gz"
  2009.  PKG_DEPENDS_TARGET="toolchain vdr sqlite curl libzip libxml2 libxslt enca pcre"
  2010.  PKG_SECTION="multimedia"
  2011. -PKG_SHORTDESC="vdr-xmltv2vdr"
  2012. -PKG_LONGDESC="vdr-xmltv2vdr"
  2013. +PKG_SHORTDESC="xmltv2vdr imports data in xmltv format"
  2014. +PKG_LONGDESC="xmltv2vdr imports data in xmltv format"
  2015.  
  2016.  PKG_IS_ADDON="no"
  2017. -
  2018.  PKG_AUTORECONF="no"
  2019.  
  2020.  pre_configure_target() {
  2021. @@ -50,7 +51,6 @@ post_make_target() {
  2022.    make -j1
  2023.    cd -
  2024.    $STRIP dist/epgdata2xmltv/epgdata2xmltv
  2025. -  $STRIP libvdr-*.so*
  2026.  }
  2027.  
  2028.  makeinstall_target() {
  2029. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2030. index 9949e94..643d1f2 100644
  2031. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2032. +++ b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-01_dont-build-i18n.patch
  2033. @@ -1,14 +1,6 @@
  2034. -From c2121393b05a756266fe728f83eaddbd3755ce13 Mon Sep 17 00:00:00 2001
  2035.  From: Stefan Saraev <stefan@saraev.ca>
  2036. -Date: Mon, 16 Jun 2014 12:14:33 +0300
  2037.  Subject: [PATCH] dont build i18n
  2038.  
  2039. ----
  2040. - Makefile |    2 +-
  2041. - 1 files changed, 1 insertions(+), 1 deletions(-)
  2042. -
  2043. -diff --git a/Makefile b/Makefile
  2044. -index aa344a4..819b5b0 100644
  2045.  --- a/Makefile
  2046.  +++ b/Makefile
  2047.  @@ -62,7 +62,7 @@ OBJS = $(PLUGIN).o soundex.o extpipe.o parse.o source.o import.o event.o setup.o
  2048. @@ -20,6 +12,4 @@ index aa344a4..819b5b0 100644
  2049.  
  2050.   ### Implicit rules:
  2051.  
  2052. ---
  2053. -1.7.2.5
  2054.  
  2055. diff --git a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch b/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch
  2056. deleted file mode 100644
  2057. index 8b4e7cb..0000000
  2058. --- a/packages/addons/addon-depends/vdr-plugins/vdr-plugin-xmltv2vdr/patches/vdr-plugin-xmltv2vdr-gcc6.patch
  2059. +++ /dev/null
  2060. @@ -1,12 +0,0 @@
  2061. -diff -Naur a/import.cpp b/import.cpp
  2062. ---- a/import.cpp   2016-08-23 15:16:10.362347074 +0100
  2063. -+++ b/import.cpp   2016-08-23 15:16:22.814431356 +0100
  2064. -@@ -250,7 +250,7 @@
  2065. - char *cImport::Add2Description(char *description, const char *Name, int Value)
  2066. - {
  2067. -     char *value=NULL;
  2068. --    if (asprintf(&value,"%i",Value)==-1) return false;
  2069. -+    if (asprintf(&value,"%i",Value)==-1) return NULL;
  2070. -     description = strcatrealloc(description,Name);
  2071. -     description = strcatrealloc(description,": ");
  2072. -     description = strcatrealloc(description,value);
  2073. diff --git a/packages/addons/addon-depends/vdr/package.mk b/packages/addons/addon-depends/vdr/package.mk
  2074. index 5fa5d47..0bb0ddf 100644
  2075. --- a/packages/addons/addon-depends/vdr/package.mk
  2076. +++ b/packages/addons/addon-depends/vdr/package.mk
  2077. @@ -1,28 +1,30 @@
  2078.  ################################################################################
  2079. -#      This file is part of OpenELEC - http://www.openelec.tv
  2080. +#      This file is part of LibreELEC - https://libreelec.tv
  2081. +#      Copyright (C) 2016-present Team LibreELEC
  2082.  #      Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
  2083.  #      Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
  2084.  #
  2085. -#  OpenELEC is free software: you can redistribute it and/or modify
  2086. +#  LibreELEC is free software: you can redistribute it and/or modify
  2087.  #  it under the terms of the GNU General Public License as published by
  2088.  #  the Free Software Foundation, either version 2 of the License, or
  2089.  #  (at your option) any later version.
  2090.  #
  2091. -#  OpenELEC is distributed in the hope that it will be useful,
  2092. +#  LibreELEC is distributed in the hope that it will be useful,
  2093.  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  2094.  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2095.  #  GNU General Public License for more details.
  2096.  #
  2097.  #  You should have received a copy of the GNU General Public License
  2098. -#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.
  2099. +#  along with LibreELEC.  If not, see <http://www.gnu.org/licenses/>.
  2100.  ################################################################################
  2101.  
  2102.  PKG_NAME="vdr"
  2103. -PKG_VERSION="2.2.0"
  2104. +PKG_VERSION="2.3.8"
  2105. +PKG_SHA256="d871170ee90ef2fc6293eefb44262b82b2e1f00f934681c721da7bd30e45bf22"
  2106.  PKG_ARCH="any"
  2107.  PKG_LICENSE="GPL"
  2108.  PKG_SITE="http://www.tvdr.de"
  2109. -PKG_URL="ftp://ftp.tvdr.de/vdr/$PKG_NAME-$PKG_VERSION.tar.bz2"
  2110. +PKG_URL="ftp://ftp.tvdr.de/vdr/Developer/$PKG_NAME-$PKG_VERSION.tar.bz2"
  2111.  PKG_DEPENDS_TARGET="toolchain fontconfig freetype libcap libiconv libjpeg-turbo bzip2"
  2112.  PKG_SECTION="multimedia"
  2113.  PKG_SHORTDESC="vdr: A powerful DVB TV application"
  2114. @@ -60,3 +62,4 @@ make_target() {
  2115.  makeinstall_target() {
  2116.    : # installation not needed, done by create-addon script
  2117.  }
  2118. +
  2119. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch b/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch
  2120. new file mode 100644
  2121. index 0000000..7b73d80
  2122. --- /dev/null
  2123. +++ b/packages/addons/addon-depends/vdr/patches/vdr-01-decrease-channels.conf-autosave-delay.patch
  2124. @@ -0,0 +1,15 @@
  2125. +From: Stefan Saraev <stefan@saraev.ca>
  2126. +Subject: [PATCH] decrease channels.conf autosave delay
  2127. +
  2128. +--- a/vdr.c
  2129. ++++ b/vdr.c
  2130. +@@ -74,7 +74,7 @@
  2131. + #define SHUTDOWNCANCELPROMPT   5 // seconds to wait in user prompt to allow canceling shutdown
  2132. + #define RESTARTCANCELPROMPT    5 // seconds to wait in user prompt before restarting on SIGHUP
  2133. + #define MANUALSTART          600 // seconds the next timer must be in the future to assume manual start
  2134. +-#define CHANNELSAVEDELTA     600 // seconds before saving channels.conf after automatic modifications
  2135. ++#define CHANNELSAVEDELTA     120 // seconds before saving channels.conf after automatic modifications
  2136. + #define DEVICEREADYTIMEOUT    30 // seconds to wait until all devices are ready
  2137. + #define MENUTIMEOUT          120 // seconds of user inactivity after which an OSD display is closed
  2138. + #define TIMERCHECKDELTA       10 // seconds between checks for timers that need to see their channel
  2139. +
  2140. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch b/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch
  2141. deleted file mode 100644
  2142. index 4f41d8f..0000000
  2143. --- a/packages/addons/addon-depends/vdr/patches/vdr-01_disable_ca_updates.patch
  2144. +++ /dev/null
  2145. @@ -1,11 +0,0 @@
  2146. -diff -Nru vdr-1.7.15-vanilla/pat.c vdr-1.7.15-disable_ca_updates/pat.c
  2147. ---- vdr-1.7.15-vanilla/pat.c   2010-06-06 19:11:15.000000000 +0300
  2148. -+++ vdr-1.7.15-disable_ca_updates/pat.c    2010-06-06 20:42:47.000000000 +0300
  2149. -@@ -490,6 +490,7 @@
  2150. -             }
  2151. -         if (Setup.UpdateChannels >= 2) {
  2152. -            Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
  2153. -+           if (!cSource::IsType(Channel->Source(), 'I'))
  2154. -            Channel->SetCaIds(CaDescriptors->CaIds());
  2155. -            Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
  2156. -            }
  2157. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch b/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch
  2158. new file mode 100644
  2159. index 0000000..fc08ebe
  2160. --- /dev/null
  2161. +++ b/packages/addons/addon-depends/vdr/patches/vdr-02-disable-logspam.patch
  2162. @@ -0,0 +1,29 @@
  2163. +remove logspam
  2164. +ERROR: no OSD provider available - using dummy OSD!
  2165. +
  2166. +--- a/osd.c
  2167. ++++ b/osd.c
  2168. +@@ -2027,8 +2027,6 @@ cOsd *cOsdProvider::NewOsd(int Left, int Top, uint Level)
  2169. +         }
  2170. +      return Osd;
  2171. +      }
  2172. +-  else
  2173. +-     esyslog("ERROR: no OSD provider available - using dummy OSD!");
  2174. +   return new cOsd(Left, Top, 999); // create a dummy cOsd, so that access won't result in a segfault
  2175. + }
  2176. +
  2177. +--- a/vdr.c
  2178. ++++ b/vdr.c
  2179. +@@ -765,12 +765,6 @@ int main(int argc, char *argv[])
  2180. +   Folders.Load(AddDirectory(ConfigDirectory, "folders.conf"));
  2181. +   CamResponsesLoad(AddDirectory(ConfigDirectory, "camresponses.conf"), true);
  2182. +
  2183. +-  if (!*cFont::GetFontFileName(Setup.FontOsd)) {
  2184. +-     const char *msg = "no fonts available - OSD will not show any text!";
  2185. +-     fprintf(stderr, "vdr: %s\n", msg);
  2186. +-     esyslog("ERROR: %s", msg);
  2187. +-     }
  2188. +-
  2189. +   // Recordings:
  2190. +
  2191. +   cRecordings::Update();
  2192. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch b/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch
  2193. deleted file mode 100644
  2194. index ecdf5f2..0000000
  2195. --- a/packages/addons/addon-depends/vdr/patches/vdr-10_decrease-channels.conf-autosave-delay.patch
  2196. +++ /dev/null
  2197. @@ -1,25 +0,0 @@
  2198. -From 973c66c3d4e7418e53932c719b4cb3345b38da9e Mon Sep 17 00:00:00 2001
  2199. -From: Stefan Saraev <stefan@saraev.ca>
  2200. -Date: Sat, 12 Oct 2013 21:40:12 +0300
  2201. -Subject: [PATCH] decrease channels.conf autosave delay
  2202. -
  2203. ----
  2204. - vdr.c |    2 +-
  2205. - 1 files changed, 1 insertions(+), 1 deletions(-)
  2206. -
  2207. -diff --git a/vdr.c b/vdr.c
  2208. -index c63eeca..1fb0c57 100644
  2209. ---- a/vdr.c
  2210. -+++ b/vdr.c
  2211. -@@ -74,7 +74,7 @@
  2212. - #define SHUTDOWNCANCELPROMPT   5 // seconds to wait in user prompt to allow canceling shutdown
  2213. - #define RESTARTCANCELPROMPT    5 // seconds to wait in user prompt before restarting on SIGHUP
  2214. - #define MANUALSTART          600 // seconds the next timer must be in the future to assume manual start
  2215. --#define CHANNELSAVEDELTA     600 // seconds before saving channels.conf after automatic modifications
  2216. -+#define CHANNELSAVEDELTA     120 // seconds before saving channels.conf after automatic modifications
  2217. - #define DEVICEREADYTIMEOUT    30 // seconds to wait until all devices are ready
  2218. - #define MENUTIMEOUT          120 // seconds of user inactivity after which an OSD display is closed
  2219. - #define TIMERCHECKDELTA       10 // seconds between checks for timers that need to see their channel
  2220. ---
  2221. -1.7.2.5
  2222. -
  2223. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch b/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch
  2224. deleted file mode 100644
  2225. index 444ea47..0000000
  2226. --- a/packages/addons/addon-depends/vdr/patches/vdr-20_Implement-H.265-frame-parser.patch
  2227. +++ /dev/null
  2228. @@ -1,148 +0,0 @@
  2229. -From ce4d2a08e6448b7bfab68b89a12a156ed3294a63 Mon Sep 17 00:00:00 2001
  2230. -From: Thomas Reufer <thomas@reufer.ch>
  2231. -Date: Mon, 28 Mar 2016 19:47:14 +0200
  2232. -Subject: [PATCH] Implement H.265 frame parser
  2233. -
  2234. ----
  2235. - pat.c   |  1 +
  2236. - remux.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  2237. - 2 files changed, 82 insertions(+), 3 deletions(-)
  2238. -
  2239. -diff --git a/pat.c b/pat.c
  2240. -index beb5609..bb7e5ae 100644
  2241. ---- a/pat.c
  2242. -+++ b/pat.c
  2243. -@@ -439,6 +439,7 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
  2244. -               case 1: // STREAMTYPE_11172_VIDEO
  2245. -               case 2: // STREAMTYPE_13818_VIDEO
  2246. -               case 0x1B: // H.264
  2247. -+              case 0x24: // H.265
  2248. -                       Vpid = esPid;
  2249. -                       Ppid = pmt.getPCRPid();
  2250. -                       Vtype = stream.getStreamType();
  2251. -diff --git a/remux.c b/remux.c
  2252. -index 6c07efc..fe87160 100644
  2253. ---- a/remux.c
  2254. -+++ b/remux.c
  2255. -@@ -708,6 +708,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
  2256. -            case 0x01: // STREAMTYPE_11172_VIDEO
  2257. -            case 0x02: // STREAMTYPE_13818_VIDEO
  2258. -            case 0x1B: // H.264
  2259. -+           case 0x24: // H.265
  2260. -                       vpid = stream.getPid();
  2261. -                       vtype = stream.getStreamType();
  2262. -                       ppid = Pmt.getPCRPid();
  2263. -@@ -1204,16 +1205,16 @@ private:
  2264. -     nutSequenceParameterSet = 7,
  2265. -     nutAccessUnitDelimiter  = 9,
  2266. -     };
  2267. --  cTsPayload tsPayload;
  2268. -   uchar byte; // holds the current byte value in case of bitwise access
  2269. -   int bit; // the bit index into the current byte (-1 if we're not in bit reading mode)
  2270. -   int zeroBytes; // the number of consecutive zero bytes (to detect 0x000003)
  2271. --  uint32_t scanner;
  2272. -   // Identifiers written in '_' notation as in "ITU-T H.264":
  2273. -   bool separate_colour_plane_flag;
  2274. -   int log2_max_frame_num;
  2275. -   bool frame_mbs_only_flag;
  2276. --  //
  2277. -+protected:
  2278. -+  cTsPayload tsPayload;
  2279. -+  uint32_t scanner;
  2280. -   bool gotAccessUnitDelimiter;
  2281. -   bool gotSequenceParameterSet;
  2282. -   uchar GetByte(bool Raw = false);
  2283. -@@ -1430,6 +1431,81 @@ void cH264Parser::ParseSliceHeader(void)
  2284. -      }
  2285. - }
  2286. -
  2287. -+// --- cH265Parser -----------------------------------------------------------
  2288. -+
  2289. -+class cH265Parser : public cH264Parser {
  2290. -+private:
  2291. -+  enum eNalUnitType {
  2292. -+    nutSliceSegmentTrailingN =  0,
  2293. -+    nutSliceSegmentTrailingR =  1,
  2294. -+    nutSliceSegmentTSAN      =  2,
  2295. -+    nutSliceSegmentTSAR      =  3,
  2296. -+    nutSliceSegmentSTSAN     =  4,
  2297. -+    nutSliceSegmentSTSAR     =  5,
  2298. -+    nutSliceSegmentRADLN     =  6,
  2299. -+    nutSliceSegmentRADLR     =  7,
  2300. -+    nutSliceSegmentRASLN     =  8,
  2301. -+    nutSliceSegmentRASLR     =  9,
  2302. -+    nutSliceSegmentBLAWLP    = 16,
  2303. -+    nutSliceSegmentBLAWRADL  = 17,
  2304. -+    nutSliceSegmentBLANLP    = 18,
  2305. -+    nutSliceSegmentIDRWRADL  = 19,
  2306. -+    nutSliceSegmentIDRNLP    = 20,
  2307. -+    nutSliceSegmentCRANUT    = 21,
  2308. -+    nutVideoParameterSet     = 32,
  2309. -+    nutSequenceParameterSet  = 33,
  2310. -+    nutPictureParameterSet   = 34,
  2311. -+    nutAccessUnitDelimiter   = 35,
  2312. -+    nutEndOfSequence         = 36,
  2313. -+    nutEndOfBitstream        = 37,
  2314. -+    nutFillerData            = 38,
  2315. -+    nutPrefixSEI             = 39,
  2316. -+    nutSuffixSEI             = 40,
  2317. -+    nutNonVCLRes0            = 41,
  2318. -+    nutNonVCLRes3            = 44,
  2319. -+    nutUnspecified0          = 48,
  2320. -+    nutUnspecified7          = 55,
  2321. -+    };
  2322. -+public:
  2323. -+  cH265Parser(void);
  2324. -+  virtual int Parse(const uchar *Data, int Length, int Pid);
  2325. -+  };
  2326. -+
  2327. -+cH265Parser::cH265Parser(void) :
  2328. -+  cH264Parser()
  2329. -+{
  2330. -+}
  2331. -+
  2332. -+int cH265Parser::Parse(const uchar *Data, int Length, int Pid)
  2333. -+{
  2334. -+  newFrame = independentFrame = false;
  2335. -+  tsPayload.Setup(const_cast<uchar *>(Data), Length, Pid);
  2336. -+  if (TsPayloadStart(Data)) {
  2337. -+     tsPayload.SkipPesHeader();
  2338. -+     scanner = EMPTY_SCANNER;
  2339. -+     }
  2340. -+  for (;;) {
  2341. -+      scanner = (scanner << 8) | GetByte(true);
  2342. -+      if ((scanner & 0xFFFFFF00) == 0x00000100) { // NAL unit start
  2343. -+         uchar NalUnitType = (scanner >> 1) & 0x3F;
  2344. -+         GetByte(); // nuh_layer_id + nuh_temporal_id_plus1
  2345. -+         if (NalUnitType <= nutSliceSegmentRASLR || (NalUnitType >= nutSliceSegmentBLAWLP && NalUnitType <= nutSliceSegmentCRANUT)) {
  2346. -+            if (NalUnitType == nutSliceSegmentIDRWRADL || NalUnitType == nutSliceSegmentIDRNLP || NalUnitType == nutSliceSegmentCRANUT)
  2347. -+               independentFrame = true;
  2348. -+            if (GetBit()) { // first_slice_segment_in_pic_flag
  2349. -+               newFrame = true;
  2350. -+               tsPayload.Statistics();
  2351. -+               }
  2352. -+            break;
  2353. -+            }
  2354. -+         }
  2355. -+      if (tsPayload.AtPayloadStart() // stop at any new payload start to have the buffer refilled if necessary
  2356. -+         || tsPayload.Eof()) // or if we're out of data
  2357. -+         break;
  2358. -+      }
  2359. -+  return tsPayload.Used();
  2360. -+}
  2361. -+
  2362. - // --- cFrameDetector --------------------------------------------------------
  2363. -
  2364. - cFrameDetector::cFrameDetector(int Pid, int Type)
  2365. -@@ -1463,6 +1539,8 @@ void cFrameDetector::SetPid(int Pid, int Type)
  2366. -      parser = new cMpeg2Parser;
  2367. -   else if (type == 0x1B)
  2368. -      parser = new cH264Parser;
  2369. -+  else if (type == 0x24)
  2370. -+     parser = new cH265Parser;
  2371. -   else if (type == 0x04 || type == 0x06) // MPEG audio or AC3 audio
  2372. -      parser = new cAudioParser;
  2373. -   else if (type != 0)
  2374. ---
  2375. -2.0.5
  2376. -
  2377. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch b/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch
  2378. deleted file mode 100644
  2379. index acb0392..0000000
  2380. --- a/packages/addons/addon-depends/vdr/patches/vdr-30_fix-dvbname-segfault.patch
  2381. +++ /dev/null
  2382. @@ -1,41 +0,0 @@
  2383. ---- vdr-2.2.0/dvbdevice.c.org  2015-01-14 13:09:19.000000000 +0100
  2384. -+++ vdr-2.2.0/dvbdevice.c  2016-06-25 15:50:40.619609021 +0200
  2385. -@@ -1089,6 +1089,17 @@
  2386. -   NULL
  2387. -   };
  2388. -
  2389. -+#define NUMDELIVERYSYSTEMNAMES (sizeof(DeliverySystemNames)/sizeof(*DeliverySystemNames)-1)
  2390. -+
  2391. -+const char *GetDeliverySystemName(int n)
  2392. -+{
  2393. -+  if (n < 0 || n >= NUMDELIVERYSYSTEMNAMES)
  2394. -+     return DeliverySystemNames[0];
  2395. -+
  2396. -+  return DeliverySystemNames[n];
  2397. -+}
  2398. -+
  2399. -+
  2400. - cDvbDevice::cDvbDevice(int Adapter, int Frontend)
  2401. - {
  2402. -   adapter = Adapter;
  2403. -@@ -1185,9 +1196,9 @@
  2404. - {
  2405. -   if (dvbTuner) {
  2406. -      if (dvbTuner->FrontendType() != SYS_UNDEFINED)
  2407. --        return DeliverySystemNames[dvbTuner->FrontendType()];
  2408. -+        return GetDeliverySystemName(dvbTuner->FrontendType());
  2409. -      if (numDeliverySystems)
  2410. --        return DeliverySystemNames[deliverySystems[0]]; // to have some reasonable default
  2411. -+        return GetDeliverySystemName(deliverySystems[0]); // to have some reasonable default
  2412. -      }
  2413. -   return "";
  2414. - }
  2415. -@@ -1318,7 +1329,7 @@
  2416. -   if (numDeliverySystems > 0) {
  2417. -      cString ds("");
  2418. -      for (int i = 0; i < numDeliverySystems; i++)
  2419. --         ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", DeliverySystemNames[deliverySystems[i]]);
  2420. -+         ds = cString::sprintf("%s%s%s", *ds, i ? "," : "", GetDeliverySystemName(deliverySystems[i]));
  2421. -      cString ms("");
  2422. -      if (frontendInfo.caps & FE_CAN_QPSK)      { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QPSK, ModulationValues)); }
  2423. -      if (frontendInfo.caps & FE_CAN_QAM_16)    { numModulations++; ms = cString::sprintf("%s%s%s", *ms, **ms ? "," : "", MapToUserString(QAM_16, ModulationValues)); }
  2424. diff --git a/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch b/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch
  2425. deleted file mode 100644
  2426. index e695ae0..0000000
  2427. --- a/packages/addons/addon-depends/vdr/patches/vdr-40_caid-buffer-v3.patch
  2428. +++ /dev/null
  2429. @@ -1,153 +0,0 @@
  2430. -Description: dynamically resize buffer for caids
  2431. -Forwarded: yes
  2432. -Author: Lars Hanisch <dvb@flensrocker.de>
  2433. -
  2434. -diff --git a/ci.c b/ci.c
  2435. -index ffc7ff7..8bfae23 100644
  2436. ---- a/ci.c
  2437. -+++ b/ci.c
  2438. -@@ -25,6 +25,8 @@
  2439. - #include "skins.h"
  2440. - #include "tools.h"
  2441. -
  2442. -+#define CAID_BUFSIZE 1024
  2443. -+
  2444. - // Set these to 'true' for debug output:
  2445. - static bool DumpTPDUDataTransfer = false;
  2446. - static bool DebugProtocol = false;
  2447. -@@ -763,9 +765,12 @@ private:
  2448. -   int transponder;
  2449. -   int programNumber;
  2450. -   int caSystemIds[MAXCASYSTEMIDS + 1]; // list is zero terminated!
  2451. -+  uint8_t *caDescriptors;
  2452. -+  int caBufSize;
  2453. -   void AddCaDescriptors(int Length, const uint8_t *Data);
  2454. - public:
  2455. -   cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber, const int *CaSystemIds);
  2456. -+  ~cCiCaPmt(void);
  2457. -   uint8_t CmdId(void) { return cmdId; }
  2458. -   void SetListManagement(uint8_t ListManagement);
  2459. -   uint8_t ListManagement(void) { return capmt[0]; }
  2460. -@@ -784,8 +789,15 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
  2461. -          caSystemIds[i] = CaSystemIds[i];
  2462. -      }
  2463. -   caSystemIds[i] = 0;
  2464. --  uint8_t caDescriptors[512];
  2465. --  int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, 0);
  2466. -+  caBufSize = CAID_BUFSIZE;
  2467. -+  caDescriptors = new uint8_t[caBufSize];
  2468. -+  int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
  2469. -+  if (caDescriptorsLength < 0) {
  2470. -+     delete [] caDescriptors;
  2471. -+     caBufSize = -caDescriptorsLength + 8;
  2472. -+     caDescriptors = new uint8_t[caBufSize];
  2473. -+     caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
  2474. -+     }
  2475. -   length = 0;
  2476. -   capmt[length++] = CPLM_ONLY;
  2477. -   capmt[length++] = (ProgramNumber >> 8) & 0xFF;
  2478. -@@ -797,6 +809,11 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
  2479. -   AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2480. - }
  2481. -
  2482. -+cCiCaPmt::~cCiCaPmt(void)
  2483. -+{
  2484. -+  delete [] caDescriptors;
  2485. -+}
  2486. -+
  2487. - void cCiCaPmt::SetListManagement(uint8_t ListManagement)
  2488. - {
  2489. -   capmt[0] = ListManagement;
  2490. -@@ -805,21 +822,34 @@ void cCiCaPmt::SetListManagement(uint8_t ListManagement)
  2491. - void cCiCaPmt::AddPid(int Pid, uint8_t StreamType)
  2492. - {
  2493. -   if (Pid) {
  2494. --     uint8_t caDescriptors[512];
  2495. --     int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, Pid);
  2496. --     //XXX buffer overflow check???
  2497. --     capmt[length++] = StreamType;
  2498. --     capmt[length++] = (Pid >> 8) & 0xFF;
  2499. --     capmt[length++] =  Pid       & 0xFF;
  2500. --     esInfoLengthPos = length;
  2501. --     capmt[length++] = 0x00; // ES_info_length H (at ES level)
  2502. --     capmt[length++] = 0x00; // ES_info_length L
  2503. --     AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2504. -+     int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
  2505. -+     if (caDescriptorsLength < 0) {
  2506. -+       delete [] caDescriptors;
  2507. -+       caBufSize = -caDescriptorsLength + 8;
  2508. -+       caDescriptors = new uint8_t[caBufSize];
  2509. -+       caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
  2510. -+       }
  2511. -+     if (length + 5 < int(sizeof(capmt))) {
  2512. -+        capmt[length++] = StreamType;
  2513. -+        capmt[length++] = (Pid >> 8) & 0xFF;
  2514. -+        capmt[length++] =  Pid       & 0xFF;
  2515. -+        esInfoLengthPos = length;
  2516. -+        capmt[length++] = 0x00; // ES_info_length H (at ES level)
  2517. -+        capmt[length++] = 0x00; // ES_info_length L
  2518. -+        AddCaDescriptors(caDescriptorsLength, caDescriptors);
  2519. -+        }
  2520. -+     else
  2521. -+        esyslog("ERROR: buffer overflow in CA descriptor");
  2522. -      }
  2523. - }
  2524. -
  2525. - void cCiCaPmt::AddCaDescriptors(int Length, const uint8_t *Data)
  2526. - {
  2527. -+  if (Length < 0) {
  2528. -+     dsyslog("DEBUG: calling AddCaDescriptors with Length %d", Length);
  2529. -+     return;
  2530. -+     }
  2531. -+
  2532. -   if (esInfoLengthPos) {
  2533. -      if (length + Length < int(sizeof(capmt))) {
  2534. -         if (Length || cmdId == CPCI_QUERY) {
  2535. -diff --git a/pat.c b/pat.c
  2536. -index 98d306e..9dfbc62 100644
  2537. ---- a/pat.c
  2538. -+++ b/pat.c
  2539. -@@ -165,21 +165,25 @@ int cCaDescriptors::GetCaDescriptors(const int *CaSystemIds, int BufSize, uchar
  2540. -      return 0;
  2541. -   if (BufSize > 0 && Data) {
  2542. -      int length = 0;
  2543. -+     bool tooSmall = false;
  2544. -      for (cCaDescriptor *d = caDescriptors.First(); d; d = caDescriptors.Next(d)) {
  2545. -          if (EsPid < 0 || d->EsPid() == EsPid) {
  2546. -             const int *caids = CaSystemIds;
  2547. -             do {
  2548. -                if (*caids == 0xFFFF || d->CaSystem() == *caids) {
  2549. --                  if (length + d->Length() <= BufSize) {
  2550. -+                  if (length + d->Length() <= BufSize)
  2551. -                      memcpy(Data + length, d->Data(), d->Length());
  2552. --                     length += d->Length();
  2553. --                     }
  2554. -                   else
  2555. --                     return -1;
  2556. -+                     tooSmall = true;
  2557. -+                  length += d->Length();
  2558. -                   }
  2559. -                } while (*++caids);
  2560. -             }
  2561. -          }
  2562. -+     if (tooSmall) {
  2563. -+        dsyslog("DEBUG: buffer for ca-descriptors too small (%d, needed %d)", BufSize, length);
  2564. -+        return -length;
  2565. -+        }
  2566. -      return length;
  2567. -      }
  2568. -   return -1;
  2569. -diff --git a/pat.h b/pat.h
  2570. -index 19e60dc..8bf0738 100644
  2571. ---- a/pat.h
  2572. -+++ b/pat.h
  2573. -@@ -45,7 +45,7 @@ int GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSy
  2574. -          ///< are copied that match one of the given CA system IDs (or all of them, if CaSystemIds
  2575. -          ///< is 0xFFFF).
  2576. -          ///< Returns the number of bytes copied into Data (0 if no CA descriptors are
  2577. --         ///< available), or -1 if BufSize was too small to hold all CA descriptors.
  2578. -+         ///< available), or -(NeededBufSize) if BufSize was too small to hold all CA descriptors.
  2579. -
  2580. - int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids);
  2581. -          ///< Gets all CA pids for a given channel.
  2582. -
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement