Hi, And now a real fun package...If you don't know Laby, maybe you want to have a look at it. It's a programming game that my daughters happen to like very much. They started programming with this without knowing they did; they were simply playing a game.
My oldest (8 at the time) chose the C language after trying Python and finding how hard it was to get the indentation right (without proper editor support). When I saw how difficult it was for my youngest (5 at the time) to get all the semicolons and parentheses right, I wrote the Scheme mod (based on Guile) and contributed it. So, her first programming was done in Guile Scheme; apparently the easiest syntax of all, if you learn young. Greetings, Jan
>From fcd853a5c9b13019409d69db48f6bac0023b7b30 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen <jann...@gnu.org> Date: Sun, 7 Feb 2016 12:57:40 +0100 Subject: [PATCH] gnu: Add laby. * gnu/packages/games.scm (laby): New variable. * gnu/packages/patches/laby-make-install.patch: New file. --- gnu/packages/games.scm | 30 ++++++++++++++++++++++++++++ gnu/packages/patches/laby-make-install.patch | 25 +++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gnu/packages/patches/laby-make-install.patch diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7eb0e7a..aee4f69 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2015, 2016 Alex Kost <alez...@gmail.com> ;;; Copyright © 2015 Paul van der Walt <p...@denknerd.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayi...@gmail.com> +;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages mp3) #:use-module (gnu packages image) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocaml) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages xorg) @@ -1891,3 +1893,31 @@ and a game metadata scraper.") (description "The Emilia Pinball Project is a pinball simulator. There are only two levels to play with, but they are very addictive.") (license license:gpl2))) + +(define-public laby + (package + (name "laby") + (version "0.6.4") + (source + (origin (method url-fetch) + (uri (string-append "https://github.com/sgimenez/laby/tarball/laby-" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "113ip48308ps3lsw427xswgx3wdanils43nyal9n4jr6bcx1bj2j")) + (patches (list (search-patch "laby-make-install.patch"))))) + (build-system gnu-build-system) + (inputs + `(("ocaml" ,ocaml) + ("lablgtk" ,lablgtk))) + (arguments + '(#:phases (alist-delete 'configure %standard-phases) + #:tests? #f ; no 'check' target + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) + (home-page "https://sgimenez.github.io/laby/") + (synopsis "Laby, programming game") + (description "Learn programming, playing with ants and spider webs ;-) +Your robot ant can be programmed in many languages: OCaml, Python, C, C++, +Java, Ruby, Lua, JavaScript, Pascal, Perl, Scheme, Vala, Prolog. Experienced +programmers may also add their own favorite language.") + (license license:gpl3+))) diff --git a/gnu/packages/patches/laby-make-install.patch b/gnu/packages/patches/laby-make-install.patch new file mode 100644 index 0000000..227d781 --- /dev/null +++ b/gnu/packages/patches/laby-make-install.patch @@ -0,0 +1,25 @@ +From e9896b8951f9faf1f76a3b45be6e70d0aeb30a73 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen <jann...@gnu.org> +Date: Sat, 15 Nov 2014 17:48:18 +0100 +Subject: [PATCH] Add make install. + +--- + Makefile | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/Makefile b/Makefile +index ca18c1e..65af31b 100644 +--- a/Makefile ++++ b/Makefile +@@ -19,4 +19,9 @@ dist: + @git archive --prefix="$(PROJECT_ARCHIVE)/" HEAD \ + | gzip >_dist/"$(PROJECT_ARCHIVE)".tar.gz + @echo archive stored in "_dist/$(PROJECT_ARCHIVE).tar.gz" ++ ++install: ++ strip laby ++ cp laby /usr/games/laby ++ mkdir -p /usr/share/laby ++ tar -C data -cf - . | tar -C /usr/share/laby -xf- +-- +2.1.4 -- 2.1.4
-- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl