;;; 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.
;;;
#: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 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)
(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)
(define-public xboard
(package
(name "xboard")
- (version "4.7.3")
+ (version "4.8.0")
(source
(origin
(method url-fetch)
".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)
`(#: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)
are primarily in English, however some in other languages are provided.")
(license license:gpl3+)))
-(define-public tiled
- (package
- (name "tiled")
- (version "0.10.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/bjorn/tiled/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "0p4p3lv4nw11fkfvvyjirb93r2x4w2rrc2w650gl2k57k92jpiij"))))
- (build-system gnu-build-system)
- (inputs `(("qt" ,qt)
- ("zlib" ,zlib)))
- (arguments
- '(#:phases
- (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (system* "qmake"
- (string-append "PREFIX=" out))))
- %standard-phases)))
- (home-page "http://www.mapeditor.org/")
- (synopsis "Tile map editor")
- (description
- "Tiled is a general purpose tile map editor. It is meant to be used for
-editing maps of any tile-based game, be it an RPG, a platformer or a Breakout
-clone.")
-
- ;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
- ;; under BSD-2.
- (license license:gpl2+)))
-
-(define-public openal
- (package
- (name "openal")
- (version "1.15.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://kcat.strangesoft.net/openal-releases/openal-soft-"
- version ".tar.bz2"))
- (sha256
- (base32
- "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f)) ; no check target
- (inputs
- `(("alsa-lib" ,alsa-lib)
- ("pulseaudio" ,pulseaudio)))
- (synopsis "3D audio API")
- (description
- "OpenAL provides capabilities for playing audio in a virtual 3D
-environment. Distance attenuation, doppler shift, and directional sound
-emitters are among the features handled by the API. More advanced effects,
-including air absorption, occlusion, and environmental reverb, are available
-through the EFX extension. It also facilitates streaming audio, multi-channel
-buffers, and audio capture.")
- (home-page "http://kcat.strangesoft.net/openal.html")
- (license license:lgpl2.0+)))
-
(define-public irrlicht
(package
(name "irrlicht")
(define minetest-data
(package
(name "minetest-data")
- (version "0.4.10")
+ (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
- "09mr71kl7mf4ihszqz1vnwk814p7fvqknad150iic2340a7qzf0i"))))
+ "0642vy6r6sv96mz6wbs9qvyr95vd69zj4fxiljdg9801javrmm9p"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)
(define-public minetest
(package
(name "minetest")
- (version "0.4.10")
+ (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
- "1xxv0g83iqszjgwnbdcbsprqg76cb6jnbsh5qhm7lcwx4wy2y2k2"))
- ;; This patch will be included in future upstream releases.
- ;; See: https://github.com/minetest/minetest/commit/fd5eaae2babb322f8a3e2acab55a12e218814c8e
- (patches (list (search-patch "minetest-subgame-env-var.patch")))))
+ "1pqp8hfwg5wkimig8j5jrihzgjjgplxr24w5xisrxvx1hlvnczdk"))))
(build-system cmake-build-system)
(arguments
- '(#:modules ((guix build utils)
- (guix build cmake-build-system)
- (ice-9 match))
- #:phases (alist-cons-before
- 'configure 'set-cpath
- (lambda* (#:key inputs #:allow-other-keys)
- (use-modules (ice-9 match))
- ;; Adjust the CPATH so that cmake can find irrlicht,
- ;; openal, and curl headers.
- (set-path-environment-variable "CPATH"
- '("include/AL"
- "include/irrlicht"
- "include/curl"
- "include")
- (map (match-lambda
- ((_ . dir) dir))
- inputs)))
- %standard-phases)
- #:configure-flags '("-DRUN_IN_PLACE=0"
- "-DENABLE_FREETYPE=1"
- "-DENABLE_GETTEXT=1")
+ '(#: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
(inputs
`(("irrlicht" ,irrlicht)
("libpng" ,libpng)
- ("libjpeg-8" ,libjpeg-8)
+ ("libjpeg" ,libjpeg)
("libxxf86vm" ,libxxf86vm)
("mesa" ,mesa)
("libogg" ,libogg)
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+)))