summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-09-20 02:06:54 +0100
committerSam James <sam@gentoo.org>2024-09-20 02:07:34 +0100
commit25883d8cf7426772b76441b8087c1ed8f821ef3e (patch)
treebe443acc56a6161fcf8e3e5b5386291563f20f69
parentmedia-video/smplayer: add 24.5.0 (diff)
downloadgentoo-25883d8cf7426772b76441b8087c1ed8f821ef3e.tar.gz
gentoo-25883d8cf7426772b76441b8087c1ed8f821ef3e.tar.bz2
gentoo-25883d8cf7426772b76441b8087c1ed8f821ef3e.zip
media-video/smplayer: fix resume w/ mpv-0.37.0
Closes: https://bugs.gentoo.org/919917 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch15
-rw-r--r--media-video/smplayer/smplayer-23.6.0-r1.ebuild126
2 files changed, 141 insertions, 0 deletions
diff --git a/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch b/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch
new file mode 100644
index 000000000000..d2ff738e76d8
--- /dev/null
+++ b/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/919917#c2
+https://github.com/smplayer-dev/smplayer/issues/837
+--- a/src/mpvoptions.cpp
++++ b/src/mpvoptions.cpp
+@@ -848,6 +848,10 @@ void MPVProcess::mute(bool b) {
+
+ void MPVProcess::setPause(bool b) {
+ sendCommand(QString("set pause %1").arg(b ? "yes" : "no"));
++
++ // Workaround for mpv 0.37, playback not resuming after pause
++ // It seems mpv reports the pause state in the status line with some delay
++ if (b) sendCommand("no-osd seek 0 relative exact");
+ }
+
+ void MPVProcess::frameStep() {
diff --git a/media-video/smplayer/smplayer-23.6.0-r1.ebuild b/media-video/smplayer/smplayer-23.6.0-r1.ebuild
new file mode 100644
index 000000000000..ad67691a7c59
--- /dev/null
+++ b/media-video/smplayer/smplayer-23.6.0-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2007-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
+he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
+sk sl_SI sq_AL sr sv th tr uk_UA uz vi_VN zh_CN zh_TW"
+PLOCALE_BACKUP="en_US"
+
+inherit plocale qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
+HOMEPAGE="https://www.smplayer.info/"
+SRC_URI="https://github.com/smplayer-dev/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+ BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="bidi debug"
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5=
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsingleapplication[X,qt5(+)]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ sys-libs/zlib
+ x11-libs/libX11
+"
+RDEPEND="${DEPEND}
+ || (
+ media-video/mpv[libass(+),X]
+ media-video/mplayer[bidi?,libass,png,X]
+ )
+"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-14.9.0.6966-unbundle-qtsingleapplication.patch" # bug 487544
+ "${FILESDIR}/${PN}-17.1.0-advertisement_crap.patch"
+ "${FILESDIR}/${PN}-18.2.0-jobserver.patch"
+ "${FILESDIR}/${PN}-18.3.0-disable-werror.patch"
+ "${FILESDIR}/${P}-mpv-0.37-resume.patch"
+)
+
+src_prepare() {
+ use bidi || PATCHES+=( "${FILESDIR}"/${PN}-16.4.0-zero-bidi.patch )
+
+ default
+
+ # Upstream Makefile sucks
+ sed -i -e "/^PREFIX=/ s:/usr/local:${EPREFIX}/usr:" \
+ -e "/^DOC_PATH=/ s:packages/smplayer:${PF}:" \
+ -e '/\.\/get_svn_revision\.sh/,+2c\
+ cd src && $(DEFS) $(MAKE)' \
+ Makefile || die
+
+ # Turn off online update checker, bug #479902
+ sed -e 's:DEFINES += UPDATE_CHECKER:#&:' \
+ -e 's:DEFINES += CHECK_UPGRADED:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn off intrusive share widget
+ sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn debug message flooding off
+ if ! use debug ; then
+ sed -e 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' \
+ -i src/smplayer.pro || die
+ fi
+
+ # Commented out because it gives false positives
+ #plocale_find_changes "${S}"/src/translations ${PN}_ .ts
+
+ # Do not default compress man page
+ sed '/gzip -9.*\.1$/d' -i Makefile || die
+ sed 's@\.gz$@@' -i smplayer.spec || die
+}
+
+src_configure() {
+ cd src || die
+ eqmake5 QT_MAJOR_VERSION=5
+}
+
+gen_translation() {
+ local mydir="$(qt5_get_bindir)"
+
+ ebegin "Generating $1 translation"
+ "${mydir}"/lrelease ${PN}_${1}.ts
+ eend $? || die "failed to generate $1 translation"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ cd src/translations || die
+ plocale_for_each_locale gen_translation
+}
+
+src_install() {
+ # remove unneeded copies of the GPL
+ rm Copying* docs/*/gpl.html || die
+ # don't install empty dirs
+ rmdir --ignore-fail-on-non-empty docs/* || die
+
+ default
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "If you want URL support with media-video/mpv, please install"
+ elog "net-misc/yt-dlp."
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}