;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (guix build-system cmake)
#:use-module (srfi srfi-1))
-(define-public stellarium
- (package
- (name "stellarium")
- (version "0.14.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/stellarium/"
- "Stellarium-sources/"
- version "/stellarium-" version ".tar.gz"))
- (sha256 (base32
- "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a"))))
- (build-system cmake-build-system)
- (inputs
- `(("qtbase" ,qtbase)
- ("zlib" ,zlib)
- ("qtserialport" ,qtserialport)
- ("qtscript" ,qtscript)
- ("gettext" ,gnu-gettext)))
- (native-inputs
- `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time
- ("qttools" ,qttools)
- ("perl" ,perl))) ;for 'pod2man'
- (arguments
- `(#:test-target "tests"
- #:phases (modify-phases %standard-phases
- (add-before 'check 'set-offscreen-display
- (lambda _
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (setenv "HOME" "/tmp")
- #t)))))
- (home-page "http://www.stellarium.org/")
- (synopsis "3D sky viewer")
- (description "Stellarium is a planetarium. It shows a realistic sky in
-3D, just like what you see with the naked eye, binoculars, or a telescope. It
-can be used to control telescopes over a serial port for tracking celestial
-objects.")
- (license license:gpl2+)))
-
(define-public gcompris
(package
(name "gcompris")
@end enumerate
")
(license license:gpl3+)))
+
+(define-public gcompris-qt
+ (package
+ (name "gcompris-qt")
+ (version "0.70")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://gcompris.net/download/qt/src/gcompris-qt-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "01r7i8dmwb2nlfyp0y0mzs8yydmvn5gq7xn1w7g21lysak1mliwa"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; Qml_box2d is unmaintained and not actually required for building
+ '(#:configure-flags (list "-DQML_BOX2D_MODULE=disabled")
+ #:tests? #f)) ; no test target
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("gettext" ,gettext-minimal)
+ ("perl" ,perl)))
+ (inputs
+ `(("python-2" ,python-2)
+ ("qt" ,qt))) ; Cannot find qtquick at runtime with modular qt.
+ (home-page "http://gcompris.net/index-en.html")
+ (synopsis "Educational games for small children")
+ (description
+ "Gcompris offers a large collection of educational games for small
+children, designed to be a unified interface to integrate more educational
+games. Language-oriented games contain vocabulary, sounds, and voices for
+many different languages.
+Currently available boards include:
+@enumerate
+@item learning how to use a mouse and keyboard
+@item learning simple arithmetic
+@item learning how to read an analog clock
+@item recognize letters after hearing their names
+@item reading practice
+@item small games (memory games, jigsaw puzzles, ...)
+@end enumerate\n")
+ (license license:gpl3+)))
+
+(define-public tipp10
+ (package
+ (name "tipp10")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ ;; guix download is not able to handle the download links on the
+ ;; home-page, which use '<meta http-equiv="refresh" …>'
+ (uri (string-append "mirror://debian/pool/main/"
+ "t/tipp10/tipp10_2.1.0.orig.tar.gz"))
+ (sha256
+ (base32
+ "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx"))
+ (patches (search-patches "tipp10-fix-compiling.patch"
+ "tipp10-remove-license-code.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; packages has no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-new-version-check
+ (lambda _
+ ;; Make new version check to default to false.
+ ;; TODO: Remove the checkbox from the dialog and the check itself
+ (substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp")
+ (("settings.value(\"check_new_version\", true)")
+ "settings.value(\"check_new_version\", false)"))
+ #t))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Make program honor $PREFIX
+ (substitute* "tipp10.pro"
+ (("\\.path = /usr/") (string-append ".path = " out "/")))
+ (substitute* "def/defines.h"
+ (("\"/usr/") (string-append "\"" out "/")))
+ ;; Recreate Makefile
+ (zero? (system* "qmake"))))))))
+ (inputs
+ `(("qt4" ,qt-4)
+ ("sqlite" ,sqlite)))
+ (home-page "https://www.tipp10.com/")
+ (synopsis "Touch typing tutor")
+ (description "Tipp10 is a touch typing tutor. The ingenious thing about
+the software is its intelligence feature: characters that are mistyped are
+repeated more frequently. Beginners will find their way around right away so
+they can start practicing without a hitch.
+
+Useful support functions and an extensive progress tracker, topical lessons
+and the ability to create your own practice lessons make learning to type
+easy.")
+ (license license:gpl2)))