unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38768] [PATCH] Add omnitux
@ 2019-12-27 23:30 Nicolas Goaziou
  2020-01-28  9:36 ` bug#38768: " Nicolas Goaziou
  0 siblings, 1 reply; 2+ messages in thread
From: Nicolas Goaziou @ 2019-12-27 23:30 UTC (permalink / raw)
  To: 38768

[-- Attachment #1: Type: text/plain, Size: 92 bytes --]

Hello,

The following patch adds Omnitux.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou

[-- Attachment #2: Add Omnitux --]
[-- Type: text/x-diff, Size: 5388 bytes --]

From c7bf12329465a98263f3ce76e190058e17471932 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Sat, 28 Dec 2019 00:28:15 +0100
Subject: [PATCH] gnu: Add omnitux.

* gnu/packages/education.scm (omnitux): New variable.
---
 gnu/packages/education.scm | 102 +++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 0f88954fa2..8aac7d4135 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -485,6 +485,108 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
     (home-page "http://www.schoolsplay.org")
     (license license:gpl3+)))
 
+(define-public omnitux
+  (package
+    (name "omnitux")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/omnitux/omnitux/"
+                           "v" version "/omnitux-" version ".tar.bz2"))
+       (sha256
+        (base32 "1wmmmbzmxd0blhn00d4g91xwavnab143a31ca3i8hrqgzh6qz9w6"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove pre-compiled .pyc files from source.
+           (for-each delete-file (find-files "bin" "\\.pyc$"))
+           #t))))
+    (build-system python-build-system)
+    (inputs
+     `(("python2-pygame" ,python2-pygame)
+       ("python2-pygtk" ,python2-pygtk)))
+    (arguments
+     `(#:tests? #f                      ;no test
+       #:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build)                ;no setup.py
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share"))
+                    (data (string-append share "/omnitux")))
+               ;; Install documentation.
+               (let ((doc (string-append share "/doc/" ,name "-" ,version)))
+                 (for-each (lambda (f) (install-file f doc))
+                           '("LICENSE.txt" "README.txt")))
+               ;; Install data.
+               (install-file "omnitux.sh" data)
+               (for-each (lambda (d)
+                           (copy-recursively d (string-append data "/" d)))
+                         '("bin" "data"))
+               ;; 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")))
+                 (mkdir-p bin)
+                 (with-output-to-file script
+                   (lambda ()
+                     (format #t "#!~a~%" bash)
+                     (format #t
+                             "cd ~a; ~a menu.py~%"
+                             (string-append data "/bin")
+                             python)))
+                 (chmod script #o755))
+               ;; Install icon and desktop file.
+               (let ((pixmaps (string-append share "/pixmaps")))
+                 (install-file "data/default/icons/Omnitux_logo.svg" pixmaps))
+               (let ((apps (string-append out "/share/applications")))
+                 (mkdir-p apps)
+                 (with-output-to-file (string-append apps "/omnitux.desktop")
+                   (lambda _
+                     (format #t
+                             "[Desktop Entry]~@
+                              Name=Omnitux~@
+                              GenericName=Omnitux
+                              Comment=An educational game based on multimedia elements.~@
+                              Comment[fr]=Un jeu ludo-éducatif basé sur des éléments multimédias.~@
+                              Exec=~a/bin/omnitux~@
+                              Type=Application~@
+                              Categories=Game;Education;~@
+                              Terminal=false~@
+                              Icon=Omnitux_logo.svg~@"
+                             out))))
+               #t))))))
+    (home-page "http://omnitux.sourceforge.net/")
+    (synopsis "Educational activities based on multimedia elements")
+    (description "The project aims to provide various educational
+activities around multimedia elements (images, sounds, texts).  Types
+of activities include:
+@itemize
+@item associations,
+@item items to place on a map or a schema,
+@item counting activities,
+@item puzzles,
+@item card faces to remember,
+@item find differences between two pictures,
+@item ...
+@end itemize
+
+Activities are available in English, French, German, Polish,
+Portuguese, Spanish and Italian.")
+    ;; Project's license is GPL3+, but multimedia elements are
+    ;; released under various licenses.
+    (license (list license:gpl3+
+                   license:gpl2+
+                   license:cc-by-sa2.0
+                   license:cc-by-sa3.0
+                   license:public-domain))))
+
 (define-public fet
   (package
     (name "fet")
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#38768: [PATCH] Add omnitux
  2019-12-27 23:30 [bug#38768] [PATCH] Add omnitux Nicolas Goaziou
@ 2020-01-28  9:36 ` Nicolas Goaziou
  0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Goaziou @ 2020-01-28  9:36 UTC (permalink / raw)
  To: 38768-done

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> The following patch adds Omnitux.

Applied as 3450bb81e212187a2c65d7e884668d4fc805ef09.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-01-28  9:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-27 23:30 [bug#38768] [PATCH] Add omnitux Nicolas Goaziou
2020-01-28  9:36 ` bug#38768: " Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).