Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / education.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
3 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages education)
21 #:use-module (ice-9 regex)
22 #:use-module (gnu packages)
23 #:use-module (gnu packages qt)
24 #:use-module (gnu packages compression)
25 #:use-module (gnu packages databases)
26 #:use-module (gnu packages gettext)
27 #:use-module (gnu packages glib)
28 #:use-module (gnu packages gnome)
29 #:use-module (gnu packages gtk)
30 #:use-module (gnu packages perl)
31 #:use-module (gnu packages pkg-config)
32 #:use-module (gnu packages python)
33 #:use-module (gnu packages sdl)
34 #:use-module (gnu packages texinfo)
35 #:use-module (gnu packages xml)
36 #:use-module ((guix licenses) #:prefix license:)
37 #:use-module (guix packages)
38 #:use-module (guix download)
39 #:use-module (guix svn-download)
40 #:use-module (guix utils)
41 #:use-module (guix build-system gnu)
42 #:use-module (guix build-system cmake)
43 #:use-module (srfi srfi-1))
44
45 (define-public stellarium
46 (package
47 (name "stellarium")
48 (version "0.14.2")
49 (source (origin
50 (method url-fetch)
51 (uri (string-append "mirror://sourceforge/stellarium/"
52 "Stellarium-sources/"
53 version "/stellarium-" version ".tar.gz"))
54 (sha256 (base32
55 "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a"))))
56 (build-system cmake-build-system)
57 (inputs
58 `(("qtbase" ,qtbase)
59 ("zlib" ,zlib)
60 ("qtserialport" ,qtserialport)
61 ("qtscript" ,qtscript)
62 ("gettext" ,gettext-minimal)))
63 (native-inputs
64 `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time
65 ("qttools" ,qttools)
66 ("perl" ,perl))) ;for 'pod2man'
67 (arguments
68 `(#:test-target "tests"
69 #:phases (modify-phases %standard-phases
70 (add-before 'check 'set-offscreen-display
71 (lambda _
72 (setenv "QT_QPA_PLATFORM" "offscreen")
73 (setenv "HOME" "/tmp")
74 #t)))))
75 (home-page "http://www.stellarium.org/")
76 (synopsis "3D sky viewer")
77 (description "Stellarium is a planetarium. It shows a realistic sky in
78 3D, just like what you see with the naked eye, binoculars, or a telescope. It
79 can be used to control telescopes over a serial port for tracking celestial
80 objects.")
81 (license license:gpl2+)))
82
83 (define-public gcompris
84 (package
85 (name "gcompris")
86 (version "15.10")
87 (source (origin
88 (method url-fetch)
89 (uri (string-append "http://gcompris.net/download/gtk/src/gcompris-"
90 version ".tar.bz2"))
91 (sha256
92 (base32
93 "0f7wa27vvpn9ansp2aald1pajqlx5d51mvj07ba503yvl7i77fka"))))
94 (build-system gnu-build-system)
95 (arguments
96 `(#:configure-flags
97 ;; Use SDL mixer because otherwise GCompris would need an old version
98 ;; of Gstreamer.
99 (list "--enable-sdlmixer"
100 "LDFLAGS=-lgmodule-2.0")
101 #:phases
102 (modify-phases %standard-phases
103 (add-after 'set-paths 'set-sdl-paths
104 (lambda* (#:key inputs #:allow-other-keys)
105 (setenv "CPATH"
106 (string-append (assoc-ref inputs "sdl-mixer")
107 "/include/SDL"))
108 #t)))))
109 (inputs
110 `(("gtk+" ,gtk+-2)
111 ("librsvg" ,librsvg)
112 ("libxml2" ,libxml2)
113 ("sdl-mixer" ,sdl-mixer)
114 ("sqlite" ,sqlite)
115 ("glib:bin" ,glib)
116 ("python" ,python)))
117 (native-inputs
118 `(("intltool" ,intltool)
119 ("texinfo" ,texinfo)
120 ("texi2html" ,texi2html)
121 ("glib:bin" ,glib "bin")
122 ("pkg-config" ,pkg-config)))
123 (home-page "http://gcompris.net")
124 (synopsis "Educational software suite")
125 (description "GCompris is an educational software suite comprising of
126 numerous activities for children aged 2 to 10. Some of the activities are
127 game orientated, but nonetheless still educational. Below you can find a list
128 of categories with some of the activities available in that category.
129
130 @enumerate
131 @item computer discovery: keyboard, mouse, different mouse gestures, ...
132 @item arithmetic: table memory, enumeration, double entry table, mirror image, ...
133 @item science: the canal lock, the water cycle, the submarine, electric simulation ...
134 @item geography: place the country on the map
135 @item games: chess, memory, connect 4, oware, sudoku ...
136 @item reading: reading practice
137 @item other: learn to tell time, puzzle of famous paintings, vector drawing, cartoon making, ...
138 @end enumerate
139 ")
140 (license license:gpl3+)))