Re: [PATCH 3/3] gnu: Add minetest.

2014-09-06 Thread David Thompson
Ludovic Courtès  writes:

> David Thompson  skribis:
>
>> From 55e5624ec2a18c18d5d135170cd8693dbf2c8bda Mon Sep 17 00:00:00 2001
>> From: David Thompson 
>> Date: Fri, 5 Sep 2014 14:46:44 -0400
>> Subject: [PATCH 3/3] gnu: Add minetest.
>>
>> * gnu/packages/games.scm (minetest): New variable.
>
> LGTM, please push.

I won't be pushing this one.  I'm going to send 2 new patches that
improve on this. :)

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Re: [PATCH 3/3] gnu: Add minetest.

2014-09-06 Thread Ludovic Courtès
David Thompson  skribis:

> From 55e5624ec2a18c18d5d135170cd8693dbf2c8bda Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Fri, 5 Sep 2014 14:46:44 -0400
> Subject: [PATCH 3/3] gnu: Add minetest.
>
> * gnu/packages/games.scm (minetest): New variable.

LGTM, please push.

Ludo’.



Re: [PATCH 3/3] gnu: Add minetest.

2014-09-05 Thread David Thompson
Ludovic Courtès  writes:

> David Thompson  skribis:
>
>> * gnu/packages/games.scm (minetest): New variable.
>
> [...]
>
>> +(arguments
>> + '(#:phases (alist-cons-before
>> + 'configure 'set-cpath
>> + (lambda* (#:key inputs #:allow-other-keys)
>> +   ;; Adjust the CPATH so that cmake can find irrlicht,
>> +   ;; openal, and curl headers.
>
> Why is this needed?  Doesn’t CMake use `pkg-config openal --cflags` and
> similar?
>

Not from what I can tell.  At least not the way this cmake file is written.

> Perhaps ‘set-path-environment-variable’ could be used, as done for
> Abbaye?
>

'set-path-environment-variable' is much cleaner.  Forgot about that
handy procedure.

>> +(description
>> + "Minetest is an infinite-world block sandbox game and a game engine.")
>
> Please expound a bit.
>

Added a longer description.  New patch below.

>From 55e5624ec2a18c18d5d135170cd8693dbf2c8bda Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Fri, 5 Sep 2014 14:46:44 -0400
Subject: [PATCH 3/3] gnu: Add minetest.

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3faf892..79521da 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -45,6 +45,9 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages zip)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages lua)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake))
 
@@ -401,3 +404,59 @@ buffers, and audio capture.")
 C++.")
 (home-page "http://irrlicht.sourceforge.net/";)
 (license zlib)))
+
+(define-public minetest
+  (package
+(name "minetest")
+(version "0.4.10")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/minetest/minetest/archive/";
+version ".tar.gz"))
+  (sha256
+   (base32
+"1xxv0g83iqszjgwnbdcbsprqg76cb6jnbsh5qhm7lcwx4wy2y2k2"
+(build-system cmake-build-system)
+(arguments
+ '(#:phases (alist-cons-before
+ 'configure 'set-cpath
+ (lambda* (#:key inputs #:allow-other-keys)
+   ;; Adjust the CPATH so that cmake can find irrlicht,
+   ;; openal, and curl headers.
+   (set-path-environment-variable "CPATH"
+  '("include/AL"
+"include/irrlicht"
+"include/curl"
+"include")
+  (map cdr inputs)))
+ %standard-phases)
+   #:configure-flags '("-DRUN_IN_PLACE=0"
+   "-DENABLE_FREETYPE=1"
+   "-DENABLE_GETTEXT=1")
+   #:tests? #f)) ; no check target
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("irrlicht" ,irrlicht)
+   ("libpng" ,libpng)
+   ("libjpeg-8" ,libjpeg-8)
+   ("libxxf86vm" ,libxxf86vm)
+   ("mesa" ,mesa)
+   ("libogg" ,libogg)
+   ("libvorbis" ,libvorbis)
+   ("openal" ,openal)
+   ("freetype" ,(@ (gnu packages fontutils) freetype))
+   ("curl" ,curl)
+   ("luajit" ,luajit)
+   ("gettext" ,gnu-gettext)
+   ("sqlite" ,sqlite)))
+(synopsis "Infinite-world block sandbox game")
+(description
+ "Minetest is a sandbox construction game.  Players can create and destroy
+various types of blocks in a three-dimensional open world.  This allows
+forming structures in every possible creation, on multiplayer servers or as a
+single player.  Mods and texture packs allow players to personalize the game
+in different ways.")
+(home-page "http://minetest.net";)
+(license lgpl2.1+)))
-- 
2.1.0


-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate


Re: [PATCH 3/3] gnu: Add minetest.

2014-09-05 Thread Ludovic Courtès
David Thompson  skribis:

> * gnu/packages/games.scm (minetest): New variable.

[...]

> +(arguments
> + '(#:phases (alist-cons-before
> + 'configure 'set-cpath
> + (lambda* (#:key inputs #:allow-other-keys)
> +   ;; Adjust the CPATH so that cmake can find irrlicht,
> +   ;; openal, and curl headers.

Why is this needed?  Doesn’t CMake use `pkg-config openal --cflags` and
similar?

Perhaps ‘set-path-environment-variable’ could be used, as done for
Abbaye?

> +(description
> + "Minetest is an infinite-world block sandbox game and a game engine.")

Please expound a bit.

Thanks,
Ludo’.



[PATCH 3/3] gnu: Add minetest.

2014-09-05 Thread David Thompson
* gnu/packages/games.scm (minetest): New variable.
---
 gnu/packages/games.scm | 58 ++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 86ad436..e79e8a7 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -45,6 +45,9 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages zip)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages lua)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake))
 
@@ -400,3 +403,58 @@ buffers, and audio capture.")
  "3D game engine.")
 (home-page "http://irrlicht.sourceforge.net/";)
 (license bsd-3)))
+
+(define-public minetest
+  (package
+(name "minetest")
+(version "0.4.10")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/minetest/minetest/archive/";
+version ".tar.gz"))
+  (sha256
+   (base32
+"1xxv0g83iqszjgwnbdcbsprqg76cb6jnbsh5qhm7lcwx4wy2y2k2"
+(build-system cmake-build-system)
+(arguments
+ '(#:phases (alist-cons-before
+ 'configure 'set-cpath
+ (lambda* (#:key inputs #:allow-other-keys)
+   ;; Adjust the CPATH so that cmake can find irrlicht,
+   ;; openal, and curl headers.
+   (setenv "CPATH"
+   (string-append
+(getenv "CPATH") ":"
+(assoc-ref inputs "irrlicht")
+"/include/irrlicht:"
+(assoc-ref inputs "openal")
+"/include/AL:"
+(assoc-ref inputs "curl")
+"/include/curl")))
+ %standard-phases)
+   #:configure-flags '("-DRUN_IN_PLACE=0"
+   "-DENABLE_FREETYPE=1"
+   "-DENABLE_GETTEXT=1")
+   #:tests? #f)) ; no check target
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("irrlicht" ,irrlicht)
+   ("libpng" ,libpng)
+   ("libjpeg-8" ,libjpeg-8)
+   ("libxxf86vm" ,libxxf86vm)
+   ("mesa" ,mesa)
+   ("libogg" ,libogg)
+   ("libvorbis" ,libvorbis)
+   ("openal" ,openal)
+   ("freetype" ,(@ (gnu packages fontutils) freetype))
+   ("curl" ,curl)
+   ("luajit" ,luajit)
+   ("gettext" ,gnu-gettext)
+   ("sqlite" ,sqlite)))
+(synopsis "Infinite-world block sandbox game")
+(description
+ "Minetest is an infinite-world block sandbox game and a game engine.")
+(home-page "http://minetest.net";)
+(license lgpl2.1+)))
-- 
2.1.0