commit: 93ca9d5a05871b5aea01f8db24350d829a6d0011 Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net> AuthorDate: Sat Sep 27 14:13:02 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Oct 3 00:42:31 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93ca9d5a
media-plugins/vdr-extrecmenu: fix usage of cControl::Control() introduce subslot dependency on media-video/vdr Closes: https://bugs.gentoo.org/963482 Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net> Part-of: https://github.com/gentoo/gentoo/pull/43960 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/vdr-extrecmenu-2.0.12_cControl.patch | 33 +++++++++++++++++++ .../vdr-extrecmenu/vdr-extrecmenu-2.0.12-r1.ebuild | 37 ++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/media-plugins/vdr-extrecmenu/files/vdr-extrecmenu-2.0.12_cControl.patch b/media-plugins/vdr-extrecmenu/files/vdr-extrecmenu-2.0.12_cControl.patch new file mode 100644 index 000000000000..4ed99d46f699 --- /dev/null +++ b/media-plugins/vdr-extrecmenu/files/vdr-extrecmenu-2.0.12_cControl.patch @@ -0,0 +1,33 @@ +diff '--color=auto' -Naur extrecmenung-v2.0.12.orig/mymenu.c extrecmenung-v2.0.12/mymenu.c +--- extrecmenung-v2.0.12.orig/mymenu.c 2024-03-16 12:06:32.000000000 +0100 ++++ extrecmenung-v2.0.12/mymenu.c 2025-09-27 16:08:59.981088185 +0200 +@@ -1642,7 +1642,8 @@ + + Display(); // this keeps the higher level menus from showing up briefly when pressing 'Back' during replay + +- if (wasdvd && !cControl::Control()) { ++ cMutexLock MutexLock; ++ if (wasdvd && !cControl::Control(MutexLock)) { + char *cmd = NULL; + if (-1 != asprintf(&cmd, "dvdarchive.sh umount \"%s\"", *strescape(myReplayControl::LastReplayed(), "'\\\"$"))) { + isyslog("[extrecmenu] calling %s to unmount dvd", cmd); +@@ -1658,7 +1659,8 @@ + + wasdvd = false; + } +- if (washdd &&! cControl::Control()) { ++ cMutexLock MutexLock2; ++ if (washdd &&! cControl::Control(MutexLock2)) { + char *cmd=NULL; + if (-1 != asprintf(&cmd, "hddarchive.sh umount \"%s\"", *strescape(myReplayControl::LastReplayed(), "'\\\"$"))) { + isyslog("[extrecmenu] calling %s to unmount Archive-HDD", cmd); +@@ -1982,7 +1984,8 @@ + } + else if (CurrentRecording && strcmp(CurrentRecording, Recording->FileName()) == 0) { + SetCurrent(LastDir ? LastDir : LastItem); +- if (Item && !Item->IsDirectory() && (Item->IsDVD() || Item->IsHDD()) && !cControl::Control()) ++ cMutexLock MutexLock; ++ if (Item && !Item->IsDirectory() && (Item->IsDVD() || Item->IsHDD()) && !cControl::Control(MutexLock)) + cReplayControl::ClearLastReplayed(cReplayControl::LastReplayed()); + } + } diff --git a/media-plugins/vdr-extrecmenu/vdr-extrecmenu-2.0.12-r1.ebuild b/media-plugins/vdr-extrecmenu/vdr-extrecmenu-2.0.12-r1.ebuild new file mode 100644 index 000000000000..06593cf95b08 --- /dev/null +++ b/media-plugins/vdr-extrecmenu/vdr-extrecmenu-2.0.12-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit vdr-plugin-2 + +DESCRIPTION="VDR Plugin: Extended recordings menu (NG)" +HOMEPAGE="https://gitlab.com/kamel5/extrecmenung" +SRC_URI="https://gitlab.com/kamel5/extrecmenung/-/archive/v${PV}/extrecmenung-v${PV}.tar.bz2 -> ${P}.tbz2" +S="${WORKDIR}/extrecmenung-v${PV}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +DEPEND="media-video/vdr:=" +RDEPEND="${DEPEND} + media-fonts/vdrsymbols-ttf" + +PATCHES=( "${FILESDIR}/${P}_cControl.patch" ) + +src_prepare() { + rm "${S}"/po/{ca_ES,da_DK,el_GR,et_EE,hr_HR,hu_HU,nl_NL,nn_NO,pl_PL,pt_PT,ro_RO,ru_RU,sl_SI,sv_SE,tr_TR}.po || die + + vdr-plugin-2_src_prepare +} + +src_install() { + vdr-plugin-2_src_install + + cd "${S}/scripts" + dobin dvdarchive.sh hddarchive.sh + + insinto /etc/vdr + doins "${FILESDIR}"/dvdarchive.conf +}
