guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: Add abbaye


From: David Thompson
Subject: [PATCH] gnu: Add abbaye
Date: Wed, 30 Apr 2014 20:43:53 -0400
User-agent: Notmuch/0.17 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu)

"l'Abbaye des Morts" is a fun little indie game that I found a few days
ago that only relies on SDL libraries, so I figured I'd package it.  The
source code and makefile are a mess so I had to add a few extra phases
to get everything to work right.

>From 040828eabadf401743c4811c26dfb9220f8052d0 Mon Sep 17 00:00:00 2001
From: David Thompson <address@hidden>
Date: Wed, 30 Apr 2014 20:36:32 -0400
Subject: [PATCH 2/2] gnu: Add abbaye.

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 46fbd21..3caef32 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages sdl)
   #:use-module (guix build-system gnu))
 
 (define-public gnubg
@@ -94,3 +95,65 @@ you to set the size of the cube (the default is 3x3) or to 
change the colors.
  You may even apply photos to the faces instead of colors.  The game is
 scriptable with Guile.")
     (license gpl3+)))
+
+(define-public abbaye
+  (package
+    (name "abbaye")
+    (version "1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append 
"http://abbaye-for-linux.googlecode.com/files/abbaye-for-linux-src-";
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:modules ((ice-9 match)
+                  (guix build gnu-build-system)
+                  (guix build utils))
+       #:phases (alist-cons-after
+                 'set-paths 'set-sdl-paths
+                 (lambda* (#:key inputs outputs (search-paths '()) 
#:allow-other-keys)
+                   (define input-directories
+                     (match inputs
+                       (((_ . dir) ...)
+                        dir)))
+                   ;; Modify CPATH variable to point to include/SDL for SDL 
header
+                   ;; files.
+                   (set-path-environment-variable "CPATH"
+                                                  '("include/SDL")
+                                                  input-directories))
+                 (alist-cons-after
+                  'patch-source-shebangs 'patch-makefile
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    ;; Replace /usr with package output directory.
+                    (for-each (lambda (file)
+                                (substitute* file
+                                  (("/usr") (assoc-ref outputs "out"))))
+                              '("makefile" "src/pantallas.c" "src/comun.h")))
+                  (alist-cons-before
+                   'install 'make-install-dirs
+                   (lambda* (#:key outputs #:allow-other-keys)
+                     (let ((prefix (assoc-ref outputs "out")))
+                       ;; Create directories that the makefile assumes exist.
+                       (mkdir-p (string-append prefix "/bin"))
+                       (mkdir-p (string-append prefix "/share/applications"))))
+                   ;; No configure script.
+                   (alist-delete 'configure %standard-phases))))
+       #:tests? #f)) ;; No check target.
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("sdl" ,sdl)
+              ("sdl-gfx" ,sdl-gfx)
+              ("sdl-image" ,sdl-image)
+              ("sdl-mixer" ,sdl-mixer)
+              ("sdl-ttf" ,sdl-ttf)))
+    (home-page "http://code.google.com/p/abbaye-for-linux/";)
+    (synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"")
+    (description "l'Abbaye des Morts is a 2D platform game set in 13th century
+France.  The Cathars, who preach about good Christian beliefs, were being
+expelled by the Catholic Church out of the Languedoc region in France.  One of
+them, called Jean Raymond, found an old church in which to hide, not knowing
+that beneath its ruins lay buried an ancient evil.")
+    (license gpl3+)))
-- 
1.8.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]