Bug 1064455 - Review Request: godot-engine - A fully featured open-source game engine
Summary: Review Request: godot-engine - A fully featured open-source game engine
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-12 16:16 UTC by Vinzenz Feenstra [evilissimo]
Modified: 2014-12-23 16:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-04-09 09:40:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Vinzenz Feenstra [evilissimo] 2014-02-12 16:16:18 UTC
SPEC: http://evilissimo.fedorapeople.org/specs/godot-engine/1.0.beta1-1/godot-engine.spec
SRPM: http://evilissimo.fedorapeople.org/specs/godot-engine/1.0.beta1-1/godot-engine-1.0.beta1-1.fc20.src.rpm

Description:
Godot is a fully featured game engine. It focuses on having great tools, and
a visual oriented workflow that can export to PC, Mobile and Web platforms with
no hassle. The editor, language and APIs are feature rich, yet simple to learn,
allowing you to become productive in a matter of hours.

Comment 2 Christopher Meng 2014-02-13 00:56:33 UTC
I find no reason of naming it as godot-engine, please name it as godot only.

Comment 3 Christopher Meng 2014-02-13 01:01:29 UTC
SCON is a buildsystem? IMO it's bullshit. If you have the power, please persuade upstream to use CMake.

1. LDFLAGS not inserted, please take a look at %__global_ldflags

2. GODOT_BUILTIN_ZLIB=no
GODOT_DDS=no
GODOT_DEFAULT_GUI_THEME=yes
GODOT_DISABLE_3D=no
GODOT_DISABLE_ADVANCED_GUI=no
GODOT_FREETYPE=yes
GODOT_JPEG=yes
GODOT_LUA=no
GODOT_MINIZIP=yes
GODOT_MUSEPACK=yes
GODOT_NEDMALLOC=yes
GODOT_OLD_SCENES=yes
GODOT_OPENGL=yes
GODOT_PNG=yes
GODOT_PVR=yes
GODOT_PYTHON=no
GODOT_SCRIPT=yes
GODOT_SPEEX=yes
GODOT_SQUIRREL=no
GODOT_SQUISH=no
GODOT_THEORA=yes
GODOT_TOOLS=yes
GODOT_VORBIS=yes
GODOT_WEBP=yes
GODOT_XML=yes

Any explanation of the no items?

3. Bundled code should be rm -rf to ensure the purity, but I haven't tested if it will make scon become a brat.

4. install -m 0755 -d %{buildroot}/%{_docdir}/%{name}
install -m 0755 -d %{buildroot}/%{_bindir}
install -m 0755 ./bin/godot_rel %{buildroot}/%{_bindir}/godot
install -m 0755 ./bin/godot_server %{buildroot}/%{_bindir}/godot_server

No slash between %buildroot and other macros;
No -p option to preserve the timestamp;
Why did you mkdir the %_pkgdocdir? And then %doc in %files with nothing?

Comment 4 Vinzenz Feenstra [evilissimo] 2014-02-13 07:54:13 UTC
Thanks for the review so far :-)

(In reply to Christopher Meng from comment #2)
> I find no reason of naming it as godot-engine, please name it as godot only.
ok I will rename it.

(In reply to Christopher Meng from comment #3)
> SCON is a buildsystem? IMO it's bullshit. If you have the power, please
> persuade upstream to use CMake.
Yes, scons is a build system ( http://scons.org/ ). But I don't think that this would be an easier undertaking to make them move to cmake any time soon.

There was a request for them to move to waf (which is a fork of scons) https://github.com/okamstudio/godot/issues/15

Considering the relatively little time this project is open source, they have to get used to how work out how to handle all those pull requests.
 
 
> 1. LDFLAGS not inserted, please take a look at %__global_ldflags
I missed that, thanks for pointing that out.

> 2. GODOT_BUILTIN_ZLIB=no
> GODOT_DDS=no
> GODOT_DEFAULT_GUI_THEME=yes
> GODOT_DISABLE_3D=no
> GODOT_DISABLE_ADVANCED_GUI=no
> GODOT_FREETYPE=yes
> GODOT_JPEG=yes
> GODOT_LUA=no
> GODOT_MINIZIP=yes
> GODOT_MUSEPACK=yes
> GODOT_NEDMALLOC=yes
> GODOT_OLD_SCENES=yes
> GODOT_OPENGL=yes
> GODOT_PNG=yes
> GODOT_PVR=yes
> GODOT_PYTHON=no
> GODOT_SCRIPT=yes
> GODOT_SPEEX=yes
> GODOT_SQUIRREL=no
> GODOT_SQUISH=no
> GODOT_THEORA=yes
> GODOT_TOOLS=yes
> GODOT_VORBIS=yes
> GODOT_WEBP=yes
> GODOT_XML=yes
> 
> Any explanation of the no items?
Ah yeah see, I missed that, I had that previously but due to some building issues I switched the way how I did it and scrapped the comments in the process :(

There are 3 reasons, either it's a deprecated feature (such as squirrel and lua) unnecessary for the build at all (GODOT_PYTHON), or problematic due to potential patents (DDS and SQUISH)

I will put the comments back.

> 3. Bundled code should be rm -rf to ensure the purity, but I haven't tested
> if it will make scon become a brat.
The patch removes it, it needs a bit more fine picking, since they have their own files for the plugins using the libraries in the same folder as the code of the libraries.

Even worse is that they rejected my pull request for allowing dynamic linking 
See here: https://github.com/okamstudio/godot/pull/51

> 4. install -m 0755 -d %{buildroot}/%{_docdir}/%{name}
> install -m 0755 -d %{buildroot}/%{_bindir}
> install -m 0755 ./bin/godot_rel %{buildroot}/%{_bindir}/godot
> install -m 0755 ./bin/godot_server %{buildroot}/%{_bindir}/godot_server
> 
> No slash between %buildroot and other macros;
OK

> No -p option to preserve the timestamp;
OK

> Why did you mkdir the %_pkgdocdir? And then %doc in %files with nothing?
When I did that I thought I can put something there, however in the end it turned out that there's not much I was able to do for now. From what I know the documentation is builtin the binary. It's the runtime for games and at the same time an editor which has built-in help.

Comment 5 Christopher Meng 2014-02-13 09:31:58 UTC
(In reply to Vinzenz Feenstra [evilissimo] from comment #4)
> There was a request for them to move to waf (which is a fork of scons)
> https://github.com/okamstudio/godot/issues/15
> 
> Considering the relatively little time this project is open source, they
> have to get used to how work out how to handle all those pull requests.

I just followed up.

> Ah yeah see, I missed that, I had that previously but due to some building
> issues I switched the way how I did it and scrapped the comments in the
> process :(
> 
> There are 3 reasons, either it's a deprecated feature (such as squirrel and
> lua) unnecessary for the build at all (GODOT_PYTHON), or problematic due to
> potential patents (DDS and SQUISH)

Patented contents should be removed even before upload IIRC(maybe wrong), but actually you at least need to delete them thoroughly.

Comment 6 Vinzenz Feenstra [evilissimo] 2014-02-13 10:58:08 UTC
(In reply to Christopher Meng from comment #5)
> (In reply to Vinzenz Feenstra [evilissimo] from comment #4)
> > Ah yeah see, I missed that, I had that previously but due to some building
> > issues I switched the way how I did it and scrapped the comments in the
> > process :(
> > 
> > There are 3 reasons, either it's a deprecated feature (such as squirrel and
> > lua) unnecessary for the build at all (GODOT_PYTHON), or problematic due to
> > potential patents (DDS and SQUISH)
> 
> Patented contents should be removed even before upload IIRC(maybe wrong),
> but actually you at least need to delete them thoroughly.

I will apply this to it: https://fedoraproject.org/wiki/Packaging:SourceURL#When_Upstream_uses_Prohibited_Code

Comment 7 Vinzenz Feenstra [evilissimo] 2014-04-09 09:40:47 UTC
Ok, well after quite a while of observing the situation and interacting with the devs, I don't think that we can get this game engine up to fedora guideline needs in a way which actually stays maintainable for anyone. Therefore I will drop this attempt of packaging. Anyone can feel free to pick up on where I leave this.


Note You need to log in before you can comment on or make changes to this bug.