media-plugins/vdr-epgsync: compile fix for media-video/vdr-2.4
authorJoerg Bornkessel <hd_brummy@gentoo.org>
Wed, 25 Dec 2019 23:29:24 +0000 (00:29 +0100)
committerJoerg Bornkessel <hd_brummy@gentoo.org>
Wed, 25 Dec 2019 23:30:26 +0000 (00:30 +0100)
need >=media-video/vdr-2.4
moved to eapi 7

Package-Manager: Portage-2.3.83, Repoman-2.3.18
Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org>
media-plugins/vdr-epgsync/files/vdr-epgsync-1.0.1_vdr-2.4.patch [new file with mode: 0644]
media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild [new file with mode: 0644]
media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild

diff --git a/media-plugins/vdr-epgsync/files/vdr-epgsync-1.0.1_vdr-2.4.patch b/media-plugins/vdr-epgsync/files/vdr-epgsync-1.0.1_vdr-2.4.patch
new file mode 100644 (file)
index 0000000..9b3df40
--- /dev/null
@@ -0,0 +1,56 @@
+compilefix for media-video/vdr-2.4.1
+Suggested-by: MatthiasK @ vdr-portal.de
+
+Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> ( 27 Dec 2019 )
+diff -Naur epgsync-1.0.1.orig/thread.c epgsync-1.0.1/thread.c
+--- epgsync-1.0.1.orig/thread.c        2019-12-26 00:12:49.124492713 +0100
++++ epgsync-1.0.1/thread.c     2019-12-26 00:17:55.129492713 +0100
+@@ -42,9 +42,10 @@
+       }
+ }
+-cChannel *GetChannelByName(const char* Name, const cChannel *IgnoreChannel = NULL, eChannelTypes Type = ctAll)
++const cChannel *GetChannelByName(const char* Name, const cChannel *IgnoreChannel = NULL, eChannelTypes Type = ctAll)
+ {
+-      for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) {
++      LOCK_CHANNELS_READ;
++      for (const cChannel *channel = Channels->First(); channel; channel = Channels->Next(channel)) {
+               if (strcasecmp(Name, channel->Name()) == 0 || strcasecmp(Name, channel->ShortName()) == 0) {
+                       if (IsType(channel, Type) && channel != IgnoreChannel)
+                               return channel;
+@@ -95,20 +96,17 @@
+               if (EpgSyncSetup.redirectChannels == rcmId) {
+                       // Direct import, no mapping:
+                       // loop through local channels, get channels by ID
+-                      cSchedulesLock *lock = NULL;
+-                      for (cChannel *channel = Channels.First(); channel && Running();
+-                                      channel = Channels.Next(channel)) {
+-                              if (!lock)
+-                                      lock = new cSchedulesLock();
+-                              if (cSchedules::Schedules(*lock)->GetSchedule(channel)) {
+-                                      DELETENULL(lock);
++                      LOCK_CHANNELS_READ;
++                      for (const cChannel *channel = Channels->First(); channel && Running();
++                                      channel = Channels->Next(channel)) {
++                      LOCK_SCHEDULES_READ;
++                              if (Schedules->GetSchedule(channel)) {
+                                       if (CmdLSTE(f, *channel->GetChannelID().ToString())) {
+                                               AddSchedule(f);
+                                       }
+                                       cCondWait::SleepMs(EPGSYNC_SLEEPMS);
+                               }
+                       }
+-                      DELETENULL(lock);
+               }
+               else {
+                       // Map channels by name:
+@@ -182,7 +180,8 @@
+                       targetChannel = NULL;
+                       const char* p = skipspace(s + 1);
+-                      cChannel *c = Channels.GetByChannelID(tChannelID::FromString(p));
++                      LOCK_CHANNELS_READ;
++                      const cChannel *c = Channels->GetByChannelID(tChannelID::FromString(p));
+                       bool cOk = IsType(c, (eChannelTypes) EpgSyncSetup.channelTypes);
+                       if (cOk && EpgSyncSetup.redirectChannels != rcmNameId) {
diff --git a/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild
new file mode 100644 (file)
index 0000000..12631b5
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit vdr-plugin-2
+
+DESCRIPTION="VDR Plugin: Import the EPG of another VDR via vdr-svdrpservice"
+HOMEPAGE="http://vdr.schmirler.de/"
+SRC_URI="http://vdr.schmirler.de/epgsync/${P}.tgz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~x86"
+
+DEPEND=">=media-video/vdr-2.4"
+
+PATCHES=( "${FILESDIR}/${P}_vdr-2.4.patch" )
index 1adc760716957964b991da4751d0f79e3c584cdc..f473895f04ab757e83511b2d37ee821471a869f7 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=7
 
 inherit vdr-plugin-2