guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 2/3] gnu: Add irrlicht.


From: David Thompson
Subject: Re: [PATCH 2/3] gnu: Add irrlicht.
Date: Fri, 05 Sep 2014 15:42:36 -0400
User-agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu)

Eric Bavier <address@hidden> writes:

> David Thompson writes:
>
>> +                 (lambda* (#:key outputs #:allow-other-keys)
>> +                   (let ((prefix (assoc-ref outputs "out")))
>
> This should probably be named "out" rather than "prefix" for consistency
> with the rest of guix's packages.
>

Done.

>> +    (description
>> +     "3D game engine.")
>
> Perhaps something more descriptive.  Like:
>
> "The Irrlicht Engine is a high performance realtime 3D engine written in
> C++.  It is completely cross-platform, using D3D, OpenGL and its own
> software renderers, and has all of the state-of-the-art features."
>

I used just the first sentence.  The second sentence mentioned
proprietary software (D3D) and sounded too much like marketing.

>> +    (license bsd-3)))
>
> It's actually the zlib license.
>

Damn, you're right.  Fixed.

Thanks for the feedback.  New patch below.

>From db3bc54eb6aa5c42888125ce8bb69447284d03d3 Mon Sep 17 00:00:00 2001
From: David Thompson <address@hidden>
Date: Fri, 5 Sep 2014 13:16:50 -0400
Subject: [PATCH 2/3] gnu: Add irrlicht.

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e6ef402..3faf892 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -20,6 +20,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages games)
+  #:use-module (srfi srfi-1)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages zip)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake))
 
@@ -353,3 +355,49 @@ through the EFX extension.  It also facilitates streaming 
audio, multi-channel
 buffers, and audio capture.")
     (home-page "http://kcat.strangesoft.net/openal.html";)
     (license lgpl2.0+)))
+
+(define-public irrlicht
+  (package
+    (name "irrlicht")
+    (version "1.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/irrlicht/Irrlicht%20SDK/"
+                    (string-join (take (string-split version #\.) 2) ".")
+                    "/" version "/irrlicht-" version ".zip"))
+              (sha256
+               (base32
+                "0yz9lvsc8aqk8wj4rnpanxrw90gqpwn9w5hxp94r8hnm2q0vjjw1"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-after
+                 'unpack 'fix-build-env
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     (substitute* "Makefile"
+                       (("INSTALL_DIR = /usr/local/lib")
+                        (string-append "INSTALL_DIR = " out "/lib")))
+                     ;; The Makefile assumes these directories exist.
+                     (mkdir-p (string-append out "/lib"))
+                     (mkdir-p (string-append out "/include"))))
+                 (alist-replace
+                  'unpack
+                  (lambda* (#:key source #:allow-other-keys)
+                    (and (zero? (system* "unzip" source))
+                         ;; The actual source is buried a few directories deep.
+                         (chdir "irrlicht-1.8.1/source/Irrlicht/")))
+                  ;; No configure script
+                  (alist-delete 'configure %standard-phases)))
+       #:tests? #f ; no check target
+       #:make-flags '("CC=gcc" "sharedlib")))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (inputs
+     `(("mesa" ,mesa)))
+    (synopsis "3D game engine")
+    (description
+     "The Irrlicht Engine is a high performance realtime 3D engine written in
+C++.")
+    (home-page "http://irrlicht.sourceforge.net/";)
+    (license zlib)))
-- 
2.1.0

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

reply via email to

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