* [bug#35738] [PATCH] Add Childsplay
@ 2019-05-14 20:45 Nicolas Goaziou
2019-05-14 21:29 ` Jonathan Brielmaier
2019-05-29 23:30 ` bug#35738: " Nicolas Goaziou
0 siblings, 2 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2019-05-14 20:45 UTC (permalink / raw)
To: 35738
[-- Attachment #1: Type: text/plain, Size: 95 bytes --]
Hello,
The following patch adds Childsplay.
Feedback welcome.
Regards,
--
Nicolas Goaziou
[-- Attachment #2: Add Childsplay --]
[-- Type: text/x-diff, Size: 6310 bytes --]
From ccb4e336e467f5a357e54749b53b88a2500e4f1a Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Tue, 14 May 2019 22:11:08 +0200
Subject: [PATCH] gnu: Add childsplay.
* gnu/packages/education.scm (childsplay): New variable.
---
gnu/packages/education.scm | 107 +++++++++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 4b93cd1023..6528375cfc 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -27,7 +27,10 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -370,3 +373,107 @@ keyboard is also available if the child does not have any other
specialized device.")
(home-page "https://bipede.fr/contrib/")
(license license:gpl3)))
+
+(define-public childsplay
+ (package
+ (name "childsplay")
+ (version "3.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/schoolsplay/"
+ "childsplay-" version ".tgz"))
+ (sha256
+ (base32
+ "0z7yp2swjnbz51vn2zyfnjn40jq38l5mbh15yafmx1z3vn2z1m77"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-dejavu-font
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((dejavu-dir
+ (string-append (assoc-ref inputs "font-dejavu")
+ "/share/fonts/truetype"))
+ (dejavu-font
+ (string-append dejavu-dir
+ "/DejaVuSansCondensed-Bold.ttf")))
+ (substitute* "SPConstants.py"
+ (("^(TTF(BOLD)? = ).*" _ prefix)
+ (string-append prefix "'" dejavu-font "'\n")))
+ (for-each (lambda (f) (delete-file f))
+ (find-files "lib/SPData" "DejaVu"))
+ #t)))
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (pixmaps (string-append out "/share/pixmaps"))
+ (share (string-append out "/share/childsplay"))
+ (doc (string-append out "/share/doc/" ,name "-",version)))
+ ;; Install icon.
+ (install-file "lib/SPData/themes/childsplay/logo_cp.svg" pixmaps)
+ ;; Install data.
+ (mkdir-p share)
+ (for-each (lambda (f)
+ (copy-recursively f (string-append share "/" f)))
+ '("alphabet-sounds" "lib" "locale" "SPWidgets"))
+ (for-each (lambda (f) (install-file f share))
+ (find-files "." "\\.(py|dev|db)$"))
+ ;; Install documentation.
+ (mkdir-p doc)
+ (copy-recursively "docs" doc)
+ #t)))
+ (add-after 'install 'create-executable
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((python (string-append (assoc-ref inputs "python")
+ "/bin/python"))
+ (out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (executable (string-append bin "/childsplay")))
+ (mkdir-p bin)
+ (call-with-output-file executable
+ (lambda (file)
+ (format file
+ "~a ~a"
+ python
+ (string-append out "/share/childsplay/childsplay.py"))))
+ (chmod executable #o555)
+ #t)))
+ (add-after 'install 'create-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (applications (string-append out "/share/applications")))
+ (mkdir-p applications)
+ (call-with-output-file
+ (string-append applications "/childsplay.desktop")
+ (lambda (file)
+ (format file
+ "[Desktop Entry]~@
+ Name=Childsplay~@
+ Comment=Suite of educational games for young children~@
+ Comment[ca]=Conjunt de jocs educatius per a xiquets~@
+ Comment[es]=Conjunto de juegos educativos para niños~@
+ Comment[de]=Sammlung mit lehrreichen Spielen für kleine Kinder~@
+ Exec=~a/bin/childsplay.py~@
+ Terminal=false~@
+ Icon=logo_cp.svg~@
+ Type=Application~@
+ Categories=Application;Game;Education;KidsGame;~@
+ Keywords=suite;children;games;young;educational;~%"
+ out)))
+ #t))))))
+ (inputs
+ `(("font-dejavu" ,font-dejavu)
+ ("pygame" ,python2-pygame)
+ ("sqlalchemy" ,python2-sqlalchemy)))
+ (synopsis "Suite of educational games for young children")
+ (description "Childsplay is a collection of educational activities
+for young children. Childsplay can be used at home, kindergartens and
+pre-schools. Childsplay is a fun and safe way to let young children
+use the computer and at the same time teach them a little math,
+letters of the alphabet, spelling, eye-hand coordination, etc.")
+ (home-page "http://www.childsplay.org")
+ (license license:gpl3+)))
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#35738] [PATCH] Add Childsplay
2019-05-14 20:45 [bug#35738] [PATCH] Add Childsplay Nicolas Goaziou
@ 2019-05-14 21:29 ` Jonathan Brielmaier
2019-05-15 5:48 ` Nicolas Goaziou
2019-05-29 23:30 ` bug#35738: " Nicolas Goaziou
1 sibling, 1 reply; 4+ messages in thread
From: Jonathan Brielmaier @ 2019-05-14 21:29 UTC (permalink / raw)
To: Nicolas Goaziou, 35738
On 5/14/19 10:45 PM, Nicolas Goaziou wrote:
> + (synopsis "Suite of educational games for young children")
> + (description "Childsplay is a collection of educational activities
> +for young children. Childsplay can be used at home, kindergartens and
> +pre-schools. Childsplay is a fun and safe way to let young children
> +use the computer and at the same time teach them a little math,
> +letters of the alphabet, spelling, eye-hand coordination, etc.")
> + (home-page "http://www.childsplay.org")
I assume this has to be http://www.childsplay.mobi as long as you not
mean some fiddlers :)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#35738] [PATCH] Add Childsplay
2019-05-14 21:29 ` Jonathan Brielmaier
@ 2019-05-15 5:48 ` Nicolas Goaziou
0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2019-05-15 5:48 UTC (permalink / raw)
To: Jonathan Brielmaier; +Cc: 35738
Hello,
Jonathan Brielmaier <jonathan.brielmaier@web.de> writes:
> On 5/14/19 10:45 PM, Nicolas Goaziou wrote:
>> + (synopsis "Suite of educational games for young children")
>> + (description "Childsplay is a collection of educational activities
>> +for young children. Childsplay can be used at home, kindergartens and
>> +pre-schools. Childsplay is a fun and safe way to let young children
>> +use the computer and at the same time teach them a little math,
>> +letters of the alphabet, spelling, eye-hand coordination, etc.")
>> + (home-page "http://www.childsplay.org")
>
> I assume this has to be http://www.childsplay.mobi as long as you not
> mean some fiddlers :)
Actually, I meant "http://www.schoolsplay.org", but I somehow mixed the
two URL. I will fix it. Thank you.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#35738: [PATCH] Add Childsplay
2019-05-14 20:45 [bug#35738] [PATCH] Add Childsplay Nicolas Goaziou
2019-05-14 21:29 ` Jonathan Brielmaier
@ 2019-05-29 23:30 ` Nicolas Goaziou
1 sibling, 0 replies; 4+ messages in thread
From: Nicolas Goaziou @ 2019-05-29 23:30 UTC (permalink / raw)
To: 35738-done
Applied.
Thank you for the feedback.
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-05-29 23:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-14 20:45 [bug#35738] [PATCH] Add Childsplay Nicolas Goaziou
2019-05-14 21:29 ` Jonathan Brielmaier
2019-05-15 5:48 ` Nicolas Goaziou
2019-05-29 23:30 ` bug#35738: " 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).