summary refs log tree commit diff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm74
1 files changed, 62 insertions, 12 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e2c6a7ebc4..1f337a4c84 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 David Pflug <david@pflug.io>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4675,34 +4676,48 @@ images, etc.)")
 (define-public pinball
   (package
     (name "pinball")
-    (version "0.3.1")
+    (version "0.3.20201218")
     (source
-     (origin (method url-fetch)
-             (uri (string-append "mirror://sourceforge/pinball/pinball/"
-                                 "pinball-" version "/"
-                                 "pinball-" version ".tar.gz"))
+     (origin (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/adoptware/pinball")
+                   (commit version)))
+             (file-name (git-file-name name version))
              (sha256
               (base32
-               "1f2whlrfidwfh8lvr8cspcyirc6840r5d1ajm7x99qmngygrhixs"))
-             (patches (search-patches "pinball-const-fix.patch"
-                                      "pinball-cstddef.patch"
-                                      "pinball-missing-separators.patch"
-                                      "pinball-src-deps.patch"
-                                      "pinball-system-ltdl.patch"))))
+               "056jk98v6zlkrj9vjm06p0pmpnav1x658n6qw10v5klg5gr6ldf7"))
+             (patches (search-patches "pinball-system-ltdl.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)
+       ("libtool" ,libtool)))
     (inputs
      `(("glu" ,glu)
+       ("libltdl" ,libltdl)
        ("mesa" ,mesa)
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("sdl-mixer" ,sdl-mixer)))
     (arguments
      '(#:configure-flags
+       ;; Configure tries to use pkg-config, but falls short, so:
        (list (string-append "CPPFLAGS=-I"
                             (assoc-ref %build-inputs "sdl-image")
                             "/include/SDL -I"
                             (assoc-ref %build-inputs "sdl-mixer")
-                            "/include/SDL"))))
+                            "/include/SDL"))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'bootstrap
+           ;; The `bootstrap` script tries to call a script with
+           ;; `/usr/bin/make` in the shebang, but ultimately does the same as
+           ;; autoreconf would do, so just use that.
+           (lambda _
+             (symlink "README.md" "README")
+             (display (which "autoreconf")) (newline)
+             (invoke "autoreconf" "-vif"))))))
     (home-page "http://pinball.sourceforge.net")
     (synopsis "Pinball simulator")
     (description "The Emilia Pinball Project is a pinball simulator.  There
@@ -12460,3 +12475,38 @@ game FPS.")
 implemented using ncurses user interface.  An SDL graphical version is also
 available.")
     (license license:gpl3+)))
+
+(define-public schiffbruch
+  ;; There haven't been any releases for several years, so I've taken the most
+  ;; recent commit from the master branch that didn't fail to build (the last
+  ;; commit gave me a compile error).
+  (let ((commit "e41916d15d87749c82c5005cbb42d1bb079b43d9"))
+    (package
+      (name "schiffbruch")
+      (version (git-version "1.2.1" "0" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sandsmark/Schiffbruch")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0lg3rqacrapf6c4sxi12cm9bmg43mlbclway1zxcm848pi1xkzwv"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                              ; no tests
+         #:build-type "Release"))
+      (native-inputs
+       `(("gcc" ,gcc-11)))                    ; need C++20-compatible compiler
+      (inputs
+       `(("sfml" ,sfml)))
+      (home-page "https://github.com/sandsmark/Schiffbruch/")
+      (synopsis "Pixelart survival game")
+      (description
+       "Schiffbruch is a mix of building, strategy and adventure and gets played
+with a two-dimensional view.  The game deals with the consequences of a ship
+wreckage.  You're stranded on a desert island and have to survive.  In order to
+do so you need to explore the island, find food, build a shelter and try to
+get attention, so you get found.")
+      (license license:cc-by4.0))))