From f954c9ac32338d04b0d9f944c1017c2ee55d62ba Mon Sep 17 00:00:00 2001 From: Luis Felipe Date: Thu, 15 Sep 2022 19:42:59 -0500 Subject: [PATCH] gnu: Add mazo. * gnu/packages/education.scm (mazo): New variable. --- gnu/packages/education.scm | 75 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 980088a670..a2607087e5 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Prafulla Giri ;;; Copyright © 2021 Nicolò Balzarotti +;;; Copyright © 2022 Luis Felipe López Acevedo ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ (define-module (gnu packages education) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages django) #:use-module (gnu packages flex) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) @@ -45,6 +47,7 @@ (define-module (gnu packages education) #:use-module (gnu packages gnome) #:use-module (gnu packages golang) #:use-module (gnu packages gtk) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages kde) @@ -1075,3 +1078,75 @@ (define-public exercism (description "Commandline client for exercism.io, a free service providing mentored learning for programming languages.") (license license:expat))) + +(define-public mazo + (package + (name "mazo") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/luis-felipe/mazo.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06246380i5rxycniwg5syn0aldd2zy10cbqk1lgyc0qfqb2lyrwj")))) + (build-system python-build-system) + (arguments + `(#:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (let* ((out (assoc-ref outputs "out")) + (home (string-append out "/tmp"))) + (add-installed-pythonpath inputs outputs) + (setenv "HOME" home) + (invoke "python3" "manage.py" "test"))))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (script (string-append bin "/mazo")) + (share (string-append out "/share")) + (help (string-append share "/help/C/mazo")) + (icons (string-append + share + "/icons/hicolor/scalable/apps")) + (apps (string-append share "/applications")) + (site (string-append + (site-packages inputs outputs) + "/mazo"))) + (mkdir-p help) + (mkdir-p bin) + (copy-file "mazo.py" script) + (chmod script #o555) + (install-file "icons/mazo.svg" icons) + (install-file "lugare.ulkeva.Mazo.desktop" apps) + (copy-recursively "help/C/mazo" help) + (copy-recursively "mazo" site))))))) + (native-inputs + (list python-django + python-django-cleanup + python-django-svg-image-form-field + python-pillow + python-pycairo)) + (propagated-inputs + (list gstreamer + gtk+ + python + python-django + python-django-cleanup + python-django-svg-image-form-field + python-pillow + python-pycairo + python-pygobject + yelp)) + (home-page "https://luis-felipe.gitlab.io/mazo/") + (synopsis "Memorize concepts using multimedia flash cards") + (description "Mazo is a learning application that helps you memorize +simple concepts using multimedia flash cards and spaced reviews.") + (license license:public-domain))) -- 2.37.2