gnu: Remove anki.

* gnu/packages/education.scm (anki): Delete variable.
* gnu/packages/patches/anki-mpv-args.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Fixes: guix/guix#2813
Change-Id: I0bb41d47cd73aca424c0f41ca777a166e6f43da7
This commit is contained in:
Andreas Enge 2026-01-05 16:56:40 +01:00
parent 61bba2ef6e
commit 18970fe4e3
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3
3 changed files with 0 additions and 151 deletions

View file

@ -993,7 +993,6 @@ dist_patch_DATA = \
%D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.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

@ -603,114 +603,6 @@ about drilling time and correctness ratio is displayed. The results are
stored and user can review his performance in any time.")
(license license:gpl2+))))
(define-public anki
(package
(name "anki")
;; Later versions have dependencies on npm packages not yet in Guix.
(version "2.1.16")
(source
(origin
(method url-fetch)
(uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-"
version "-source.tgz"))
(sha256
(base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))
(modules '((guix build utils)))
;; Fix preferences error: <https://issues.guix.gnu.org/65506>.
(snippet '(substitute* "aqt/preferences.py"
(("qc\\['collapseTime']/60\\.0" x)
(format #f "int(~a)" x))
(("qc\\['timeLim']/60\\.0" x)
(format #f "int(~a)" x))))
(patches (search-patches "anki-mpv-args.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ;no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-update-check
;; Don't phone home unasked to check for updates.
(lambda _
(substitute* "aqt/update.py"
(("requests\\.post")
"throw.an.exception.instead"))
#t))
(delete 'configure) ;no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
;; List of paths to the site-packages directories of Python
;; library inputs.
(site-packages
(map (lambda (pyinput)
(string-append
(cdr pyinput)
"/lib/python"
;; Calculate the python version to avoid breaking
;; with future 3.X releases.
,(version-major+minor
(package-version python-wrapper))
"/site-packages"))
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
inputs))))
;; PYTHONPATH is wrapped to avoid declaring Python libraries as
;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
`("GUIX_PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
(list xdg-utils))
(inputs
`(("lame" ,lame)
("mpv" ,mpv)
("python" ,python-wrapper)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-decorator" ,python-decorator)
("python-distro" ,python-distro)
("python-jsonschema" ,python-jsonschema)
("python-markdown" ,python-markdown)
("python-pyaudio" ,python-pyaudio)
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-pyqt" ,python-pyqt)
("python-requests" ,python-requests)
("python-send2trash" ,python-send2trash)
("python-sip" ,python-sip)
;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy
;; wrapping.
("qtwebengine-5" ,qtwebengine-5)))
(home-page "https://apps.ankiweb.net/")
(synopsis "Powerful, intelligent flash cards")
(description "Anki is a program which makes remembering things
easy. Because it's a lot more efficient than traditional study
methods, you can either greatly decrease your time spent studying, or
greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit
from Anki. Since it is content-agnostic and supports images, audio,
videos and scientific markup (via LaTeX), the possibilities are
endless. For example:
@itemize
@item Learning a language
@item Studying for medical and law exams
@item Memorizing people's names and faces
@item Brushing up on geography
@item Mastering long poems
@item Even practicing guitar chords!
@end itemize")
(license license:agpl3+)))
(define-public t4k-common
(package
(name "t4k-common")

View file

@ -1,42 +0,0 @@
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