Subject: [PATCH] gnu: Add crawl.

From: nee <[email-masked]>
Date: Thu, 13 Apr 2017 23:26:13 +0200

Hello, this is just the console version for now.
There is also a graphical version that I haven't build on the latest
release, yet.

* Multiple uris
When crawl makes a new release they move the previous tar archive into a
major-minor prefixed sub-directory. The current release only exists in
the higher directory.
I haven't seen any other package list multiple uris, so I hope I entered
it correctly.
I can only say that it builds, and got through guix lint like this.
From fd456a6f73fff5a2b9348ca1e43bd61fdf79fc6c Mon Sep 17 00:00:00 2001
From: nee <[email-masked]>
Date: Thu, 13 Apr 2017 22:45:18 +0200
Subject: [PATCH] gnu: Add crawl.

* gnu/packages/games.scm (crawl): New variable.
---
 gnu/packages/games.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 710b2746c..522ad5366 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -115,6 +115,8 @@
   #:use-module (gnu packages messaging)
   #:use-module (gnu packages upnp)
   #:use-module (gnu packages wxwidgets)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
@@ -3649,3 +3651,68 @@ small robot living in the nano world, repair its maker.")
     ;; kiki-the-nano-bot/kiki-the-nano-bot_1.0.2+dfsg1-4_copyright>
     ;; for a statement from the author.
     (license license:public-domain)))
+
+(define-public crawl
+  (package
+    (name "crawl")
+    (version "0.19.5")
+    (source (origin
+              (method url-fetch)
+              (uri (list
+                    ;; Older releases get moved into a versioned directory
+                    (string-append "http://crawl.develz.org/release/"
+                                   (version-major+minor version) "/stone_soup-"
+                                   version "-nodeps.tar.xz")
+                    ;; Only the latest release is in this directory
+                    (string-append "http://crawl.develz.org/release/stone_soup-"
+                                   version "-nodeps.tar.xz")))
+              (sha256
+               (base32
+                "00yl2lb2shglxlxzpyk99zvglfx4amjybqwnzdcasvbiggb4cj18"))))
+    (arguments
+     '(#:tests? #f
+       #:make-flags
+       (let* ((sqlite (assoc-ref %build-inputs "sqlite"))
+              (out (assoc-ref %outputs "out")))
+         (list (string-append "sqlite=" sqlite)
+               (string-append "prefix=" out)
+               "SAVEDIR=~/.crawl"
+               "dejavu_fonts="
+               "TILES="
+               "BUILD_LUA="
+               "BUILD_SQLITE="
+               "BUILD_ZLIB="))
+       #:phases
+       (modify-phases
+           %standard-phases
+         (add-after
+          'unpack 'prepare-before-make
+          (lambda* (#:key inputs #:allow-other-keys)
+            (chdir "source")))
+         (add-before
+          'configure 'patch-makefile
+          (lambda* (#:key inputs #:allow-other-keys)
+            (substitute*
+                "Makefile"
+              (("SQLITE_INCLUDE_DIR := /usr/include")
+               "SQLITE_INCLUDE_DIR := ${sqlite}/include"))
+            (substitute*
+                "Makefile"
+              (("/usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;")
+               "${dejavu_fonts}/share/fonts;"))))
+         (delete 'configure))))
+    (build-system gnu-build-system)
+    (inputs `(("ncurses" ,ncurses)
+              ("sqlite" ,sqlite)
+              ("bison" ,bison)
+              ("flex" ,flex)
+              ("perl" ,perl)
+              ("zlib" ,zlib)
+              ("lua51" ,lua-5.1)))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (synopsis "Roguelike dungeon crawler game")
+    (description "A roguelike adventure through dungeons filled with dangerous
+monsters in a quest to find the mystifyingly fabulous Orb of Zot.
+The game is also known under the name 'Dungeon Crawl Stone Soup'.")
+    (home-page "https://crawl.develz.org")
+    (license license:gpl2+)))
-- 
2.12.2