From: Joerg Bornkessel Date: Wed, 25 Dec 2019 23:29:24 +0000 (+0100) Subject: media-plugins/vdr-epgsync: compile fix for media-video/vdr-2.4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8d4668bf7b71f04fa5022e097435e8c7df51ac0b;p=gentoo.git 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 --- 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 000000000000..9b3df4097fd4 --- /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 ( 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 index 000000000000..12631b5c4ecd --- /dev/null +++ b/media-plugins/vdr-epgsync/vdr-epgsync-1.0.1-r1.ebuild @@ -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" ) 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 1adc76071695..f473895f04ab 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