summaryrefslogtreecommitdiff
path: root/gnu/packages/education.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/education.scm')
-rw-r--r--gnu/packages/education.scm187
1 files changed, 89 insertions, 98 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b864ac6c76..b0b079a1cd 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -101,10 +101,9 @@
(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)
@@ -157,8 +156,7 @@ 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))
@@ -243,8 +241,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 +296,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
@@ -339,17 +335,16 @@ 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)
@@ -431,9 +426,9 @@ to open the application in a web browser, for offline usage.")
out)))
#t))))))
(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 +493,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 +561,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 +585,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 ()
@@ -677,7 +669,7 @@ Portuguese, Spanish and Italian.")
(replace 'configure
(lambda _ (invoke "qmake" "fet.pro"))))))
(inputs
- `(("qtbase" ,qtbase)))
+ (list qtbase))
(home-page "https://www.lalescu.ro/liviu/fet/")
(synopsis "Timetabling software")
(description
@@ -703,14 +695,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
@@ -731,32 +718,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
@@ -786,11 +771,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
@@ -854,8 +838,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
@@ -867,11 +851,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)
@@ -925,8 +909,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
@@ -934,9 +923,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"
@@ -945,7 +935,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)
@@ -975,6 +965,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)
@@ -985,10 +978,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"))
@@ -1000,7 +993,7 @@ TuxMath and TuxType.")
"tuxmath\\.(png|ico|svg)$"))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("librsvg" ,librsvg)
("libxml2" ,libxml2)
@@ -1034,9 +1027,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
@@ -1063,16 +1056,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
@@ -1096,16 +1089,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