diff mbox series

[bug#39814] gnu: anki: Fix mpv audio playback

Message ID 20200227200909.16365-1-robertsmith@posteo.net
State Accepted
Headers show
Series [bug#39814] gnu: anki: Fix mpv audio playback | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Robert Smith Feb. 27, 2020, 8:09 p.m. UTC
* gnu/packages/patches/anki-mpv-args.patch: New file.
* gnu/packages/education.scm (anki): Adjust accordingly.
---
mpv now requires that the input-ipc-server argument be passed with an
equals sign and without any spaces.  This is a slightly out-of-date
version of anki, so presumably mpv used to be more lenient with
command line arguments.  mpv was also added to the PATH using
wrap-program to to ensure anki can find it at runtime.
---
 gnu/packages/education.scm               |  6 ++++-
 gnu/packages/patches/anki-mpv-args.patch | 30 ++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/anki-mpv-args.patch

Comments

Maja Kądziołka March 1, 2020, 9:20 p.m. UTC | #1
On Thu, Feb 27, 2020 at 09:09:09PM +0100, Robert Smith wrote:
> * gnu/packages/patches/anki-mpv-args.patch: New file.
> * gnu/packages/education.scm (anki): Adjust accordingly.
Please add the new file to gnu/local.mk

> @@ -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)))))
Please mention this in the commit message.

> diff --git a/gnu/packages/patches/anki-mpv-args.patch b/gnu/packages/patches/anki-mpv-args.patch
> new file mode 100644
> index 0000000000..a66632c0e0
> --- /dev/null
> +++ b/gnu/packages/patches/anki-mpv-args.patch
> @@ -0,0 +1,30 @@
> +From 0e2c723f2b920f96937725a12e3db13c14795117 Mon Sep 17 00:00:00 2001
> +From: Robert Smith <robertsmith@posteo.net>
> +Date: Thu, 27 Feb 2020 20:07:08 +0100
> +Subject: [PATCH] Fix mpv argument formatting
> +
> +---
> +mpv now requires that the input-ipc-server argument be passed with an
> +equals sign and without any spaces.  This is a slightly out-of-date
> +version of anki, so presumably mpv used to be more lenient with
> +command line arguments.
> +---
> + anki/mpv.py | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
I don't know how I feel about this header for the patch.

> +--- a/anki/mpv.py
> ++++ b/anki/mpv.py
> +@@ -104,7 +104,7 @@ 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)]
It seems that this is not the only place that should be modified,
considering the upstream commit that fixes the same issue:
https://github.com/ankitects/anki/commit/ccd715013609133c55e83924734efa78abc03326
diff mbox series

Patch

diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 20fc9a3706..d8427f6eab 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..a66632c0e0
--- /dev/null
+++ b/gnu/packages/patches/anki-mpv-args.patch
@@ -0,0 +1,30 @@ 
+From 0e2c723f2b920f96937725a12e3db13c14795117 Mon Sep 17 00:00:00 2001
+From: Robert Smith <robertsmith@posteo.net>
+Date: Thu, 27 Feb 2020 20:07:08 +0100
+Subject: [PATCH] Fix mpv argument formatting
+
+---
+mpv now requires that the input-ipc-server argument be passed with an
+equals sign and without any spaces.  This is a slightly out-of-date
+version of anki, so presumably mpv used to be more lenient with
+command line arguments.
+---
+ anki/mpv.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/anki/mpv.py b/anki/mpv.py
+index f53d9d0..c6e7dd7 100644
+--- a/anki/mpv.py
++++ b/anki/mpv.py
+@@ -104,7 +104,7 @@ 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)]
+ 
+-- 
+2.25.0
+