old version of anki to build off of for 24.06.3
This commit is contained in:
parent
dc80860371
commit
7778cdf968
1 changed files with 130 additions and 0 deletions
130
artoria/packages/education.scm
Normal file
130
artoria/packages/education.scm
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
(define-module (artoria packages education)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system python)
|
||||||
|
#:use-module (guix build-system qt)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (gnu packages qt)
|
||||||
|
#:use-module (guix utils)
|
||||||
|
#:use-module (gnu packages audio)
|
||||||
|
#:use-module (gnu packages video)
|
||||||
|
#:use-module (gnu packages mp3) ; lame
|
||||||
|
#:use-module (gnu packages freedesktop) ; xdg-utils
|
||||||
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-web)
|
||||||
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:))
|
||||||
|
(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)))
|
||||||
|
(qtwebengineprocess
|
||||||
|
(search-input-file inputs
|
||||||
|
"lib/qt5/libexec/QtWebEngineProcess")))
|
||||||
|
;; The program fails to find the QtWebEngineProcess program, so
|
||||||
|
;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
|
||||||
|
;; wrapped to avoid declaring Python libraries as propagated
|
||||||
|
;; inputs.
|
||||||
|
(for-each (lambda (program)
|
||||||
|
(wrap-program program
|
||||||
|
`("QTWEBENGINEPROCESS_PATH" =
|
||||||
|
(,qtwebengineprocess))
|
||||||
|
`("PATH" prefix (,(string-append
|
||||||
|
(assoc-ref inputs "mpv")
|
||||||
|
"/bin")))
|
||||||
|
`("GUIX_PYTHONPATH" = ,site-packages)))
|
||||||
|
(find-files bin ".")))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
(list xdg-utils))
|
||||||
|
(inputs
|
||||||
|
(list lame
|
||||||
|
mpv
|
||||||
|
python-wrapper
|
||||||
|
python-beautifulsoup4
|
||||||
|
python-decorator
|
||||||
|
python-distro
|
||||||
|
python-jsonschema
|
||||||
|
python-markdown
|
||||||
|
python-pyaudio
|
||||||
|
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
|
||||||
|
python-pyqtwebengine
|
||||||
|
python-pyqt
|
||||||
|
python-requests
|
||||||
|
python-send2trash
|
||||||
|
python-sip
|
||||||
|
;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy
|
||||||
|
;; wrapping.
|
||||||
|
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+)))
|
Loading…
Reference in a new issue