commit:     8d4668bf7b71f04fa5022e097435e8c7df51ac0b
Author:     Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 25 23:29:24 2019 +0000
Commit:     Jörg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Wed Dec 25 23:30:26 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d4668bf

media-plugins/vdr-epgsync: compile fix for media-video/vdr-2.4

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 <AT> gentoo.org>

 .../files/vdr-epgsync-1.0.1_vdr-2.4.patch          | 56 ++++++++++++++++++++++
 ...nc-1.0.1.ebuild => vdr-epgsync-1.0.1-r1.ebuild} | 12 ++---
 media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild |  4 +-
 3 files changed, 64 insertions(+), 8 deletions(-)

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
index 00000000000..9b3df4097fd
--- /dev/null
+++ b/media-plugins/vdr-epgsync/files/vdr-epgsync-1.0.1_vdr-2.4.patch
@@ -0,0 +1,56 @@
+compilefix for media-video/vdr-2.4.1
+Suggested-by: MatthiasK @ vdr-portal.de
+
+Signed-off-by: Joerg Bornkessel <hd_bru...@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.ebuild 
b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild
similarity index 65%
copy from media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild
copy to media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild
index 1adc7607169..12631b5c4ec 100644
--- a/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild
+++ b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild
@@ -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
 
@@ -11,8 +11,8 @@ SRC_URI="http://vdr.schmirler.de/epgsync/${P}.tgz";
 
 SLOT="0"
 LICENSE="GPL-2"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
+KEYWORDS="~amd64 ~arm ~x86"
 
-DEPEND=">=media-video/vdr-2.0.0"
-RDEPEND="${DEPEND}"
+DEPEND=">=media-video/vdr-2.4"
+
+PATCHES=( "${FILESDIR}/${P}_vdr-2.4.patch" )

diff --git a/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild 
b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild
index 1adc7607169..f473895f04a 100644
--- a/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild
+++ b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1.ebuild
@@ -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
 

Reply via email to