summary refs log tree commit diff
diff options
context:
space:
mode:
authorKei Kebreau <kei@openmailbox.org>2017-06-18 13:45:18 -0400
committerKei Kebreau <kei@openmailbox.org>2017-06-20 19:50:27 -0400
commit4df9495e685596f9a1c3a998eac990ff41a0b5f0 (patch)
treea47a4a4a69f1f78e2b0a1236a0a95157a63e9a1d
parent94a66dd92a5f3df3f3de53cae5fae39d1773397a (diff)
downloadguix-4df9495e685596f9a1c3a998eac990ff41a0b5f0.tar.gz
gnu: Add openttd-opengfx.
* gnu/packages/games.scm (openttd-opengfx): New variable.
-rw-r--r--gnu/packages/games.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index b706b57932..1af6409de3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -73,6 +73,7 @@
   #:use-module (gnu packages game-development)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gimp)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -2298,6 +2299,63 @@ engine.  When you start it you will be prompted to download a graphics set.")
 ;; 'openttd' a wrapper around them.  The engine is playable by itself,
 ;; but it asks a user to download graphics if it's not found.
 
+(define openttd-opengfx
+  (package
+    (name "openttd-opengfx")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://binaries.openttd.org/extra/opengfx/"
+                           version "/opengfx-" version "-source.tar.xz"))
+       (sha256
+        (base32
+         "0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list "CC=gcc"
+                          (string-append "INSTALL_DIR="
+                                         (assoc-ref %outputs "out")
+                                         "/share/openttd/baseset"))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             ;; Make sure HOME is writable for GIMP.
+             (setenv "HOME" (getcwd))
+
+             ;; Redirect stdout, not stderr, to /dev/null. This prevents
+             ;; dos2unix from receiving its version information as a flag.
+             (substitute* "Makefile"
+               (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null")
+                "$(UNIX2DOS) -q --version 1>/dev/null")))))
+       ;; The check phase for this package only checks the md5sums of the built
+       ;; GRF files against the md5sums of the release versions. Because we use
+       ;; different software versions than upstream does, some of the md5sums
+       ;; are different. However, the package is still reproducible, it's safe
+       ;; to disable this test.
+       #:tests? #f))
+    (native-inputs `(("dos2unix" ,dos2unix)
+                     ("gimp" ,gimp)
+                     ("grfcodec" ,grfcodec)
+                     ("nml" ,nml)
+                     ("python" ,python-2)))
+    (home-page "http://dev.openttdcoop.org/projects/opengfx")
+    (synopsis "Base graphics set for OpenTTD")
+    (description
+     "The OpenGFX projects is an implementation of the OpenTTD base grahics
+set that aims to ensure the best possible out-of-the-box experience.
+
+OpenGFX provides you with...
+@enumerate
+@item All graphics you need to enjoy OpenTTD.
+@item Uniquely drawn rail vehicles for every climate.
+@item Completely snow-aware rivers.
+@item Different river and sea water.
+@item Snow-aware buoys.
+@end enumerate")
+    (license license:gpl2)))
+
 (define-public openttd
   (package
     (inherit openttd-engine)