Commit | Line | Data |
---|---|---|
2614de3c DM |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> | |
9e39ac41 | 3 | ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> |
b84257c0 | 4 | ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> |
2614de3c DM |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
9 | ;;; under the terms of the GNU General Public License as published by | |
10 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
11 | ;;; your option) any later version. | |
12 | ;;; | |
13 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
14 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | ;;; GNU General Public License for more details. | |
17 | ;;; | |
18 | ;;; You should have received a copy of the GNU General Public License | |
19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | (define-module (gnu packages education) | |
22 | #:use-module (ice-9 regex) | |
23 | #:use-module (gnu packages) | |
24 | #:use-module (gnu packages qt) | |
25 | #:use-module (gnu packages compression) | |
0ea179fd | 26 | #:use-module (gnu packages databases) |
2614de3c | 27 | #:use-module (gnu packages gettext) |
0ea179fd RW |
28 | #:use-module (gnu packages glib) |
29 | #:use-module (gnu packages gnome) | |
30 | #:use-module (gnu packages gtk) | |
2614de3c | 31 | #:use-module (gnu packages perl) |
0ea179fd RW |
32 | #:use-module (gnu packages pkg-config) |
33 | #:use-module (gnu packages python) | |
34 | #:use-module (gnu packages sdl) | |
35 | #:use-module (gnu packages texinfo) | |
36 | #:use-module (gnu packages xml) | |
2614de3c DM |
37 | #:use-module ((guix licenses) #:prefix license:) |
38 | #:use-module (guix packages) | |
39 | #:use-module (guix download) | |
40 | #:use-module (guix svn-download) | |
41 | #:use-module (guix utils) | |
42 | #:use-module (guix build-system gnu) | |
43 | #:use-module (guix build-system cmake) | |
44 | #:use-module (srfi srfi-1)) | |
45 | ||
46 | (define-public stellarium | |
47 | (package | |
48 | (name "stellarium") | |
49 | (version "0.14.2") | |
50 | (source (origin | |
51 | (method url-fetch) | |
52 | (uri (string-append "mirror://sourceforge/stellarium/" | |
53 | "Stellarium-sources/" | |
54 | version "/stellarium-" version ".tar.gz")) | |
55 | (sha256 (base32 | |
56 | "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a")))) | |
57 | (build-system cmake-build-system) | |
58 | (inputs | |
59 | `(("qtbase" ,qtbase) | |
60 | ("zlib" ,zlib) | |
61 | ("qtserialport" ,qtserialport) | |
62 | ("qtscript" ,qtscript) | |
b94a6ca0 | 63 | ("gettext" ,gettext-minimal))) |
2614de3c DM |
64 | (native-inputs |
65 | `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time | |
66 | ("qttools" ,qttools) | |
67 | ("perl" ,perl))) ;for 'pod2man' | |
68 | (arguments | |
69 | `(#:test-target "tests" | |
70 | #:phases (modify-phases %standard-phases | |
71 | (add-before 'check 'set-offscreen-display | |
72 | (lambda _ | |
73 | (setenv "QT_QPA_PLATFORM" "offscreen") | |
74 | (setenv "HOME" "/tmp") | |
75 | #t))))) | |
76 | (home-page "http://www.stellarium.org/") | |
77 | (synopsis "3D sky viewer") | |
78 | (description "Stellarium is a planetarium. It shows a realistic sky in | |
6661db4e LF |
79 | 3D, just like what you see with the naked eye, binoculars, or a telescope. It |
80 | can be used to control telescopes over a serial port for tracking celestial | |
81 | objects.") | |
2614de3c | 82 | (license license:gpl2+))) |
0ea179fd RW |
83 | |
84 | (define-public gcompris | |
85 | (package | |
86 | (name "gcompris") | |
87 | (version "15.10") | |
88 | (source (origin | |
89 | (method url-fetch) | |
90 | (uri (string-append "http://gcompris.net/download/gtk/src/gcompris-" | |
91 | version ".tar.bz2")) | |
92 | (sha256 | |
93 | (base32 | |
94 | "0f7wa27vvpn9ansp2aald1pajqlx5d51mvj07ba503yvl7i77fka")))) | |
95 | (build-system gnu-build-system) | |
96 | (arguments | |
97 | `(#:configure-flags | |
98 | ;; Use SDL mixer because otherwise GCompris would need an old version | |
99 | ;; of Gstreamer. | |
100 | (list "--enable-sdlmixer" | |
101 | "LDFLAGS=-lgmodule-2.0") | |
102 | #:phases | |
103 | (modify-phases %standard-phases | |
104 | (add-after 'set-paths 'set-sdl-paths | |
105 | (lambda* (#:key inputs #:allow-other-keys) | |
106 | (setenv "CPATH" | |
107 | (string-append (assoc-ref inputs "sdl-mixer") | |
108 | "/include/SDL")) | |
109 | #t))))) | |
110 | (inputs | |
111 | `(("gtk+" ,gtk+-2) | |
112 | ("librsvg" ,librsvg) | |
113 | ("libxml2" ,libxml2) | |
114 | ("sdl-mixer" ,sdl-mixer) | |
115 | ("sqlite" ,sqlite) | |
116 | ("glib:bin" ,glib) | |
117 | ("python" ,python))) | |
118 | (native-inputs | |
119 | `(("intltool" ,intltool) | |
120 | ("texinfo" ,texinfo) | |
121 | ("texi2html" ,texi2html) | |
122 | ("glib:bin" ,glib "bin") | |
123 | ("pkg-config" ,pkg-config))) | |
124 | (home-page "http://gcompris.net") | |
125 | (synopsis "Educational software suite") | |
126 | (description "GCompris is an educational software suite comprising of | |
127 | numerous activities for children aged 2 to 10. Some of the activities are | |
128 | game orientated, but nonetheless still educational. Below you can find a list | |
129 | of categories with some of the activities available in that category. | |
130 | ||
131 | @enumerate | |
132 | @item computer discovery: keyboard, mouse, different mouse gestures, ... | |
133 | @item arithmetic: table memory, enumeration, double entry table, mirror image, ... | |
134 | @item science: the canal lock, the water cycle, the submarine, electric simulation ... | |
135 | @item geography: place the country on the map | |
136 | @item games: chess, memory, connect 4, oware, sudoku ... | |
137 | @item reading: reading practice | |
138 | @item other: learn to tell time, puzzle of famous paintings, vector drawing, cartoon making, ... | |
139 | @end enumerate | |
140 | ") | |
141 | (license license:gpl3+))) | |
b84257c0 HG |
142 | |
143 | (define-public tipp10 | |
144 | (package | |
145 | (name "tipp10") | |
146 | (version "2.1.0") | |
147 | (source (origin | |
148 | (method url-fetch) | |
149 | ;; guix download is not able to handle the download links on the | |
150 | ;; home-page, which use '<meta http-equiv="refresh" …>' | |
151 | (uri (string-append "mirror://debian/pool/main/" | |
152 | "t/tipp10/tipp10_2.1.0.orig.tar.gz")) | |
153 | (sha256 | |
154 | (base32 | |
155 | "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx")) | |
156 | (patches (search-patches "tipp10-fix-compiling.patch" | |
157 | "tipp10-remove-license-code.patch")))) | |
158 | (build-system cmake-build-system) | |
159 | (arguments | |
160 | `(#:tests? #f ; packages has no tests | |
161 | #:phases | |
162 | (modify-phases %standard-phases | |
163 | (add-after 'unpack 'disable-new-version-check | |
164 | (lambda _ | |
165 | ;; Make new version check to default to false. | |
166 | ;; TODO: Remove the checkbox from the dialog and the check itself | |
167 | (substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp") | |
168 | (("settings.value(\"check_new_version\", true)") | |
169 | "settings.value(\"check_new_version\", false)")))) | |
170 | (replace 'configure | |
171 | (lambda* (#:key outputs #:allow-other-keys) | |
172 | (let ((out (assoc-ref outputs "out"))) | |
173 | ;; Make program honor $PREFIX | |
174 | (substitute* "tipp10.pro" | |
175 | (("\\.path = /usr/") (string-append ".path = " out "/"))) | |
176 | (substitute* "def/defines.h" | |
177 | (("\"/usr/") (string-append "\"" out "/"))) | |
178 | ;; Recreate Makefile | |
179 | (zero? (system* "qmake")))))))) | |
180 | (inputs | |
181 | `(("qt4" ,qt-4) | |
182 | ("sqlite" ,sqlite))) | |
183 | (home-page "https://www.tipp10.com/") | |
184 | (synopsis "Touch typing tutor") | |
9e39ac41 RW |
185 | (description "Tipp10 is a touch typing tutor. The ingenious thing about |
186 | the software is its intelligence feature: characters that are mistyped are | |
187 | repeated more frequently. Beginners will find their way around right away so | |
188 | they can start practicing without a hitch. | |
b84257c0 HG |
189 | |
190 | Useful support functions and an extensive progress tracker, topical lessons | |
191 | and the ability to create your own practice lessons make learning to type | |
9e39ac41 | 192 | easy.") |
b84257c0 | 193 | (license license:gpl2))) |