gnu: Add 'make-ld-wrapper' procedure.
[jackhill/guix/guix.git] / gnu / packages / games.scm
index dee39dd..192d0db 100644 (file)
@@ -4,8 +4,11 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages games)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xml)
+  #:use-module (guix build-system trivial)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system trivial))
 
 (define-public gnubg
               ("readline" ,readline)
               ("gtk+" ,gtk+-2)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("gtkglext" ,gtkglext)
               ("sqlite" ,sqlite)
               ("libcanberra" ,libcanberra)))
     (native-inputs `(("python-2" ,python-2)
                      ("pkg-config" ,pkg-config)))
-    (home-page "https://gnubg.org")
+    (home-page "http://gnubg.org")
     (synopsis "Backgammon game")
     (description "The GNU backgammon application can be used for playing, analyzing and
 teaching the game.  It has an advanced evaluation engine based on artificial
 neural networks suitable for both beginners and advanced players.  In
 addition to a command-line interface, it also features an attractive, 3D
 representation of the playing board.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define-public gnubik
   (package
@@ -98,6 +117,7 @@ representation of the playing board.")
     (build-system gnu-build-system)
     (inputs `(("gtk+" ,gtk+-2)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("libx11" ,libx11)
               ("guile" ,guile-2.0)
               ("gtkglext" ,gtkglext)))
@@ -111,7 +131,7 @@ each of its faces have a uniform color.  The game is customizable, allowing
 you to set the size of the cube (the default is 3x3) or to change the colors.
 You may even apply photos to the faces instead of colors.  The game is
 scriptable with Guile.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define-public abbaye
   (package
@@ -156,7 +176,8 @@ scriptable with Guile.")
                      (let ((prefix (assoc-ref outputs "out")))
                        ;; Create directories that the makefile assumes exist.
                        (mkdir-p (string-append prefix "/bin"))
-                       (mkdir-p (string-append prefix "/share/applications"))))
+                       (mkdir-p (string-append prefix "/share/applications"))
+                       (mkdir-p (string-append prefix "/share/pixmaps"))))
                    ;; No configure script.
                    (alist-delete 'configure %standard-phases))))
        #:tests? #f)) ;; No check target.
@@ -173,7 +194,7 @@ France.  The Cathars, who preach about good Christian beliefs, were being
 expelled by the Catholic Church out of the Languedoc region in France.  One of
 them, called Jean Raymond, found an old church in which to hide, not knowing
 that beneath its ruins lay buried an ancient evil.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define-public pingus
   (package
@@ -195,6 +216,7 @@ that beneath its ruins lay buried an ancient evil.")
               ("sdl-image" ,sdl-image)
               ("sdl-mixer" ,sdl-mixer)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("libpng" ,libpng)
               ("boost" ,boost)))
     (arguments
@@ -219,7 +241,7 @@ giving them commands, like build a bridge, dig a hole, or redirect all animals
 in the other direction.  Multiple such commands are necessary to reach the
 level's exit.  The game is presented in a 2D side view.")
     ;; Some source files are under bsd-3 and gpl2+ licenses.
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define-public talkfilters
   (package
@@ -229,7 +251,7 @@ level's exit.  The game is presented in a 2D side view.")
      (origin
        (method url-fetch)
        (uri (string-append "http://www.hyperrealm.com/" name "/"
-                           name  "-" version  ".tar.gz")) 
+                           name  "-" version  ".tar.gz"))
        (sha256
         (base32 "19nc5vq4bnkjvhk8srqddzhcs93jyvpm9r6lzjzwc1mgf08yg0a6"))))
     (build-system gnu-build-system)
@@ -238,8 +260,8 @@ level's exit.  The game is presented in a 2D side view.")
     (description "The GNU Talk Filters are programs that convert English text
 into stereotyped or otherwise humorous dialects.  The filters are provided as
 a C library, so they can easily be integrated into other programs.")
-    (license gpl2+)))
+    (license license:gpl2+)))
+
 (define-public cmatrix
   (package
     (name "cmatrix")
@@ -266,13 +288,13 @@ a C library, so they can easily be integrated into other programs.")
                                     (string-append "--prefix=" out)))))
                       %standard-phases)))
     (inputs `(("ncurses" ,ncurses)))
-    (home-page "http://wwww.asty.org/cmatrix")
+    (home-page "http://www.asty.org/cmatrix")
     (synopsis "Simulate the display from \"The Matrix\"")
     (description "CMatrix simulates the display from \"The Matrix\" and is
 based on the screensaver from the movie's website.  It works with terminal
 settings up to 132x300 and can scroll lines all at the same rate or
 asynchronously and at a user-defined speed.")
-    (license gpl2+)))
+    (license license:gpl2+)))
 
 (define-public chess
   (package
@@ -287,12 +309,12 @@ asynchronously and at a user-defined speed.")
         (base32
          "1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn"))))
     (build-system gnu-build-system)
-    (home-page "http://wwww.gnu.org/software/chess")
+    (home-page "http://www.gnu.org/software/chess")
     (synopsis "Full chess implementation")
     (description "GNU Chess is a chess engine.  It allows you to compete
 against the computer in a game of chess, either through the default terminal
 interface or via an external visual interface such as GNU XBoard.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define freedink-engine
   (package
@@ -323,7 +345,7 @@ interface or via an external visual interface such as GNU XBoard.")
 for the role-playing game Dink Smallwood.  It supports not only the original
 game data files but it also supports user-produced game mods or \"D-Mods\".
 To that extent, it also includes a front-end for managing all of your D-Mods.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define freedink-data
   (package
@@ -344,7 +366,7 @@ To that extent, it also includes a front-end for managing all of your D-Mods.")
     (synopsis "Game data for GNU Freedink")
     (description
      "This package contains the game data of GNU Freedink.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 ;; TODO: Add freedink-dfarc when there's a wxWidgets package.
 
@@ -378,7 +400,7 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n"
 (define-public xboard
   (package
     (name "xboard")
-    (version "4.7.3")
+    (version "4.8.0")
     (source
      (origin
        (method url-fetch)
@@ -386,17 +408,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n"
                            ".tar.gz"))
        (sha256
         (base32
-         "1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"))))
+         "05rdj0nyirc4g1qi5hhrjy45y52ihp1j3ldq2c5bwrz0gzy4i3y8"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (alist-cons-before 
-        'configure 'pre-conf
-        ;; This is GNU.  So use gnuchess as the first choice of engine
-        (lambda _
-          (substitute* "xboard.conf.in" 
-            (("-firstChessProgram fairymax") "-firstChessProgram gnuchess")))
-        %standard-phases)))
     (inputs `(("cairo" ,cairo)
               ("librsvg" ,librsvg)
               ("libxt" ,libxt)
@@ -410,7 +423,7 @@ including international chess, xiangqi (Chinese chess), shogi (Japanese chess)
 and Makruk.  Several lesser-known variants are also supported.  It presents a
 fully interactive graphical interface and it can load and save games in the
 Portable Game Notation.")
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 
 (define-public xboing
@@ -428,21 +441,21 @@ Portable Game Notation.")
      `(#:tests? #f
        #:phases
        (alist-replace
-        'configure 
+        'configure
         (lambda* (#:key outputs #:allow-other-keys)
-          
-          (substitute* "Imakefile" 
+
+          (substitute* "Imakefile"
             (("XPMINCLUDE[\t ]*= -I/usr/X11/include/X11")
              (string-append "XPMINCLUDE = -I" (assoc-ref %build-inputs "libxpm")
                             "/include/X11")))
-          
-          (substitute* "Imakefile" 
+
+          (substitute* "Imakefile"
             (("XBOING_DIR = \\.") "XBOING_DIR=$(PROJECTROOT)"))
-          
+
           ;; FIXME: HIGH_SCORE_FILE should be set to somewhere writeable
-          
-          (zero? (system* "xmkmf" "-a" 
-                          (string-append "-DProjectRoot=" 
+
+          (zero? (system* "xmkmf" "-a"
+                          (string-append "-DProjectRoot="
                                          (assoc-ref outputs "out")))))
         (alist-replace 'install
                        (lambda* (#:key outputs #:allow-other-keys)
@@ -463,7 +476,8 @@ Portable Game Notation.")
 you control to bounce a ball around the game zone destroying blocks with a
 proton ball.  Each block carries a different point value.  The more blocks you
 destroy, the better your score.  The person with the highest score wins.")
-    (license (x11-style "file://COPYING" "Very similar to the X11 licence."))))
+    (license (license:x11-style "file://COPYING"
+                                "Very similar to the X11 licence."))))
 
 (define-public gtypist
   (package
@@ -497,4 +511,314 @@ practice touch-typing.  Several tutorials are included; in addition to
 tutorials for the standard QWERTY layout, there are also tutorials for the
 alternative layouts Dvorak and Colemak, as well as for the numpad.  Tutorials
 are primarily in English, however some in other languages are provided.")
-    (license gpl3+)))
+    (license license:gpl3+)))
+
+(define-public irrlicht
+  (package
+    (name "irrlicht")
+    (version "1.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/irrlicht/Irrlicht%20SDK/"
+                    (version-major+minor version)
+                    "/" version "/irrlicht-" version ".zip"))
+              (sha256
+               (base32
+                "0yz9lvsc8aqk8wj4rnpanxrw90gqpwn9w5hxp94r8hnm2q0vjjw1"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-after
+                 'unpack 'fix-build-env
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     (substitute* "Makefile"
+                       (("INSTALL_DIR = /usr/local/lib")
+                        (string-append "INSTALL_DIR = " out "/lib")))
+                     ;; The Makefile assumes these directories exist.
+                     (mkdir-p (string-append out "/lib"))
+                     (mkdir-p (string-append out "/include"))))
+                 (alist-replace
+                  'unpack
+                  (lambda* (#:key source #:allow-other-keys)
+                    (and (zero? (system* "unzip" source))
+                         ;; The actual source is buried a few directories deep.
+                         (chdir "irrlicht-1.8.1/source/Irrlicht/")))
+                  (alist-cons-after
+                   'unpack 'apply-patch/mesa-10-fix
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (zero? (system* "patch" "--force" "-p3" "-i"
+                                     (assoc-ref inputs "patch/mesa-10-fix"))))
+                   ;; No configure script
+                   (alist-delete 'configure %standard-phases))))
+       #:tests? #f ; no check target
+       #:make-flags '("CC=gcc" "sharedlib")))
+    (native-inputs
+     `(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch"))
+       ("unzip" ,unzip)))
+    (inputs
+     `(("mesa" ,mesa)
+       ("glu" ,glu)))
+    (synopsis "3D game engine written in C++")
+    (description
+     "The Irrlicht Engine is a high performance realtime 3D engine written in
+C++.  Features include an OpenGL renderer, extensible materials, scene graph
+management, character animation, particle and other special effects, support
+for common mesh file formats, and collision detection.")
+    (home-page "http://irrlicht.sourceforge.net/")
+    (license license:zlib)))
+
+(define minetest-data
+  (package
+    (name "minetest-data")
+    (version "0.4.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/minetest/minetest_game/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0642vy6r6sv96mz6wbs9qvyr95vd69zj4fxiljdg9801javrmm9p"))))
+    (build-system trivial-build-system)
+    (native-inputs
+     `(("source" ,source)
+       ("tar" ,tar)
+       ("gzip" ,(@ (gnu packages compression) gzip))))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (guix build utils))
+                   (let ((tar (string-append (assoc-ref %build-inputs "tar")
+                                             "/bin/tar"))
+                         (install-dir (string-append
+                                       %output
+                                       "/share/minetest/games/minetest_game"))
+                         (path (string-append (assoc-ref %build-inputs
+                                                         "gzip")
+                                              "/bin")))
+                     (setenv "PATH" path)
+                     (system* tar "xvf" (assoc-ref %build-inputs "source"))
+                     (chdir (string-append "minetest_game-" ,version))
+                     (mkdir-p install-dir)
+                     (copy-recursively "." install-dir)))))
+    (synopsis "Main game data for the Minetest game engine")
+    (description
+     "Game data for the Minetest infinite-world block sandox game.")
+    (home-page "http://minetest.net")
+    (license license:lgpl2.1+)))
+
+(define-public minetest
+  (package
+    (name "minetest")
+    (version "0.4.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/minetest/minetest/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1pqp8hfwg5wkimig8j5jrihzgjjgplxr24w5xisrxvx1hlvnczdk"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+         (list "-DRUN_IN_PLACE=0"
+               "-DENABLE_FREETYPE=1"
+               "-DENABLE_GETTEXT=1"
+               (string-append "-DIRRLICHT_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "irrlicht")
+                              "/include/irrlicht")
+               (string-append "-DCURL_INCLUDE_DIR="
+                              (assoc-ref %build-inputs "curl")
+                              "/include/curl"))
+       #:tests? #f)) ; no check target
+    (native-search-paths
+     (list (search-path-specification
+            (variable "MINETEST_SUBGAME_PATH")
+            (files '("share/minetest/games")))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("irrlicht" ,irrlicht)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg)
+       ("libxxf86vm" ,libxxf86vm)
+       ("mesa" ,mesa)
+       ("libogg" ,libogg)
+       ("libvorbis" ,libvorbis)
+       ("openal" ,openal)
+       ("freetype" ,(@ (gnu packages fontutils) freetype))
+       ("curl" ,curl)
+       ("luajit" ,luajit)
+       ("gettext" ,gnu-gettext)
+       ("sqlite" ,sqlite)))
+    (propagated-inputs
+     `(("minetest-data" ,minetest-data)))
+    (synopsis "Infinite-world block sandbox game")
+    (description
+     "Minetest is a sandbox construction game.  Players can create and destroy
+various types of blocks in a three-dimensional open world.  This allows
+forming structures in every possible creation, on multiplayer servers or as a
+single player.  Mods and texture packs allow players to personalize the game
+in different ways.")
+    (home-page "http://minetest.net")
+    (license license:lgpl2.1+)))
+
+(define glkterm
+  (package
+   (name "glkterm")
+   (version "1.0.4")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "http://www.ifarchive.org/if-archive/programming/"
+                         "glk/implementations/glkterm-104.tar.gz"))
+     (sha256
+      (base32
+       "0zlj9nlnkdlvgbiliczinirqygiq8ikg5hzh5vgcmnpg9pvnwga7"))))
+   (build-system gnu-build-system)
+   (propagated-inputs `(("ncurses" ,ncurses))) ; required by Make.glkterm
+   (arguments
+    '(#:tests? #f ; no check target
+      #:phases
+      (alist-replace
+       'install
+       (lambda* (#:key outputs #:allow-other-keys)
+         (let* ((out (assoc-ref outputs "out"))
+                (inc (string-append out "/include")))
+           (mkdir-p inc)
+           (for-each
+            (lambda (file)
+              (copy-file file (string-append inc "/" file)))
+            '("glk.h" "glkstart.h" "gi_blorb.h" "gi_dispa.h" "Make.glkterm"))
+           (mkdir (string-append out "/lib"))
+           (copy-file "libglkterm.a" (string-append out "/lib/libglkterm.a"))))
+       (alist-delete 'configure %standard-phases))))
+   (home-page "http://www.eblong.com/zarf/glk/")
+   (synopsis "Curses Implementation of the Glk API")
+   (description
+    "Glk defines a portable API for applications with text UIs.  It was
+primarily designed for interactive fiction, but it should be suitable for many
+interactive text utilities, particularly those based on a command line.
+This is an implementation of the Glk library which runs in a terminal window,
+using the curses.h library for screen control.")
+   (license (license:fsf-free "file://README"))))
+
+(define-public glulxe
+  (package
+   (name "glulxe")
+   (version "0.5.2")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "http://www.ifarchive.org/if-archive/programming/"
+                         "glulx/interpreters/glulxe/glulxe-052.tar.gz"))
+     (sha256
+      (base32
+       "19iw6kl8ncqcy9pv4gsqfh3xsa1n94zd234rqavvmxccnf3nj19g"))))
+   (build-system gnu-build-system)
+   (inputs `(("glk" ,glkterm)))
+   (arguments
+    '(#:tests? #f ; no check target
+      #:make-flags
+      (let* ((glk (assoc-ref %build-inputs "glk")))
+        (list (string-append "GLKINCLUDEDIR=" glk "/include")
+              (string-append "GLKLIBDIR=" glk "/lib")
+              (string-append "GLKMAKEFILE=" "Make.glkterm")))
+      #:phases
+      (alist-replace
+       'install
+       (lambda* (#:key outputs #:allow-other-keys)
+         (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+           (mkdir-p bin)
+           (copy-file "glulxe" (string-append bin "/glulxe"))))
+       (alist-delete 'configure %standard-phases))))
+   (home-page "http://www.eblong.com/zarf/glulx/")
+   (synopsis "Interpreter for Glulx VM")
+   (description
+    "Glulx is a 32-bit portable virtual machine intended for writing and
+playing interactive fiction.  It was designed by Andrew Plotkin to relieve
+some of the restrictions in the venerable Z-machine format.  This is the
+reference interpreter, using Glk API.")
+   (license (license:fsf-free "file://README"))))
+
+(define-public retroarch
+  (package
+    (name "retroarch")
+    (version "1.0.0.3-beta")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/libretro/RetroArch/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1iqcrb076xiih20sk8n1w79xsp4fb8pj4vkmdc1xn562h56y4nxx"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; no tests
+       #:phases
+       (alist-replace
+        'configure
+        (lambda _
+          (substitute* "qb/qb.libs.sh"
+            (("/bin/true") (which "true")))
+          (zero? (system*
+                  "./configure"
+                  (string-append "--prefix=" %output)
+                  (string-append "--global-config-dir=" %output "/etc"))))
+        %standard-phases)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("freetype" ,freetype)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxml2" ,libxml2)
+       ("libxv" ,libxv)
+       ("mesa" ,mesa)
+       ("openal" ,openal)
+       ("pulseaudio" ,pulseaudio)
+       ("python" ,python)
+       ("sdl" ,sdl2)
+       ("udev" ,eudev)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (home-page "http://www.libretro.com/")
+    (synopsis "Reference frontend for the libretro API")
+    (description
+     "Libretro is a simple but powerful development interface that allows for
+the easy creation of emulators, games and multimedia applications that can plug
+straight into any libretro-compatible frontend.  RetroArch is the official
+reference frontend for the libretro API, currently used by most as a modular
+multi-system game/emulator system.")
+    (license license:gpl3+)))
+
+(define-public gnugo
+  (package
+    (name "gnugo")
+    (version "3.8")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://gnu/gnugo/gnugo-" version
+                                 ".tar.gz"))
+             (sha256
+              (base32
+               "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s"))))
+    (build-system gnu-build-system)
+    (inputs `(("readline" ,readline)))
+    (synopsis "Play the game of Go")
+    (description "GNU Go is a program that plays the game of Go, in which
+players place stones on a grid to form territory or capture other stones.
+While it can be played directly from the terminal, rendered in ASCII
+characters, it is also possible to play GNU Go with 3rd party graphical
+interfaces or even in Emacs.  It supports the standard game storage format
+(SGF, Smart Game Format) and inter-process communication format (GMP, Go
+Modem Protocol).")
+    (home-page "http://www.gnu.org/software/gnugo/")
+    (license license:gpl3+)))