From 3450bb81e212187a2c65d7e884668d4fc805ef09 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 28 Dec 2019 00:28:15 +0100 Subject: gnu: Add omnitux. * gnu/packages/education.scm (omnitux): New variable. --- gnu/packages/education.scm | 102 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index ecb8678b02..7d785233e1 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -485,6 +485,108 @@ letters of the alphabet, spelling, eye-hand coordination, etc.") (home-page "http://www.schoolsplay.org") (license license:gpl3+))) +(define-public omnitux + (package + (name "omnitux") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/omnitux/omnitux/" + "v" version "/omnitux-" version ".tar.bz2")) + (sha256 + (base32 "1wmmmbzmxd0blhn00d4g91xwavnab143a31ca3i8hrqgzh6qz9w6")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove pre-compiled .pyc files from source. + (for-each delete-file (find-files "bin" "\\.pyc$")) + #t)))) + (build-system python-build-system) + (inputs + `(("python2-pygame" ,python2-pygame) + ("python2-pygtk" ,python2-pygtk))) + (arguments + `(#:tests? #f ;no test + #:python ,python-2 + #:phases + (modify-phases %standard-phases + (delete 'build) ;no setup.py + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (data (string-append share "/omnitux"))) + ;; Install documentation. + (let ((doc (string-append share "/doc/" ,name "-" ,version))) + (for-each (lambda (f) (install-file f doc)) + '("LICENSE.txt" "README.txt"))) + ;; Install data. + (install-file "omnitux.sh" data) + (for-each (lambda (d) + (copy-recursively d (string-append data "/" d))) + '("bin" "data")) + ;; Install the launcher. + (let* ((bin (string-append out "/bin")) + (script (string-append bin "/omnitux")) + (bash (string-append (assoc-ref %build-inputs "bash") + "/bin/bash")) + (python (string-append (assoc-ref %build-inputs "python") + "/bin/python2"))) + (mkdir-p bin) + (with-output-to-file script + (lambda () + (format #t "#!~a~%" bash) + (format #t + "cd ~a; ~a menu.py~%" + (string-append data "/bin") + python))) + (chmod script #o755)) + ;; Install icon and desktop file. + (let ((pixmaps (string-append share "/pixmaps"))) + (install-file "data/default/icons/Omnitux_logo.svg" pixmaps)) + (let ((apps (string-append out "/share/applications"))) + (mkdir-p apps) + (with-output-to-file (string-append apps "/omnitux.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=Omnitux~@ + GenericName=Omnitux + Comment=An educational game based on multimedia elements.~@ + Comment[fr]=Un jeu ludo-éducatif basé sur des éléments multimédias.~@ + Exec=~a/bin/omnitux~@ + Type=Application~@ + Categories=Game;Education;~@ + Terminal=false~@ + Icon=Omnitux_logo.svg~@" + out)))) + #t)))))) + (home-page "http://omnitux.sourceforge.net/") + (synopsis "Educational activities based on multimedia elements") + (description "The project aims to provide various educational +activities around multimedia elements (images, sounds, texts). Types +of activities include: +@itemize +@item associations, +@item items to place on a map or a schema, +@item counting activities, +@item puzzles, +@item card faces to remember, +@item find differences between two pictures, +@item ... +@end itemize + +Activities are available in English, French, German, Polish, +Portuguese, Spanish and Italian.") + ;; Project's license is GPL3+, but multimedia elements are + ;; released under various licenses. + (license (list license:gpl3+ + license:gpl2+ + license:cc-by-sa2.0 + license:cc-by-sa3.0 + license:public-domain)))) + (define-public fet (package (name "fet") -- cgit v1.2.3 From f4167bdad7a98fd1248b8fff4d18c56d91427514 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 28 Jan 2020 10:34:24 +0100 Subject: gnu: education.scm: Update copyright line. --- gnu/packages/education.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 7d785233e1..4f8d7582c7 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2018, 2019 Nicolas Goaziou +;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; -- cgit v1.2.3 From 3e4cf41ba7badb9057c8c27bde68bee08cd1425e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 1 Feb 2020 16:00:34 +0100 Subject: gnu: fet: Update to 5.42.3. * gnu/packages/education.scm (fet): Update to 5.42.3. --- gnu/packages/education.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 4f8d7582c7..1470233c2a 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -590,14 +590,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.42.1") - (source (origin - (method url-fetch) - (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" - "fet-" version ".tar.bz2")) - (sha256 - (base32 - "1dzlbhp42dxdxbcrjwrjl4kj65cibxgjqc3ir1w78yprikihdxca")))) + (version "5.42.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" + "fet-" version ".tar.bz2")) + (sha256 + (base32 "0z31i8kwd59c3hlq35qll61qhc3x63w330ss92glhp12iy0aja1y")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From 62ecae83672b185007514c7794c13477271fb256 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 1 Feb 2020 17:07:47 +0100 Subject: gnu: snap: Update to 5.4.5. * gnu/packages/education.scm (snap): Update to 5.4.5. --- gnu/packages/education.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 1470233c2a..1c326809cf 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -254,7 +254,7 @@ easy.") (define-public snap (package (name "snap") - (version "5.4.0") + (version "5.4.5") (source (origin (method git-fetch) @@ -263,8 +263,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "05m3x8yc9a7x9hfkrz2bm3yqkc63cdb8v3yznkjqq04sfx5dfd04")))) + (base32 "1z6dbcsgvxxs40p23qysfsk4vzpg8jlrr5pqfnjf8q3kpz1xvzxf")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) -- cgit v1.2.3 From 34208bf51c465e06598de356f0a2f9d256dcfae1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 3 Jan 2020 17:24:22 +0100 Subject: gnu: Add t4k-common. * gnu/packages/education.scm (t4k-common): New variable. --- gnu/packages/education.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 1c326809cf..5cb836fc50 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules @@ -713,3 +714,49 @@ each key. A collection of lessons are included for a wide range of different languages and keyboard layouts, and typing statistics are used to dynamically adjust the level of difficulty.") (license license:gpl2))) + +(define-public t4k-common + (package + (name "t4k-common") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tux4kids/t4kcommon") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp")) + (patches + (search-patches "t4k-common-libpng16.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;FIXME: cannot find how to run tests + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))))) + (add-after 'unpack 'fix-andika-font-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/t4k_sdl.c" + (("(/usr/share/.*?)/AndikaDesRevG\\.ttf") + (string-append (assoc-ref inputs "font-andika") + "/share/fonts/truetype"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("font-andika" ,font-sil-andika) + ("libpng" ,libpng) + ("librsvg" ,librsvg) + ("libxml2" ,libxml2) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))))) + (home-page "https://github.com/tux4kids/t4kcommon") + (synopsis "Library of code shared between TuxMath and TuxType") + (description "Tux4Kids-Common is a library of code shared between +TuxMath and TuxType.") + (license license:gpl3+))) -- cgit v1.2.3 From 8baaf51f0a6891cc2fb34928dab2337b627218c5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 3 Jan 2020 17:26:15 +0100 Subject: gnu: Add tuxmath. * gnu/packages/education.scm (tuxmath): New variable. --- gnu/packages/education.scm | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'gnu/packages/education.scm') diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 5cb836fc50..b0297e9075 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -760,3 +760,65 @@ adjust the level of difficulty.") (description "Tux4Kids-Common is a library of code shared between TuxMath and TuxType.") (license license:gpl3+))) + +(define-public tuxmath + (package + (name "tuxmath") + (version "2.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tux4kids/tuxmath") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f1pz83w6d3mbik2h6xavfxmk5apxlngxbkh80x0m55lhniwkdxv")) + (modules '((guix build utils))) + ;; Unbundle fonts. + (snippet + `(begin + (for-each delete-file (find-files "data/fonts" "\\.ttf$")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'set-sdl-paths + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications")) + (pixmaps (string-append out "/share/pixmaps"))) + (install-file "tuxmath.desktop" apps) + (for-each (lambda (f) (install-file f pixmaps)) + (find-files "data/images/icons/" + "tuxmath\\.(png|ico|svg)$")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("librsvg" ,librsvg) + ("libxml2" ,libxml2) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))) + ("t4k-common" ,t4k-common))) + (home-page "https://github.com/tux4kids/tuxmath") + (synopsis "Educational math tutorial game") + (description "@emph{Tux, of Math Command} is an educational math +tutorial game starring Tux, the Linux penguin, in which you play the +part of Commander Tux, as he defends his friends from an attack of +math equations. Comets are crashing towards the friendly penguins in +their igloos, and you must destroy the comets by solving their +equations. + +TuxMath also includes Factoroids, a game that gives practice in +factoring numbers and simplifying fractions, as well as zapping rocks +floating through space.") + (license license:gpl3+))) -- cgit v1.2.3