GNU bug report logs - #30084
[PATCH] gnu: Add urho3d.

Previous Next

Package: guix-patches;

Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>

Date: Fri, 12 Jan 2018 05:01:01 UTC

Severity: normal

Tags: moreinfo, patch

Done: Oleg Pykhalov <go.wigust <at> gmail.com>

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 30084 in the body.
You can then email your comments to 30084 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#30084; Package guix-patches. (Fri, 12 Jan 2018 05:01:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Oleg Pykhalov <go.wigust <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 12 Jan 2018 05:01:02 GMT) Full text and rfc822 format available.

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

From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add urho3d.
Date: Thu, 11 Jan 2018 01:24:16 +0300
[Message part 1 (text/plain, inline)]
Hello Guix,

This patch adds a 3D game engine.

[0001-gnu-Add-urho3d.patch (text/x-patch, inline)]
From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <go.wigust <at> gmail.com>
Date: Thu, 11 Jan 2018 01:14:41 +0300
Subject: [PATCH] gnu: Add urho3d.

* gnu/packages/game-development.scm (urho3d): New public variable.
---
 gnu/packages/game-development.scm | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 363d9a253..69045cf9c 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1150,3 +1150,54 @@ 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)))
+
+(define-public urho3d
+  (package
+    (name "urho3d")
+    (version "1.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/urho3d/Urho3D"
+                                  "/archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1im63n9rx8qq1ks6aq6jrl5ikxg87hqhsy06miqc317hpm1iyav5"))))
+    (build-system cmake-build-system)
+    (inputs `(("libx11" ,libx11)
+              ("libxcursor" ,libxcursor)
+              ("libxext" ,libxext)
+              ("libxi" ,libxi)
+              ("libxinerama" ,libxinerama)
+              ("libxrandr" ,libxrandr)
+              ("libxrender" ,libxrender)
+              ("libxscrnsaver" ,libxscrnsaver)
+              ("mesa" ,mesa)
+              ("alsa-lib" ,alsa-lib)
+              ("pulseaudio" ,pulseaudio)))
+    (arguments
+     '(#:tests?
+       #f ; There are no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'use-full-library-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* (string-append "../build/Source/ThirdParty"
+                                         "/SDL/include/generated/SDL_config.h")
+               (("#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC \"libasound\\.so\\.2\"")
+                (string-append "#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC \""
+                               (assoc-ref inputs "alsa-lib")
+                               "/lib/libasound.so.2"
+                               "\""))
+               (((string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC"
+                                " \"libpulse-simple\\.so\\.0\""))
+                (string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC \""
+                               (assoc-ref inputs "pulseaudio")
+                               "/lib/libpulse-simple.so.0"
+                               "\"")))
+             #t)))))
+    (home-page "https://urho3d.github.io/")
+    (synopsis "Cross-platform 2D and 3D game engine")
+    (description "Lightweight, cross-platform 2D and 3D game engine
+implemented in C++.  Inspired by OGRE and Horde3D.")
+    (license license:expat)))
-- 
2.15.1

[Message part 3 (text/plain, inline)]
Also the latest version of engine could be build with:

--8<---------------cut here---------------start------------->8---
(define-public urho3d-checkout
  (let ((commit "4af4148048a6443154c6f0498d32626d10f1e86b")
        (revision "1"))
    (package
      (inherit urho3d)
      (name "urho3d-checkout")
      (version (string-append (package-version urho3d) "-" revision "."
                              (string-take commit 7)))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/urho3d/Urho3D")
                      (commit commit)))
                (file-name (string-append name "-" version "-checkout"))
                (sha256
                 (base32
                  "1nchxswrkfgzsxghi6c55b27zy9127ni7yvnb4xw2xdddyfm1wl0")))))))--8<---------------cut here---------------end--------------->8---

Thanks,
Oleg.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30084; Package guix-patches. (Fri, 12 Jan 2018 14:02:02 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 30084 <at> debbugs.gnu.org
Subject: Re: [bug#30084] [PATCH] gnu: Add urho3d.
Date: Fri, 12 Jan 2018 15:01:22 +0100
Hi Oleg,

Oleg Pykhalov <go.wigust <at> gmail.com> skribis:

> From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <go.wigust <at> gmail.com>
> Date: Thu, 11 Jan 2018 01:14:41 +0300
> Subject: [PATCH] gnu: Add urho3d.
>
> * gnu/packages/game-development.scm (urho3d): New public variable.

[...]

> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* (string-append "../build/Source/ThirdParty"
> +                                         "/SDL/include/generated/SDL_config.h")

IIUC there’s a bundled copy of SDL, right?  Can we instead build against
our SDL?

Ideally, to be safe from bundling, we should “rm -rf ThirdParty” in a
snippet.  Is that possible?

> +               (((string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC"
> +                                " \"libpulse-simple\\.so\\.0\""))
> +                (string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC \""
> +                               (assoc-ref inputs "pulseaudio")
> +                               "/lib/libpulse-simple.so.0"
> +                               "\"")))

Please use a literal string in the ‘substitute*’ pattern (you can use
backslashes to split it on several lines.)

> +    (description "Lightweight, cross-platform 2D and 3D game engine
> +implemented in C++.  Inspired by OGRE and Horde3D.")

Full sentences please!  :-)

  https://www.gnu.org/software/guix/manual/html_node/Synopses-and-Descriptions.html

Could you send an updated path?

Thank you,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30084; Package guix-patches. (Tue, 23 Jan 2018 13:31:02 GMT) Full text and rfc822 format available.

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

From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30084 <at> debbugs.gnu.org
Subject: Re: [bug#30084] [PATCH] gnu: Add urho3d.
Date: Tue, 23 Jan 2018 16:29:44 +0300
[Message part 1 (text/plain, inline)]
Hello Ludovic,

Thank you for review!

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

> Hi Oleg,
>
> Oleg Pykhalov <go.wigust <at> gmail.com> skribis:
>
>> From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
>> From: Oleg Pykhalov <go.wigust <at> gmail.com>
>> Date: Thu, 11 Jan 2018 01:14:41 +0300
>> Subject: [PATCH] gnu: Add urho3d.
>>
>> * gnu/packages/game-development.scm (urho3d): New public variable.
>
> [...]
>
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (substitute* (string-append "../build/Source/ThirdParty"
>> +                                         "/SDL/include/generated/SDL_config.h")
>
> IIUC there’s a bundled copy of SDL, right?  Can we instead build against
> our SDL?

Yes, it's a bundled copy.  We probably can, but how?  The build system
probably configured look for 'Source/ThirdParty/SDL'.  So should we make
a symbolic link like 'Source/ThirdParty/SDL' -> '/gnu/store/…-SDL'?

I'll check this later.  Maybe it will search for a system first SDL and
if not find it use their own.  Also I have a question about SDL in the
following quote.

> Ideally, to be safe from bundling, we should “rm -rf ThirdParty” in a
> snippet.  Is that possible?

Unfortunately no.  The contents of the 'Source/ThirdParty' has much more
than just SDL.  It's too much work for now, but a good TODO.

Source/ThirdParty/SDL

    AngelScript Assimp boost Box2D Bullet Civetweb Detour DetourCrowd
    DetourTileCache FreeType GLEW ik JO kNet LibCpuId LICENSES Lua
    LuaJIT LZ4 MojoShader Mustache nanodbc PugiXml rapidjson Recast SDL
    SQLite StanHull STB toluapp WebP

Actually I wonder will those libraries and the engine overall play nice
with OUR SDL library?  Should we provide a Guix version and bundled
libraries version?

>> +               (((string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC"
>> +                                " \"libpulse-simple\\.so\\.0\""))
>> +                (string-append "#define SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC \""
>> +                               (assoc-ref inputs "pulseaudio")
>> +                               "/lib/libpulse-simple.so.0"
>> +                               "\"")))
>
> Please use a literal string in the ‘substitute*’ pattern (you can use
> backslashes to split it on several lines.)

OK.  Thanks for notice!

>> +    (description "Lightweight, cross-platform 2D and 3D game engine
>> +implemented in C++.  Inspired by OGRE and Horde3D.")
>
> Full sentences please!  :-)
>
>   https://www.gnu.org/software/guix/manual/html_node/Synopses-and-Descriptions.html

Oh, thanks!

> Could you send an updated path?

[0001-gnu-Add-urho3d.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]

Oleg.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30084; Package guix-patches. (Tue, 23 Jan 2018 14:08:01 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 30084 <at> debbugs.gnu.org
Subject: Re: [bug#30084] [PATCH] gnu: Add urho3d.
Date: Tue, 23 Jan 2018 15:07:52 +0100
Hello,

Oleg Pykhalov <go.wigust <at> gmail.com> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> Hi Oleg,
>>
>> Oleg Pykhalov <go.wigust <at> gmail.com> skribis:
>>
>>> From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
>>> From: Oleg Pykhalov <go.wigust <at> gmail.com>
>>> Date: Thu, 11 Jan 2018 01:14:41 +0300
>>> Subject: [PATCH] gnu: Add urho3d.
>>>
>>> * gnu/packages/game-development.scm (urho3d): New public variable.
>>
>> [...]
>>
>>> +           (lambda* (#:key inputs #:allow-other-keys)
>>> +             (substitute* (string-append "../build/Source/ThirdParty"
>>> +                                         "/SDL/include/generated/SDL_config.h")
>>
>> IIUC there’s a bundled copy of SDL, right?  Can we instead build against
>> our SDL?
>
> Yes, it's a bundled copy.  We probably can, but how?  The build system
> probably configured look for 'Source/ThirdParty/SDL'.  So should we make
> a symbolic link like 'Source/ThirdParty/SDL' -> '/gnu/store/…-SDL'?

Rather, we should adjust CMakeLists.txt (if needed) so that it links
against our copy of SDL, like Fis Trivial did with ‘rct’ today.

>> Ideally, to be safe from bundling, we should “rm -rf ThirdParty” in a
>> snippet.  Is that possible?
>
> Unfortunately no.  The contents of the 'Source/ThirdParty' has much more
> than just SDL.  It's too much work for now, but a good TODO.
>
> Source/ThirdParty/SDL
>
>     AngelScript Assimp boost Box2D Bullet Civetweb Detour DetourCrowd
>     DetourTileCache FreeType GLEW ik JO kNet LibCpuId LICENSES Lua
>     LuaJIT LZ4 MojoShader Mustache nanodbc PugiXml rapidjson Recast SDL
>     SQLite StanHull STB toluapp WebP

Ouch, that’s a lot of stuff!  We should at least remove boost, FreeType,
GLEW, Lua, LuaJIT, LZ4, SDL, and SQLite, for which we have packages.

> Actually I wonder will those libraries and the engine overall play nice
> with OUR SDL library?  Should we provide a Guix version and bundled
> libraries version?

We’ll have to try; hopefully they’re shipping an unmodified SDL.

> From 5a906d8a8a9ff50ed46b5ffc33714b11517e23ca Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <go.wigust <at> gmail.com>
> Date: Thu, 11 Jan 2018 01:14:41 +0300
> Subject: [PATCH] gnu: Add urho3d.
>
> * gnu/packages/game-development.scm (urho3d): New public variable.

Could you please try unbundling the things mentioned above, and add a
FIXME for those we’re not unbundling yet?  We should try and see how
difficult it is; for ‘rct’ it was OK.

Thank you!

Ludo’.




Added tag(s) moreinfo. Request was from Leo Famulari <leo <at> famulari.name> to control <at> debbugs.gnu.org. (Wed, 13 Feb 2019 00:13:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#30084; Package guix-patches. (Sun, 22 Mar 2020 20:43:01 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 30084 <at> debbugs.gnu.org
Subject: Re: [bug#30084] [PATCH] gnu: Add urho3d.
Date: Sun, 22 Mar 2020 16:42:30 -0400
On Thu, Jan 11, 2018 at 01:24:16AM +0300, Oleg Pykhalov wrote:
> From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <go.wigust <at> gmail.com>
> Date: Thu, 11 Jan 2018 01:14:41 +0300
> Subject: [PATCH] gnu: Add urho3d.
> 
> * gnu/packages/game-development.scm (urho3d): New public variable.

What is the status of this patch? Do you still intend to add it to Guix
or can we close the ticket?




Information forwarded to guix-patches <at> gnu.org:
bug#30084; Package guix-patches. (Mon, 23 Mar 2020 07:56:02 GMT) Full text and rfc822 format available.

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

From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: Leo Famulari <leo <at> famulari.name>
Cc: 30084 <at> debbugs.gnu.org, 30084-close <at> debbugs.gnu.org
Subject: Re: [bug#30084] [PATCH] gnu: Add urho3d.
Date: Mon, 23 Mar 2020 10:54:53 +0300
[Message part 1 (text/plain, inline)]
Hello Leo,

Leo Famulari <leo <at> famulari.name> writes:

> On Thu, Jan 11, 2018 at 01:24:16AM +0300, Oleg Pykhalov wrote:
>> From 186090075a1ae515bb4893763e7c528568e15939 Mon Sep 17 00:00:00 2001
>> From: Oleg Pykhalov <go.wigust <at> gmail.com>
>> Date: Thu, 11 Jan 2018 01:14:41 +0300
>> Subject: [PATCH] gnu: Add urho3d.
>> 
>> * gnu/packages/game-development.scm (urho3d): New public variable.
>
> What is the status of this patch? Do you still intend to add it to Guix
> or can we close the ticket?

I'm not sure about the time when I will prepare the package without
built-in third-party dependencies. So we could close the ticket until.

Oleg.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Oleg Pykhalov <go.wigust <at> gmail.com>:
You have taken responsibility. (Mon, 23 Mar 2020 07:56:04 GMT) Full text and rfc822 format available.

Notification sent to Oleg Pykhalov <go.wigust <at> gmail.com>:
bug acknowledged by developer. (Mon, 23 Mar 2020 07:56:08 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Apr 2020 11:24:09 GMT) Full text and rfc822 format available.

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

Previous Next


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