guix-commits
[Top][All Lists]
Advanced

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

02/02: gnu: Add Red Eclipse.


From: Alex Kost
Subject: 02/02: gnu: Add Red Eclipse.
Date: Thu, 28 Apr 2016 15:51:13 +0000

alezost pushed a commit to branch master
in repository guix.

commit 158f5734cfa34ffda8bc714e47eb68c8312346d5
Author: Kei Yamashita <address@hidden>
Date:   Sat Apr 23 01:58:55 2016 -0400

    gnu: Add Red Eclipse.
    
    * gnu/packages/games.scm (redeclipse): New variable.
    
    Signed-off-by: Alex Kost <address@hidden>
---
 gnu/packages/games.scm |  147 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 147 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index d7b2f2f..34998ce 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <address@hidden>
 ;;; Copyright © 2016 Nils Gillmann <address@hidden>
 ;;; Copyright © 2016 Albin Söderqvist <address@hidden>
+;;; Copyright © 2016 Kei Yamashita <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +36,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages games)
+  #:use-module (ice-9 match)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix packages)
@@ -2094,3 +2096,148 @@ is attributed to Albert Einstein.")
 the chat server psyced with the specific config located at
 http://lavachat.symlynx.com/unix/";)
     (license license:gpl2+)))
+
+(define-public redeclipse
+  (let ((data-sources
+         '(("acerspyro"   
"0gxxr6nbac918b49x1cp72nw951hqm5m4iyi2shb1612ly384w8q")
+           ("actors"      
"1jq9q82m6nx07nwpb5cnpdcwa33jrcgg0j2yir8zk6zpnxdmp0il")
+           ("appleflap"   
"1cn41c6xs68l88rmphqh4rlsh6h04xnkkvklxdpqpvvr4zlsmi85")
+           ("blendbrush"  
"0wjbgnniirl9arv274m8mpdqbbq7d09g0pq1z9dl56sazmbk5yy0")
+           ("caustics"    
"0gxv1pqhi6c27mqi9mwqyfnzv9rq5sva1vgxhb9ljh231rmkdc15")
+           ("crosshairs"  
"0vlyhd10mly2qnjpwvss9ani7dg3v2njpf7457ilx7fk9a3hlbkk")
+           ("elyvisions"  
"0s0l77rd9fd09imvj05pwcz4bqrn3j8qsw8prv5pi5bqa50mbn19")
+           ("fonts"       
"0apn8j9lf43nmnidq1f0azhrr1n896g7si4djbix1bwll6ild0mq")
+           ("freezurbern" 
"0y60s3g8v8bl2m6pk2yr9fzl67ymv821x6l2f9hszzydlcjwlscn")
+           ("john"        
"1lmwn0r7qpyac2qrnkv9llhsbyzqpgr27hxq2qn1rfbq12fja0ld")
+           ("jojo"        
"0sh3ricqlqw868a0mz2n9iw7lhp650pysd2wkcdizhcmw2hlayx9")
+           ("jwin"        
"1r459jhxx64j3vdw886ypkm6zg0yg6cr2qark54i1zdskjhp762k")
+           ("luckystrike" 
"08xq87crcz0jq45q1g6p8h4xrm1bcqzd019zp7n0f9c3p9j6al91")
+           ("maps"        
"1f0hqh8mbd4nzqi4hja4k5f380nszhx8igajg5ini4p9cp39x9vi")
+           ("mayhem"      
"1hn9jp64aiz8k6p2nxyg82h2nc8fadgghzhrm26y7i4bz9xwxacm")
+           ("mikeplus64"  
"1kj2zznxykgm3f1h1fvd8xzim5f292lyh96l2gj5km1nynzjmaap")
+           ("misc"        
"1phmzjs5rmika3568b7jb6ywbsi40r711rhg8cbsflllcp7hdidf")
+           ("nobiax"      
"08in9c24m2pq7x371q10ny4q3l1l3zb8m029iypy2lx9gr99i7hm")
+           ("particles"   
"0wcd3s6vhrjknffnfqrcpkcqk1r01f1fiz6q7n4srhpdv3i4d6vm")
+           ("philipk"     
"1s0kmap8iv5sddanrhycblskj3ywvz9xg2m11f6vnfy108palkga")
+           ("projectiles" 
"0xdhrs9rsncd1f88s5igdbfksli7h0irg5jdbj6p2a3rgdzb3gnj")
+           ("props"       
"1sbh3a94pmzic78bil0dvdh4fd8s6gh52f77jdram3w0gwv79x3r")
+           ("skyboxes"    
"0hy95a6ps0fk4cq8j6pjipk8rnsjna9bm0ly2l373gbshlfg6zgi")
+           ("sounds"      
"1pnyd7acm19sj1k1cy9hq3n3dnzzaiak7j5f0h7fikiybq5rdk7b")
+           ("textures"    
"0gxfnc4xm0kp3pd7lhd4yy1dqq00g727h21l64nyiw2b2d6n1755")
+           ("torley"      
"1cri5mf8ls8mvpn1x1p9hacyg9ibilaiz07gqv2hl2q8ww5xc1s6")
+           ("trak"        
"0xyk5z59kn9ym9n5fdcrwhqig6gjcjgnrgi9rqbbai713w9vpsbq")
+           ("ulukai"      
"0ziv9c4inmza40mas1w9dp048y6f646x00bs7kqv33hd1snbg3v3")
+           ("unnamed"     
"0hm291k9azilnp0m04zhm52vml1rhxk1z4l74v66spbikr6s2zdx")
+           ("vanities"    
"1qbc2v67kdrlvq10miw3dfmg3j9w9bq1hgqrzjcbph0l4gra1ndw")
+           ("vegetation"  
"13928yw0wflcj620cmp8rqwplaw8508f3j4zi32vxida1ksz6xn0")
+           ("weapons"     
"1ghn6nfcnd5lyl8dnj22csldvf9hrb32wjzpab4sjjz3iyv0zmr3")
+           ("wicked"      
"0q9badvg6ix5rhl05s83kw2v6a49jpnbkqk4ls89qahaddfagi8g"))))
+    (package
+      (name "redeclipse")
+      (version "1.5.3")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://github.com/red-eclipse/base";
+                                    "/archive/v" version ".tar.gz"))
+                (file-name (string-append name "-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1y0jv5lz69zisiw8sd5z9a9v21zc83by1sx9b7dly78ngif4gc4l"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f            ; no check target
+         #:make-flags (list "CC=gcc" "-Csrc"
+                            (string-append "INSTDIR="
+                                           (assoc-ref %outputs "out") "/bin"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'unpack-data
+             (lambda* (#:key inputs #:allow-other-keys)
+               (delete-file-recursively "data")
+               (mkdir "data")
+               (for-each (lambda (name)
+                           (system* "tar" "-xvf"
+                                    (assoc-ref inputs name)
+                                    "-Cdata"
+                                    "--transform"
+                                    (string-append "s/"
+                                                   name "-1.5.3/"
+                                                   name "/")))
+                         (list ,@(map car data-sources)))
+               #t))
+           (delete 'configure)  ; no configure script
+           (add-after 'set-paths 'set-sdl-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (setenv "CPATH"
+                       (string-append (assoc-ref inputs "sdl-union")
+                                      "/include/SDL"))
+               #t))
+           (add-after 'install 'copy-data
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out")))
+                 (copy-recursively "config"
+                                   (string-append out "/config"))
+                 (copy-recursively "data"
+                                   (string-append out "/data")))
+               #t))
+           (add-after 'copy-data 'wrap-program
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (with-directory-excursion bin
+                   (rename-file "redeclipse_linux"
+                                ".redeclipse_linux-real")
+                   (rename-file "redeclipse_server_linux"
+                                ".redeclipse_server_linux-real")
+                   (call-with-output-file "redeclipse_linux"
+                     (lambda (port)
+                       (format port "#!~a/bin/sh
+# Run the thing from its home, otherwise it just bails out.
+cd \"~a\"
+exec -a \"$0\" ~a/.redeclipse_linux-real~%"
+                               (assoc-ref inputs "bash") ;implicit input
+                               (string-append out)
+                               (string-append bin))))
+                   (call-with-output-file "redeclipse_server_linux"
+                     (lambda (port)
+                       (format port "#!~a/bin/sh
+# Run the thing from its home, otherwise it just bails out.
+cd \"~a\"
+exec -a \"$0\" ~a/.redeclipse_server_linux-real~%"
+                               (assoc-ref inputs "bash") ;implicit input
+                               (string-append out)
+                               (string-append bin))))
+                   (chmod "redeclipse_linux" #o555)
+                   (chmod "redeclipse_server_linux" #o555)))
+               #t)))))
+      (native-inputs `(("pkg-config" ,pkg-config)))
+      (inputs
+       `(("curl" ,curl)
+         ("glu" ,glu)
+         ("sdl-union" ,(sdl-union))
+         ;; Create origin records for the many separate data packages.
+         ,@(map (match-lambda
+                  ((name hash)
+                   (list name
+                         (origin
+                           (method url-fetch)
+                           (uri (string-append
+                                 "https://github.com/red-eclipse/";
+                                 name "/archive/v" version ".tar.gz"))
+                           (sha256 (base32 hash))
+                           (file-name (string-append name "-" version
+                                                     ".tar.gz"))))))
+                data-sources)))
+      (home-page "http://redeclipse.net/";)
+      (synopsis "Arena shooter derived from the Cube 2 engine")
+      (description
+       "Red Eclipse is an arena shooter, created from the Cube2 engine.
+Offering an innovative parkour system and distinct but all potent weapons,
+Red Eclipse provides fast paced and accessible gameplay.")
+      ;; The engine is under Zlib; data files are covered by the other
+      ;; licenses.  More details at <http://redeclipse.net/wiki/License>.
+      (license (list license:expat
+                     license:zlib
+                     license:cc-by-sa3.0
+                     license:cc-by3.0
+                     license:cc0)))))



reply via email to

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