;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public Licens
aboutsummaryrefslogtreecommitdiff
blob: f948d85277fb1a2478aca3d49da9ce8ad052e991 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(use-modules (gnu home)
             (gnu home services)
             (gnu home services shells)
             (gnu services)
             (gnu packages admin)
             (guix gexp))


(home-environment
 (packages (list htop))
 (services
  (list
   (service home-bash-service-type
            (home-bash-configuration
             (guix-defaults? #t)
             (bash-profile (list (plain-file "bash-profile" "\
export HISTFILE=$XDG_CACHE_HOME/.bash_history")))))

   (simple-service 'test-config
                   home-xdg-configuration-files-service-type
                   (list `("test.conf"
                           ,(plain-file "tmp-file.txt"
                                        "the content of
                                          ~/.config/test.conf")))))))

"https://gcompris.net/download/qt/src/gcompris-qt-" version ".tar.xz")) (sha256 (base32 "09h098w9q79hnzla1pcpqlnnr6dbafm4q6zmdp7wlk11ym8n9kvg")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-for-qt5.11 (lambda _ (substitute* "src/core/CMakeLists.txt" (("qt5_use_modules") "target_link_libraries") (("Qml Quick Gui Multimedia Network XmlPatterns Svg Xml Sensors Core") "Qt5::Qml Qt5::Quick Qt5::Gui Qt5::Multimedia Qt5::Core Qt5::Svg Qt5::Xml Qt5::XmlPatterns Qt5::Sensors")) #t)) (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/gcompris-qt") `("QT_PLUGIN_PATH" ":" prefix ,(map (lambda (label) (string-append (assoc-ref inputs label) "/lib/qt5/plugins")) '("qtbase" "qtdeclarative" "qtmultimedia" "qtsvg"))) `("QML2_IMPORT_PATH" ":" prefix ,(map (lambda (label) (string-append (assoc-ref inputs label) "/lib/qt5/qml")) '("qtdeclarative" "qtgraphicaleffects" "qtmultimedia" "qtquickcontrols")))) #t)))) #: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) ("qttools" ,qttools))) (inputs `(("python-2" ,python-2) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols" ,qtquickcontrols) ("qtsensors" ,qtsensors) ("qtsvg" ,qtsvg) ("qtxmlpatterns" ,qtxmlpatterns))) (home-page "https://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 '' (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 (invoke "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))) (define-public snap (package (name "snap") (version "4.2.1.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0yc0w0cdhvi0nwqqrann2v3y0n7shxh7irgixqvlavp4k49d7aqj")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let* ((source (assoc-ref %build-inputs "source")) (out (assoc-ref %outputs "out")) (share (string-append out "/share/snap"))) (copy-recursively source share) ;; Replace the sole minified file in the package. (with-directory-excursion share (delete-file "FileSaver.min.js") (symlink (string-append (assoc-ref %build-inputs "js-filesaver") "/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"))) (mkdir-p bin) (call-with-output-file script (lambda (port) (format port "#!~a\n~a '~a'" bash xdg-open snap))) (chmod script #o555))) #t))) (inputs `(("bash" ,bash-minimal) ("js-filesaver" ,js-filesaver) ("xdg-utils" ,xdg-utils))) (home-page "https://snap.berkeley.edu") (synopsis "Visual, blocks based programming language") (description "Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students. This package provides a @command{snap} executable calling @command{xdg-open} to open the application in a web browser, for offline usage.") (license license:agpl3+)))