From 880a316591650a06c18aeaef1703800784d2c196 Mon Sep 17 00:00:00 2001 From: Robert Smith Date: Fri, 6 Mar 2020 17:00:19 +0100 Subject: gnu: anki: Fix mpv audio playback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/anki-mpv-args.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/education.scm (anki): Adjust accordingly, wrap anki's PATH to include mpv executable. Signed-off-by: Jakub Kądziołka --- gnu/local.mk | 1 + gnu/packages/education.scm | 6 ++++- gnu/packages/patches/anki-mpv-args.patch | 42 ++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/anki-mpv-args.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7dd65ac001..a88a0102f6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -718,6 +718,7 @@ dist_patch_DATA = \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/amule-crypto-6.patch \ + %D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index b2501f2c7b..7c84d832c0 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -738,7 +738,8 @@ adjust the level of difficulty.") (uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-" version "-source.tgz")) (sha256 - (base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k")))) + (base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k")) + (patches (search-patches "anki-mpv-args.patch")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "PREFIX=" %output)) @@ -779,6 +780,9 @@ adjust the level of difficulty.") (wrap-program program `("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess)) + `("PATH" prefix (,(string-append + (assoc-ref inputs "mpv") + "/bin"))) `("PYTHONPATH" = ,site-packages))) (find-files bin "."))) #t))))) diff --git a/gnu/packages/patches/anki-mpv-args.patch b/gnu/packages/patches/anki-mpv-args.patch new file mode 100644 index 0000000000..21b9bd0aba --- /dev/null +++ b/gnu/packages/patches/anki-mpv-args.patch @@ -0,0 +1,42 @@ +Modified from upstream commit: +https://github.com/ankitects/anki/commit/ccd715013609133c55e83924734efa78abc03326 +Fixes mpv argument syntax (support for old syntax removed in mpv 0.31): +https://anki.tenderapp.com/discussions/ankidesktop/38186-mpvprocesserror-unable-to-start-process +Necessary because we are currently unable to upgrade anki to the +latest version in guix (NPM dependencies currently unpackaged). +--- + anki/mpv.py | 4 ++-- + anki/sound.py | 1 - + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/anki/mpv.py b/anki/mpv.py +index f53d9d0..563fddc 100644 +--- a/anki/mpv.py ++++ b/anki/mpv.py +@@ -104,9 +104,9 @@ class MPVBase: + """ + self.argv = [self.executable] + self.argv += self.default_argv +- self.argv += ["--input-ipc-server", self._sock_filename] ++ self.argv += ["--input-ipc-server="+self._sock_filename] + if self.window_id is not None: +- self.argv += ["--wid", str(self.window_id)] ++ self.argv += ["--wid="+str(self.window_id)] + + def _start_process(self): + """Start the mpv process. +diff --git a/anki/sound.py b/anki/sound.py +index aa3431b..a5fce44 100644 +--- a/anki/sound.py ++++ b/anki/sound.py +@@ -124,7 +124,6 @@ class MpvManager(MPV): + def setMpvConfigBase(base): + mpvConfPath = os.path.join(base, "mpv.conf") + MpvManager.default_argv += [ +- "--no-config", + "--include="+mpvConfPath, + ] + +-- +2.25.1 + -- cgit v1.2.3