From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: [PATCH] gnu: Add laby. Date: Tue, 09 Feb 2016 21:27:51 +0100 Message-ID: <87egcleiig.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60327) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTEtB-00082U-Cl for guix-devel@gnu.org; Tue, 09 Feb 2016 15:27:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTEt8-0003qF-3t for guix-devel@gnu.org; Tue, 09 Feb 2016 15:27:57 -0500 Received: from lb3-smtp-cloud2.xs4all.net ([194.109.24.29]:56985) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTEt7-0003q6-TU for guix-devel@gnu.org; Tue, 09 Feb 2016 15:27:54 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain 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 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-laby.patch Content-Transfer-Encoding: quoted-printable >From fcd853a5c9b13019409d69db48f6bac0023b7b30 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen 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 =C2=A9 2015, 2016 Alex Kost ;;; Copyright =C2=A9 2015 Paul van der Walt ;;; Copyright =C2=A9 2015 Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer +;;; Copyright =C2=A9 2016 Jan Nieuwenhuizen ;;; ;;; 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=3D" (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. Experienc= ed +programmers may also add their own favorite language.") + (license license:gpl3+))) diff --git a/gnu/packages/patches/laby-make-install.patch b/gnu/packages/pa= tches/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 +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=3D"$(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- +--=20 +2.1.4 --=20 2.1.4 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.nl= =20=20 --=-=-=--