all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Robert Smith <robertsmith@posteo.net>
To: kuba@kadziolka.net
Cc: 39814@debbugs.gnu.org, Robert Smith <robertsmith@posteo.net>
Subject: [bug#39814] [PATCH v2] gnu: anki: Fix mpv audio playback
Date: Fri,  6 Mar 2020 17:00:19 +0100	[thread overview]
Message-ID: <20200306160019.13440-1-robertsmith@posteo.net> (raw)
In-Reply-To: <20200227200909.16365-1-robertsmith@posteo.net>

* 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.
---
Thanks for the feedback Jakub, I've rewritten the patch based on the
upstream commit and modified the commit message.
---
 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 857345cfad..bd4796d41d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -716,6 +716,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 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..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
+
-- 
2.25.1

  parent reply	other threads:[~2020-03-06 16:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-27 20:09 [bug#39814] [PATCH] gnu: anki: Fix mpv audio playback Robert Smith
2020-03-01 21:20 ` Jakub Kądziołka
2020-03-06 16:00 ` Robert Smith [this message]
2020-03-07 16:30   ` bug#39814: [PATCH v2] " Jakub Kądziołka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200306160019.13440-1-robertsmith@posteo.net \
    --to=robertsmith@posteo.net \
    --cc=39814@debbugs.gnu.org \
    --cc=kuba@kadziolka.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.