GNU bug report logs - #28380
[PATCH] gnu: Add godot.

Previous Next

Package: guix-patches;

Reported by: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>

Date: Thu, 7 Sep 2017 12:01:01 UTC

Severity: normal

Tags: patch

Merged with 25908

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 28380 in the body.
You can then email your comments to 28380 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#28380; Package guix-patches. (Thu, 07 Sep 2017 12:01:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter Mikkelsen <petermikkelsen10 <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 07 Sep 2017 12:01:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
Subject: [PATCH] gnu: Add godot.
Date: Thu,  7 Sep 2017 13:59:47 +0200
* gnu/packages/game-development.scm (godot): New variable.
---
 gnu/packages/game-development.scm | 105 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 104 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index c8869a494..e04c11d7d 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2016, 2017 Julian Graham <joolean <at> gmail.com>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837 <at> gmail.com>
+;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -73,7 +74,8 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mp3)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages tls))
 
 (define-public bullet
   (package
@@ -1019,3 +1021,104 @@ with its own editor, called OpenMW-CS which allows the user to edit or create
 their own original games.")
     (home-page "https://openmw.org")
     (license license:gpl3)))
+
+(define-public godot
+  (package
+    (name "godot")
+    (version "2.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "https://github.com/godotengine/godot/archive/"
+                              version "-stable.tar.gz"))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32 "1mz89nafc1m7srbqvy7iagxrxmqvf5hbqi7i0lwaapkx6q0kpkq7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; There are no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'scons-use-env
+           (lambda _
+             ;; Scons does not use the environment variables by default,
+             ;; but this substitution makes it do so.
+             (substitute* "SConstruct"
+               (("env_base = Environment\\(tools=custom_tools\\)")
+                (string-append
+                 "env_base = Environment(tools=custom_tools)\n"
+                 "env_base = Environment(ENV=os.environ)")))
+             #t))
+         (replace 'build
+           (lambda _
+             (zero? (system*
+                     "scons"
+                     "platform=x11"
+                     ;; Avoid using many of the bundled libs.
+                     ;; Note: These options can be found in the SConstruct file.
+                     "builtin_freetype=no"
+                     "builtin_glew=no"
+                     "builtin_libmpdec=no"
+                     "builtin_libogg=no"
+                     "builtin_libpng=no"
+                     "builtin_libtheora=no"
+                     "builtin_libvorbis=no"
+                     "builtin_libwebp=no"
+                     "builtin_openssl=no"
+                     "builtin_opus=no"
+                     "builtin_zlib=no"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (with-directory-excursion "bin"
+                 (if (file-exists? "godot.x11.tools.64")
+                     (rename-file "godot.x11.tools.64" "godot")
+                     (rename-file "godot.x11.tools.32" "godot"))
+                 (install-file "godot" bin)))))
+         (add-after 'install 'install-godot-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (desktop (string-append out "/share/applications"))
+                    (icon-dir (string-append out "/share/pixmaps")))
+               (mkdir-p desktop)
+               (mkdir-p icon-dir)
+               (rename-file "icon.png" "godot.png")
+               (install-file "godot.png" icon-dir)
+               (with-output-to-file
+                   (string-append desktop "/godot.desktop")
+                 (lambda _
+                   (format #t
+                           "[Desktop Entry]~@
+                           Name=godot~@
+                           Comment=The godot game engine~@
+                           Exec=~a/bin/godot~@
+                           TryExec=~@*~a/bin/godot~@
+                           Icon=godot~@
+                           Type=Application~%"
+                           out)))
+               #t))))))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("scons" ,scons)))
+    (inputs `(("alsa-lib" ,alsa-lib)
+              ("freetype" ,freetype)
+              ("glew" ,glew)
+              ("glu" ,glu)
+              ("libtheora" ,libtheora)
+              ("libvorbis" ,libvorbis)
+              ("libwebp" ,libwebp)
+              ("libx11" ,libx11)
+              ("libxcursor" ,libxcursor)
+              ("libxinerama" ,libxinerama)
+              ("libxrandr" ,libxrandr)
+              ("mesa" ,mesa)
+              ("openssl" ,openssl)
+              ("opusfile" ,opusfile)
+              ("pulseaudio" ,pulseaudio)
+              ("python2" ,python-2)))
+    (home-page "https://godotengine.org/")
+    (synopsis "Advanced 2d and 3d game engine")
+    (description "Godot is an advanced, feature-packed, multi-platform
+2D and 3D open source game engine.")
+    (license license:expat)))
-- 
2.14.1





Merged 25908 28380. Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Fri, 08 Sep 2017 15:45:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#28380; Package guix-patches. (Fri, 08 Sep 2017 15:46:01 GMT) Full text and rfc822 format available.

Message #10 received at 28380 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
Cc: 28380 <at> debbugs.gnu.org
Subject: Re: [bug#28380] [PATCH] gnu: Add godot.
Date: Fri, 08 Sep 2017 17:45:32 +0200
Hi Peter,

Could you check how this compares to Chris’ submission at
<https://bugs.gnu.org/25908>?  Perhaps we simply need to merge things
from both.

Thanks in advance!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#28380; Package guix-patches. (Fri, 08 Sep 2017 16:14:02 GMT) Full text and rfc822 format available.

Message #13 received at 28380 <at> debbugs.gnu.org (full text, mbox):

From: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 28380 <at> debbugs.gnu.org
Subject: Re: [bug#28380] [PATCH] gnu: Add godot.
Date: Fri, 8 Sep 2017 18:13:37 +0200
[Message part 1 (text/plain, inline)]
I got some inspiration from that one, and afaik bug 25908 was never
completed. I guess you can see my patch as a completed version, co-authored
by Chris :) It builds and installs, and i have unbundled as much as
possible right now.

Hope that helps!

Peter

Den 8. sep. 2017 17.45 skrev "Ludovic Courtès" <ludo <at> gnu.org>:

Hi Peter,

Could you check how this compares to Chris’ submission at
<https://bugs.gnu.org/25908>?  Perhaps we simply need to merge things
from both.

Thanks in advance!

Ludo’.
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#28380; Package guix-patches. (Thu, 14 Sep 2017 11:43:04 GMT) Full text and rfc822 format available.

Message #16 received at 28380-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Peter Mikkelsen <petermikkelsen10 <at> gmail.com>
Cc: 25908-done <at> debbugs.gnu.org, 28380-done <at> debbugs.gnu.org
Subject: Re: [bug#28380] [PATCH] gnu: Add godot.
Date: Thu, 14 Sep 2017 13:41:51 +0200
[Message part 1 (text/plain, inline)]
Hello,

Peter Mikkelsen <petermikkelsen10 <at> gmail.com> skribis:

> I got some inspiration from that one, and afaik bug 25908 was never
> completed. I guess you can see my patch as a completed version, co-authored
> by Chris :) It builds and installs, and i have unbundled as much as
> possible right now.
>
> Hope that helps!

It does!

I’m committing it with the cosmetic changes below.

Note that it “calls home” to retrieve templates from godotengine.org and
github.com.  I suppose that’s expected but that wasn’t clear when I
clicked on the browsing thing.

Thanks!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index e04c11d7d..5633456d4 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1118,7 +1118,10 @@ their own original games.")
               ("pulseaudio" ,pulseaudio)
               ("python2" ,python-2)))
     (home-page "https://godotengine.org/")
-    (synopsis "Advanced 2d and 3d game engine")
-    (description "Godot is an advanced, feature-packed, multi-platform
-2D and 3D open source game engine.")
+    (synopsis "Advanced 2D and 3D game engine")
+    (description
+     "Godot is an advanced multi-platform game engine written in C++.  If
+features design tools such as a visual editor, can import 3D models and
+provide high-quality 3D rendering, it contains an animation editor, and can be
+scripted in a Python-like language.")
     (license license:expat)))

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 13 Oct 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 307 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.