[PATCH 3/3] gnu: Add 0ad.

2016-12-30 Thread ng0
From: ng0 

* gnu/packages/games.scm (0ad): New variable.
---
 gnu/packages/games.scm | 147 -
 1 file changed, 146 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 69c72a55f..dba021619 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
 ;;; Copyright © 2016 Rodger Fox 
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Albin Söderqvist 
 ;;; Copyright © 2016 Kei Kebreau 
 ;;; Copyright © 2016 Alex Griffin 
@@ -57,6 +57,7 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
@@ -65,6 +66,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -74,8 +76,10 @@
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages messaging)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages ocaml)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
@@ -98,12 +102,15 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages upnp)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages ruby)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
@@ -3114,3 +3121,141 @@ for Un*x systems with X11.")
;; license:lppl1.3c  TODO: ADD.
;; license:bitstream-vera  TODO: ADD.
license:cc-by-sa3.0
+
+(define-public 0ad
+  (package
+(name "0ad")
+(version "0.0.21-alpha")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://releases.wildfiregames.com/0ad-";
+ version "-unix-build.tar.xz"))
+   (file-name (string-append name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "1kw3hqnr737ipx4f03khz3hvsh3ha7r8iy9njppk2faa53j27gln"
+(inputs
+ `(("0ad-data" ,0ad-data)
+   ("curl" ,curl)
+   ("enet" ,enet)
+   ("perl" ,perl)
+   ("icu4c" ,icu4c)
+   ("libxml2" ,libxml2)
+   ("nspr" ,nspr)
+   ("libpng" ,libpng)
+   ("sdl2" ,sdl2)
+   ("miniupnpc" ,miniupnpc)
+   ("zlib" ,zlib)
+   ("openjpeg" ,openjpeg)
+   ("mesa" ,mesa)
+   ("libx11" ,libx11)
+   ("libxcursor" ,libxcursor)
+   ("wxwidgets" ,wxwidgets)
+   ("gloox" ,gloox) ; lobby
+   ("mozjs-38" ,mozjs-38)
+   ;; TODO: ("nvidia-texture-tools" ,nvidia-texture-tools)
+   ("libvorbis" ,libvorbis)
+   ("openal" ,openal)))
+(native-inputs
+ `(("cmake" ,cmake)
+   ("pkg-config" ,pkg-config)
+   ("boost" ,boost)
+   ("mesa" ,mesa)
+   ("zip" ,zip)
+   ("python-2" ,python-2)
+   ("python" ,python)
+   ("ruby" ,ruby)
+   ("bash" ,bash)
+   ("libsm" ,libsm)))
+(build-system gnu-build-system)
+;; NOTE:
+;; FIX MOZJS build:
+;; lrwxrwxrwx 2 root root 79 Jan  1  1970 
/gnu/store/xzq971blmjazq7bc267wcgna3bjw15js-mozjs-38.2.1.rc0/include/mozjs-/js/RequiredDefines.h
 -> 
/tmp/guix-build-mozjs-38.2.1.rc0.drv-0/mozjs-38.0.0/js/public/RequiredDefines.h
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'create-/bin/sh-symlink
+   (lambda _
+ ;; The build system creates files during build which expect
+ ;; /bin/sh to exist (shebang).
+ (let ((bash (string-append (assoc-ref %build-inputs "bash")
+   "/bin/sh")))
+   ;;(symlink bash (string-append (assoc-ref %outputs "out")
+   ;; "/bin/sh"))
+   (substitute* 
"build/premake/premake4/src/actions/xcode/xcode_common.lua"
+ (("/bin/sh") bash))
+   (substitute* "build/premake/premake4/src/host/scripts.c"
+ (("/bin/sh") bash))
+   (substitute* 
"build/premake/premake4/tests/actions/xcode/test_xcode_project.lua"
+ (("/bin/sh") bash)
+ ;;

[PATCH 3/3] gnu: Add 0ad.

2016-12-23 Thread ng0
From: ng0 

* gnu/packages/games.scm (0ad): New variable.
---
 gnu/packages/games.scm | 129 -
 1 file changed, 128 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 5ad1a310a..c5bdd9caa 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
 ;;; Copyright © 2016 Rodger Fox 
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016 Albin Söderqvist 
 ;;; Copyright © 2016 Kei Kebreau 
 ;;; Copyright © 2016 Alex Griffin 
@@ -57,6 +57,7 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages game-development)
@@ -65,6 +66,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -74,8 +76,10 @@
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages messaging)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages ocaml)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
@@ -98,12 +102,15 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages upnp)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages ruby)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
@@ -3114,3 +3121,123 @@ for Un*x systems with X11.")
;; license:lppl1.3c  TODO: ADD.
;; license:bitstream-vera  TODO: ADD.
license:cc-by-sa3.0
+
+(define-public 0ad
+  (package
+(name "0ad")
+(version "0.0.21-alpha")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://releases.wildfiregames.com/0ad-";
+ version "-unix-build.tar.xz"))
+   (file-name (string-append name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "1kw3hqnr737ipx4f03khz3hvsh3ha7r8iy9njppk2faa53j27gln"
+(inputs
+ `(("0ad-data" ,0ad-data)
+   ("curl" ,curl)
+   ("enet" ,enet)
+   ("perl" ,perl)
+   ("icu4c" ,icu4c)
+   ("libxml2" ,libxml2)
+   ("nspr" ,nspr)
+   ("libpng" ,libpng)
+   ("sdl2" ,sdl2)
+   ("miniupnpc" ,miniupnpc)
+   ("zlib" ,zlib)
+   ("openjpeg" ,openjpeg)
+   ("mesa" ,mesa)
+   ("libx11" ,libx11)
+   ("libxcursor" ,libxcursor)
+   ("wxwidgets" ,wxwidgets)
+   ("gloox" ,gloox) ; lobby
+   ("mozjs-38" ,mozjs-38)
+   ;; TODO: ("nvidia-texture-tools" ,nvidia-texture-tools)
+   ("libvorbis" ,libvorbis)
+   ("openal" ,openal)))
+(native-inputs
+ `(("cmake" ,cmake)
+   ("pkg-config" ,pkg-config)
+   ("boost" ,boost)
+   ("mesa" ,mesa)
+   ("zip" ,zip)
+   ("python-2" ,python-2)
+   ("python" ,python)
+   ("ruby" ,ruby)
+   ("bash" ,bash)
+   ("libsm" ,libsm)))
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'create-/bin/sh-symlink
+   (lambda _
+ ;; The build system creates files during build which expect
+ ;; /bin/sh to exist (shebang).
+ (let ((bash (string-append (assoc-ref %build-inputs "bash")
+   "/bin/sh")))
+   (symlink bash (string-append (assoc-ref %outputs "out")
+"/bin/sh")
+ (add-after 'unpack 'delete-bundles
+   (lambda _
+ (delete-file-recursively "libraries/source/spidermonkey")))
+ ;; We need to use the included premake4.
+ (add-before 'configure 'build-premake4
+   (lambda _
+ (setenv "CC" "gcc")
+ (zero? (system* "make" "-C"
+ "build/premake/premake4/build/gmake.unix"
+ (replace 'configure
+   (lambda* _
+ (with-directory-excursion "build/premake"
+   (zero? (system* "premake4/bin/release/premake4"
+   "--file=premake4.lua"
+