summaryrefslogtreecommitdiff
path: root/gnu/packages/education.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
committerMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
commit1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch)
treeac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/education.scm
parent3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff)
parent070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff)
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in: gnu/local.mk gnu/packages/databases.scm gnu/packages/glib.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/machine-learning.scm gnu/packages/networking.scm gnu/packages/polkit.scm gnu/packages/pulseaudio.scm gnu/packages/rpc.scm gnu/packages/rust.scm gnu/packages/version-control.scm gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/education.scm')
-rw-r--r--gnu/packages/education.scm273
1 files changed, 133 insertions, 140 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 2039347ddc..1e19d83fc1 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -2,9 +2,9 @@
;;; Copyright © 2016 Danny Milosavljevic <[email protected]>
;;; Copyright © 2016, 2017 Ricardo Wurmus <[email protected]>
;;; Copyright © 2016 Hartmut Goebel <[email protected]>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <[email protected]>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <[email protected]>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <[email protected]>
-;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <[email protected]>
+;;; Copyright © 2018-2022 Nicolas Goaziou <[email protected]>
;;; Copyright © 2020 Robert Smith <[email protected]>
;;; Copyright © 2020 Guy Fleury Iteriteka <[email protected]>
;;; Copyright © 2020 Jakub Kądziołka <[email protected]>
@@ -96,15 +96,16 @@
;; of Gstreamer.
(list "--enable-sdlmixer"
"LDFLAGS=-lgmodule-2.0")
+ #:make-flags
+ (list "CFLAGS=-fcommon")
#: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-mixer")
- "/include/SDL:"
- (or (getenv "CPATH") "")))
- #t)))))
+ (string-append
+ (search-input-directory inputs "include/SDL")
+ ":" (or (getenv "CPATH") ""))))))))
(inputs
`(("gtk+" ,gtk+-2)
("librsvg" ,librsvg)
@@ -141,15 +142,15 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
- (version "1.1")
+ (version "2.1")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://gcompris.net/download/qt/src/gcompris-qt-"
+ "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-"
version ".tar.xz"))
(sha256
- (base32 "1bpjwrv83rhikbycpyfpf6dbqr0xfq6amgdpqfgfph6nzr3zka7h"))))
+ (base32 "02j3xv8sa3s5g50zs15wy2giabmhg1q0b8ar73q3fpwvxkz9hcwn"))))
(build-system qt-build-system)
(arguments
`(#:phases
@@ -157,32 +158,30 @@ of categories with some of the activities available in that category.
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
- (system (string-append (assoc-ref inputs "xorg-server")
- "/bin/Xvfb :1 &"))
+ (system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
;; The test suite wants to write to /homeless-shelter
- (setenv "HOME" (getcwd))
- #t)))
+ (setenv "HOME" (getcwd)))))
#:configure-flags (list "-DQML_BOX2D_MODULE=disabled"
"-DBUILD_TESTING=TRUE")))
(native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("gettext" ,gettext-minimal)
- ("kdoctools" ,kdoctools)
- ("perl" ,perl)
- ("qttools" ,qttools)
- ("xorg-server" ,xorg-server-for-tests)))
+ (list extra-cmake-modules
+ gettext-minimal
+ kdoctools
+ perl
+ qttools
+ xorg-server-for-tests))
(inputs
- `(("openssl" ,openssl)
- ("python" ,python-wrapper)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtgraphicaleffects" ,qtgraphicaleffects)
- ("qtmultimedia" ,qtmultimedia)
- ("qtquickcontrols" ,qtquickcontrols)
- ("qtsensors" ,qtsensors)
- ("qtsvg" ,qtsvg)
- ("qtxmlpatterns" ,qtxmlpatterns)))
+ (list openssl
+ python-wrapper
+ qtbase-5
+ qtdeclarative
+ qtgraphicaleffects
+ qtmultimedia
+ qtquickcontrols
+ qtsensors
+ qtsvg
+ qtxmlpatterns))
(home-page "https://gcompris.net/index-en.html")
(synopsis "Educational games for small children")
(description
@@ -198,9 +197,9 @@ Currently available boards include:
@item recognize letters after hearing their names
@item reading practice
@item small games (memory games, jigsaw puzzles, ...)
-@end enumerate\n")
+@end enumerate")
(license (list license:silofl1.1 ; bundled fonts
- license:gpl3+))))
+ license:agpl3+))))
(define-public gotypist
(let ((revision "0")
@@ -243,8 +242,7 @@ Currently available boards include:
(with-directory-excursion bin
(rename-file "v1" "gotypist"))))))))
(native-inputs
- `(("go-github-com-gizak-termui" ,go-github-com-gizak-termui)
- ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (list go-github-com-gizak-termui go-github-com-stretchr-testify))
(home-page "https://github.com/KappaDistributive/gotypist")
(synopsis "Simple typing trainer for text terminals")
(description
@@ -299,8 +297,7 @@ frequently used words in American English.")
;; Recreate Makefile
(invoke "qmake")))))))
(inputs
- `(("qtbase" ,qtbase-5)
- ("qtmultimedia" ,qtmultimedia)))
+ (list qtbase-5 qtmultimedia))
(home-page "https://www.tipp10.com/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
@@ -316,7 +313,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "6.9.0")
+ (version "7.0.5")
(source
(origin
(method git-fetch)
@@ -325,7 +322,7 @@ easy.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1wppz57lrrribrfnaiv6jrrf703w7i6ja0dnz8yx8naxhbsglwyf"))))
+ (base32 "13j52r810yijvkj85c356c342drc3947j28z3va7kz75mi26whsf"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -339,26 +336,23 @@ easy.")
;; Replace the sole minified file in the package.
(with-directory-excursion (string-append share "/src")
(delete-file "FileSaver.min.js")
- (symlink (string-append (assoc-ref %build-inputs "js-filesaver")
- "/share/javascript/FileSaver.min.js")
+ (symlink (search-input-file %build-inputs
+ "/share/javascript/FileSaver.min.js")
"FileSaver.min.js"))
;; Create a "snap" executable.
(let* ((bin (string-append out "/bin"))
(script (string-append bin "/snap"))
(snap (string-append share "/snap.html"))
- (bash (string-append (assoc-ref %build-inputs "bash")
- "/bin/sh"))
- (xdg-open (string-append (assoc-ref %build-inputs "xdg-utils")
- "/bin/xdg-open")))
+ (bash (search-input-file %build-inputs "/bin/sh"))
+ (xdg-open (search-input-file %build-inputs
+ "/bin/xdg-open")))
(mkdir-p bin)
(call-with-output-file script
(lambda (port)
(format port "#!~a\n~a '~a'" bash xdg-open snap)))
(chmod script #o555))))))
(inputs
- `(("bash" ,bash-minimal)
- ("js-filesaver" ,js-filesaver)
- ("xdg-utils" ,xdg-utils)))
+ (list bash-minimal js-filesaver xdg-utils))
(home-page "https://snap.berkeley.edu")
(synopsis "Visual, blocks based programming language")
(description "Snap! (formerly BYOB) is a visual, drag-and-drop
@@ -380,8 +374,12 @@ to open the application in a web browser, for offline usage.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.bipede.fr/downloads/logiciels/"
- "ToutEnClic-" version "-src.zip"))
+ (uri (list
+ ;; XXX: Upstream does not exist anymore.
+ (string-append "http://www.bipede.fr/downloads/logiciels/"
+ "ToutEnClic-" version "-src.zip")
+ (string-append "https://archive.org/download/tout-en-clic-" version
+ "-src/ToutEnClic-" version "-src.zip")))
(sha256
(base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
(build-system python-build-system)
@@ -409,8 +407,7 @@ to open the application in a web browser, for offline usage.")
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
- executable)))
- #t))
+ executable)))))
(add-after 'install 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -428,12 +425,11 @@ to open the application in a web browser, for offline usage.")
Terminal=false~@
Icon=toutenclic~@
Type=Application~%"
- out)))
- #t))))))
+ out)))))))))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(inputs
- `(("python-pyqt" ,python-pyqt)))
+ (list python-pyqt))
(synopsis "School tools for physically disabled children")
(description "ToutEnClic is intended to facilitate the schooling
of physically disabled children in ordinary schools. It is both
@@ -498,8 +494,7 @@ specialized device.")
#t)))
(add-after 'install 'create-executable
(lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((python (string-append (assoc-ref inputs "python")
- "/bin/python"))
+ (let* ((python (search-input-file inputs "/bin/python"))
(out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(executable (string-append bin "/childsplay")))
@@ -567,8 +562,7 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
#t))))
(build-system python-build-system)
(inputs
- `(("python2-pygame" ,python2-pygame)
- ("python2-pygtk" ,python2-pygtk)))
+ (list python2-pygame python2-pygtk))
(arguments
`(#:tests? #f ;no test
#:python ,python-2
@@ -592,10 +586,9 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
;; 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")))
+ (bash (search-input-file %build-inputs "/bin/bash"))
+ (python (search-input-file %build-inputs
+ "/bin/python2")))
(mkdir-p bin)
(with-output-to-file script
(lambda ()
@@ -653,14 +646,16 @@ Portuguese, Spanish and Italian.")
(define-public fet
(package
(name "fet")
- (version "6.0.4")
+ (version "6.2.2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
- "fet-" version ".tar.bz2"))
+ (uri (let ((directory "https://www.lalescu.ro/liviu/fet/download/")
+ (base (string-append "fet-" version ".tar.bz2")))
+ (list (string-append directory base)
+ (string-append directory "old/" base))))
(sha256
- (base32 "16yajwbvm2ain1p2h81qfm8pbrdp70zljck67j9yijwyr6xqdj2a"))))
+ (base32 "1x8m543n88iqprh4zccx1zcfm20balmh0h6syrbv03cszmkvfw07"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -671,12 +666,11 @@ Portuguese, Spanish and Italian.")
"src/src.pro"
"src/src-cl.pro"
"src/interface/fet.cpp")
- (("/usr") (assoc-ref outputs "out")))
- #t))
+ (("/usr") (assoc-ref outputs "out")))))
(replace 'configure
(lambda _ (invoke "qmake" "fet.pro"))))))
(inputs
- `(("qtbase" ,qtbase)))
+ (list qtbase))
(home-page "https://www.lalescu.ro/liviu/fet/")
(synopsis "Timetabling software")
(description
@@ -702,14 +696,9 @@ hours.")
(base32 "0z6c3lqikk50mkz3ipm93l48qj7b98lxyip8y6ndg9y9k0z0n878"))))
(build-system gnu-build-system)
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ (list intltool pkg-config))
(inputs
- `(("cairo" ,cairo)
- ("curl" ,curl)
- ("gtk+" ,gtk+)
- ("gtkdatabox" ,gtkdatabox)
- ("pango" ,pango)))
+ (list cairo curl gtk+ gtkdatabox pango))
(home-page "https://klavaro.sourceforge.io/en/index.html")
(synopsis "Touch typing tutor")
(description
@@ -730,32 +719,30 @@ language and very flexible regarding to new or unknown keyboard layouts.")
(base32 "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib"))))
(build-system qt-build-system)
(native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)
- ("pkg-config" ,pkg-config)))
+ (list extra-cmake-modules kdoctools pkg-config))
(inputs
- `(("kcmutils" ,kcmutils)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kdeclarative" ,kdeclarative)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kitemviews" ,kitemviews)
- ("kqtquickcharts" ,kqtquickcharts)
- ("ktextwidgets" ,ktextwidgets)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("libxcb" ,libxcb)
- ("libxkbfile" ,libxkbfile)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtgraphicaleffects" ,qtgraphicaleffects)
- ("qtquickcontrols2" ,qtquickcontrols2)
- ("qtx11extras" ,qtx11extras)
- ("qtxmlpatterns" ,qtxmlpatterns)))
+ (list kcmutils
+ kcompletion
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kdeclarative
+ ki18n
+ kiconthemes
+ kitemviews
+ kqtquickcharts
+ ktextwidgets
+ kwidgetsaddons
+ kwindowsystem
+ kxmlgui
+ libxcb
+ libxkbfile
+ qtbase-5
+ qtdeclarative
+ qtgraphicaleffects
+ qtquickcontrols2
+ qtx11extras
+ qtxmlpatterns))
(home-page "https://edu.kde.org/ktouch/")
(synopsis "Touch typing tutor")
(description
@@ -785,11 +772,10 @@ adjust the level of difficulty.")
(base32 "0dz63m9p4ggzw0yb309qmgnl664qb5q268vaa3i9v0i8qsl66d78"))))
(build-system gnu-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal) ; for msgfmt
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal ; for msgfmt
+ pkg-config))
(inputs
- `(("libxml2" ,libxml2)
- ("gtk+" ,gtk+)))
+ (list libxml2 gtk+))
(home-page "https://kanatest.sourceforge.io/")
(synopsis "Hiragana and Katakana simple flashcard tool")
(description "Kanatest is a Japanese kana (Hiragana and Katakana) simple
@@ -853,8 +839,8 @@ stored and user can review his performance in any time.")
(string-prefix? "python-" label)))
inputs)))
(qtwebengineprocess
- (string-append (assoc-ref inputs "qtwebengine")
- "/lib/qt5/libexec/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
@@ -866,11 +852,11 @@ stored and user can review his performance in any time.")
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
- `("PYTHONPATH" = ,site-packages)))
+ `("GUIX_PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
- `(("xdg-utils" ,xdg-utils)))
+ (list xdg-utils))
(inputs
`(("lame" ,lame)
("mpv" ,mpv)
@@ -924,8 +910,13 @@ endless. For example:
(file-name (git-file-name name version))
(sha256
(base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp"))
- (patches
- (search-patches "t4k-common-libpng16.patch"))))
+ (patches (search-patches "t4k-common-libpng16.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (substitute* "src/t4k_common.h"
+ (("char wrapped_lines") "extern char wrapped_lines"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: cannot find how to run tests
@@ -933,9 +924,10 @@ endless. For example:
(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") "")))))
+ (setenv "CPATH"
+ (string-append
+ (search-input-directory inputs "/include/SDL")
+ ":" (or (getenv "CPATH") "")))))
(add-after 'unpack 'fix-andika-font-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/t4k_sdl.c"
@@ -944,7 +936,7 @@ endless. For example:
"/share/fonts/truetype")))
#t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("font-andika" ,font-sil-andika)
("libpng" ,libpng)
@@ -974,6 +966,9 @@ TuxMath and TuxType.")
;; Unbundle fonts.
(snippet
`(begin
+ ;; Remove duplicate definition.
+ (substitute* "src/menu_lan.c"
+ (("lan_player_type.*MAX_CLIENTS\\];") ""))
(for-each delete-file (find-files "data/fonts" "\\.ttf$"))
#t))))
(build-system gnu-build-system)
@@ -984,10 +979,10 @@ TuxMath and TuxType.")
(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))
+ (string-append
+ (search-input-directory inputs "/include/SDL")
+ ":"
+ (or (getenv "CPATH") "")))))
(add-after 'install 'install-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -999,7 +994,7 @@ TuxMath and TuxType.")
"tuxmath\\.(png|ico|svg)$"))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("librsvg" ,librsvg)
("libxml2" ,libxml2)
@@ -1033,9 +1028,9 @@ floating through space.")
"0psbdzirazfnn02hp3gsx7xxss9f1brv4ywp6a15ihvggjki1rxb"))))
(build-system gnu-build-system)
(native-inputs ; Required for building docs
- `(("perl" ,perl)))
+ (list perl))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(synopsis "C library for accessing Japanese CD-ROM books")
(description "The EB library is a library for accessing CD-ROM
books, which are a common way to distribute electronic dictionaries in
@@ -1062,16 +1057,16 @@ formats.")
(arguments
'(#:tests? #f)) ; no test target
(native-inputs
- `(("qttools", qttools)))
+ (list qttools))
(inputs
- `(("libeb" ,libeb)
- ("qtbase" ,qtbase-5)
- ("qtmultimedia" ,qtmultimedia)
- ("qtquickcontrols2" ,qtquickcontrols2)
- ("qtdeclarative" ,qtdeclarative)
- ("qtwebchannel" ,qtwebchannel)
- ("qtwebengine" ,qtwebengine)
- ("zlib" ,zlib)))
+ (list libeb
+ qtbase-5
+ qtmultimedia
+ qtquickcontrols2
+ qtdeclarative
+ qtwebchannel
+ qtwebengine
+ zlib))
(synopsis "EPWING dictionary reader")
(description "qolibri is a dictionary viewer for the EPWING dictionary
format. Most monolingual Japanese dictionaries can only be found in the
@@ -1095,16 +1090,14 @@ EPWING format.")
(arguments
`(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes")))
(native-inputs
- `(("flex" ,flex)
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
+ (list flex intltool pkg-config))
(inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("libglade" ,libglade)
- ("ncurses" ,ncurses)
- ("pango" ,pango)
- ("readline" ,readline)))
+ (list glib
+ gtk+
+ libglade
+ ncurses
+ pango
+ readline))
(home-page "https://www.gnu.org/software/mdk/manual/")
(synopsis "Virtual development environment for Knuth's MIX")
(description