diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 77 |
1 files changed, 73 insertions, 4 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2feecaa729..b34b1e1be2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +142,7 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) + #:use-module (gnu packages squirrel) #:use-module (gnu packages swig) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) @@ -3490,19 +3492,36 @@ with the \"Stamp\" tool within Tux Paint.") (define-public supertux (package (name "supertux") - (version "0.5.1") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/SuperTux/supertux/" "releases/download/v" version "/SuperTux-v" version "-Source.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1i8avad7w7ikj870z519j383ldy29r6f956bs38cbr8wk513pp69")))) + "1h1s4abirkdv4ag22zvyk6zkk64skqbjmcnnba67ps4hdzxfbhy4")) + (patches + (search-patches "supertux-fix-build-with-gcc5.patch" + "supertux-unbundle-squirrel.patch")))) (arguments '(#:tests? #f #:configure-flags '("-DINSTALL_SUBDIR_BIN=bin" - "-DENABLE_BOOST_STATIC_LIBS=OFF"))) + "-DENABLE_BOOST_STATIC_LIBS=OFF" + "-DUSE_SYSTEM_PHYSFS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-squirrel-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((squirrel (assoc-ref inputs "squirrel"))) + (substitute* "CMakeLists.txt" + (("set\\(SQUIRREL_PREFIX.*") + (string-append "set(SQUIRREL_PREFIX " squirrel ")")) + (("add_dependencies\\(supertux2_lib squirrel\\)") "") + (("\\$\\{SQUIRREL_PREFIX\\}/include") + (string-append "${SQUIRREL_PREFIX}/include/squirrel")))) + #t))))) (build-system cmake-build-system) (inputs `(("sdl2" ,sdl2) ("sdl2-image" ,sdl2-image) @@ -3514,7 +3533,9 @@ with the \"Stamp\" tool within Tux Paint.") ("libogg" ,libogg) ("physfs" ,physfs) ("curl" ,curl) - ("boost" ,boost))) + ("boost" ,boost) + ("freetype" ,freetype) + ("squirrel" ,squirrel))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "2D platformer game") (description "SuperTux is a free classic 2D jump'n run sidescroller game @@ -7312,3 +7333,51 @@ Unfortunately, Hacker is not aware of Drascula's real ambitions: DOMINATING the World and demonstrating that he is even more evil than his brother Vlad.") ;; Drascula uses a BSD-like license. (license (license:non-copyleft "file:///readme.txt")))) + +(define-public gnurobots + (package + (name "gnurobots") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gnurobots/gnurobots-" + version ".tar.gz")) + (sha256 + (base32 + "07gi3lsmbzzsjambgixj6xy79lh22km84z7bnzgwzxdy806lyvwb")))) + (build-system gnu-build-system) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+-2) + ("vte" ,vte/gtk+-2) + ("readline" ,readline) + ("guile" ,guile-1.8))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:make-flags + (list + ;; Do not abort build on "deprecated-declarations" warnings. + "CFLAGS=-Wno-error=deprecated-declarations" + ;; Find readline headers in sub-directory. + (string-append "READLINE_CFLAGS=-I" + (assoc-ref %build-inputs "readline") + "/include/readline/")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (install-file "doc/Robots-HOWTO" + (string-append (assoc-ref outputs "out") + "/share/doc/gnurobots-" + ,version)) + #t))))) + (home-page "https://www.gnu.org/software/gnurobots/") + (synopsis "Program a little robot and watch it explore a world") + (description + "GNU Robots is a game in which you program a robot to explore a world +full of enemies that can hurt it, obstacles and food to be eaten. The goal of +the game is to stay alive and collect prizes. The robot program conveniently +may be written in a plain text file in the Scheme programming language.") + (license license:gpl3+))) |