Subject: [PATCH v2] gnu: Add sdlpop.

From: phodina <[email-masked]>
Date: Mon, 27 Sep 2021 22:16:19 +0000

Hi Xinglu,

thank you for the review and comments. Here's the updated patch.

If you or anyone committing the patch disagrees with the copyright sorting then be my guest and remove it. Otherwise IMHO the list should be sorted to maintain order :-)

--8<---------------cut here---------------start------------->8---
* gnu/packages/games.scm (sdlpop): New variable.
  [copyright]: Sort by date [email-masked].

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c39770c260..9a6e36ccc1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -45,6 +45,7 @@
 ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <[email-masked]>
 ;;; Copyright © 2019, 2020 Timotej Lazar <[email-masked]>
 ;;; Copyright © 2019 Josh Holland <[email-masked]>
+;;; Copyright © 2019 Pkill -9 <[email-masked]>
 ;;; Copyright © 2017, 2019 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <[email-masked]>
 ;;; Copyright © 2020 Naga Malleswari <[email-masked]>
@@ -63,7 +64,7 @@
 ;;; Copyright © 2021 Felix Gruber <[email-masked]>
 ;;; Copyright © 2021 Solene Rapenne <[email-masked]>
 ;;; Copyright © 2021 Noisytoot <[email-masked]>
-;;; Copyright © 2019 Pkill -9 <[email-masked]>
+;;; Copyright © 2021 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -12480,6 +12481,62 @@ 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))))

+(define-public sdlpop
+  (package
+    (name "sdlpop")
+    (version "1.22")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/NagyD/SDLPoP")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1yy5r1r0hv0xggk8qd8bwk2zy7abpv89nikq4flqgi53fc5q9xl7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests provided
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'prepare-build
+           ;; Set correct environment for SDL.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "CPATH"
+                     (string-append (assoc-ref inputs "sdl")
+                                    "/include/SDL2:"
+                                    (or (getenv "CPATH") "")))))
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "src")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (opt (string-append out "/opt/sdlpop"))
+                    (app (string-append out "/usr/share/applications"))
+                    (template "src/SDLPoP.desktop.template"))
+               (chdir "..")
+               (install-file "prince" bin)
+               (substitute* template (("\\$ROOT") out))
+               (install-file template app)
+               (rename-file (string-append app "/SDLPoP.desktop.template")
+                            (string-append app "/SDLPoP.desktop"))
+               (install-file "SDLPoP.ini" opt)
+               (copy-recursively "data" (string-append bin "/data"))
+               (copy-recursively "doc" opt)
+               (copy-recursively "mods" opt)))))))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("sdl" ,(sdl-union (list sdl2
+                                       sdl2-image
+                                       sdl2-mixer)))))
+    (synopsis "Open-source port of Prince of Persia")
+    (description "This package provides port of Prince of Persia, based on the
+disassembly of the DOS version, extended with new features.")
+    (home-page "https://github.com/NagyD/SDLPoP")
+    (license license:gpl3+)))
+
 (define-public fheroes2
   (package
     (name "fheroes2")
--
2.32.0