gnu: anki: Fix mpv audio playback

* 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 <kuba@kadziolka.net>
This commit is contained in:
Robert Smith 2020-03-06 17:00:19 +01:00 committed by Jakub Kądziołka
parent 262d6ed465
commit 880a316591
No known key found for this signature in database
GPG key ID: E315A75846131564
3 changed files with 48 additions and 1 deletions

View file

@ -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 \

View file

@ -738,7 +738,8 @@ (define-public anki
(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 @@ (define-public anki
(wrap-program program
`("QTWEBENGINEPROCESS_PATH" =
(,qtwebengineprocess))
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
`("PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))

View file

@ -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