Bug 571416

Summary: Review Request: GiGi-0.6.0 - C++ OpenGL GUI library
Product: [Fedora] Fedora Reporter: Karel Volný <kvolny>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, leamas.alec, notting, ovasik, sergio.pasra, spacewar, supercyper1, tomspur
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-01 11:17:04 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 201449    
Attachments:
Description Flags
FreeOrion.spec none

Description Karel Volný 2010-03-08 08:50:14 EST
Spec URL: http://fedorapeople.org/~kvolny/GiGi.spec
SRPM URL: http://fedorapeople.org/~kvolny/GiGi-0.6.0-1.r803.fc12.src.rpm
Description:
GiGi is a small, efficient, and feature-rich C++ GUI for OpenGL. It is uses
frame-based rendering and has fully customizable graphics, making it ideal
for use in low- or high-frame rate applications and games.


The GiGi library is needed for FreeOrion, which I'm trying to package too.

Note that this package includes Adobe Source Libraries; while this is against no-bundled-libraries policy, this does not duplicate any code, as these are not packaged for Fedora yet. I'd like to create separate package for ASL, but it needs more work to adapt - I'll have to work it out with upstream.

As for the version, while SourceForge page offers version 0.7.0 to download, the sources for this package identify itself as 0.6.0, although it is current svn version, so that I keep the package version consistent with the contents.

I've chosen to go with svn snapshot since the released sources are quite old and the project transitions its build system to cmake, so that I don't have to rewrite the spec completely with the new version.
Comment 1 Karel Volný 2010-03-08 08:55:20 EST
koji build for F12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2035461

... and right after submitting I've found it does not compile for F13 because of Boost changes :-(

I'll try to work it out
Comment 2 Karel Volný 2010-03-10 01:46:12 EST
ok, I've managed to build on F13 successfully now:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2041817

I'll post the updated spec & srpm once I'll verify that FreeOrion compiles and runs with new version (may take a while ...)
Comment 3 Karel Volný 2010-03-16 04:54:30 EDT
hooray, FreeOrion runs with the updated package

so here are the new files -
spec: http://kvolny.fedorapeople.org/GiGi.spec
srpm: http://kvolny.fedorapeople.org/GiGi-0.6.0-2.r803.fc12.src.rpm

Koji builds -
dist-f12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2052785
dist-f13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2052792
Comment 4 Thomas Spura 2010-04-18 16:00:26 EDT
- Could you please use real patches and not write them into the specfile?

- There is no %doc. Could you add at least: all COPYING Readme?

(Don't know, when I have the time to review this.
Could take a while, so if someone else stepps it, no problem.)
Comment 5 Eric Smith 2010-05-13 17:29:48 EDT
I started working on packaging GiGi myself because my first search didn't turn up your effort.

I disagree with the reasoning behind your using 0.6.0 for the base version number, as the code from the official 0.7.0 tarball also self-identifies as 0.6.0, and r803 from the subversion repository is definitely more recent than the 0.7.0 release.

I'd suggest building the included GG-Sketch and putting it in a subpackage.
Comment 6 Karel Volný 2010-05-14 05:26:12 EDT
(In reply to comment #4)
> - Could you please use real patches and not write them into the specfile?

well, I don't have time to comment case by case right now, but in general, the reason was using some variables available in .spec but not for standalone patch

> - There is no %doc. Could you add at least: all COPYING Readme?

if I recall correctly, GiGi does not install these files so it'd have to be added manually ... sure, it can be included

> (Don't know, when I have the time to review this.
> Could take a while, so if someone else stepps it, no problem.)    

heh :) ... considering the state of the upstream sources, there's no rush ... I just wanted to have some usable package, no need to push it into the distro soon, just that others can find it at least somewhere

(In reply to comment #5)
> I started working on packaging GiGi myself because my first search didn't turn
> up your effort.

no problem, as stated above, I haven't too much time to spend on this, feel free to take the best of both efforts and link a new version here

> I disagree with the reasoning behind your using 0.6.0 for the base version
> number, as the code from the official 0.7.0 tarball also self-identifies as
> 0.6.0, and r803 from the subversion repository is definitely more recent than
> the 0.7.0 release.

that is true but it can cause troubles in dependencies, I think

please try to resolve the issue with upstream before using newer version number

> I'd suggest building the included GG-Sketch and putting it in a subpackage.    

feel free to do that :-)
Comment 7 Jason Tibbitts 2010-11-17 20:40:07 EST
What is the status of this package?
Comment 8 Adam Tkac 2010-12-08 07:53:33 EST
I would like to have this package in distro as well so I recreated the specfile + updated source:

Spec URL: http://atkac.fedorapeople.org/GiGi.spec
SRPM URL: http://atkac.fedorapeople.org/GiGi-0.6.0-0.1.20101207svn903.fc15.src.rpm

You can review it, thank you in advance.
Comment 9 Karel Volný 2010-12-08 08:51:47 EST
(In reply to comment #7)
> What is the status of this package?

sorry, I drowned in RHEL6 tasks, now catching up ...

(In reply to comment #8)
> I would like to have this package in distro as well ...

I'll gladly leave the care about GiGi up to you

btw, for what purpose do you need this?
Comment 10 Adam Tkac 2010-12-08 09:22:52 EST
(In reply to comment #9)
> I'll gladly leave the care about GiGi up to you
> 
> btw, for what purpose do you need this?

For FreeOrion :)
Comment 11 Jason Tibbitts 2010-12-08 18:56:59 EST
How does this version compare with the 0.7.0 version available for download from the sourceforge site?  I know this package contains an SVN checkout but it seems odd that the version is behind what's available for download.
Comment 12 Karel Volný 2010-12-13 18:00:24 EST
(In reply to comment #10)
> For FreeOrion :)

well, in that case you should also include the cmake modules that FreeOrion uses ;-)

--- GiGi.spec.atkac     2010-12-08 13:45:45.000000000 +0100
+++ GiGi.spec   2010-12-13 16:36:00.431559469 +0100
@@ -53,6 +53,11 @@
 
 chmod +x $RPM_BUILD_ROOT/%{_includedir}/GG/gen_signals.py
 
+# add sources shared (used) by FreeOrion
+mkdir -p %{buildroot}/%{_datadir}/cmake/Modules
+cp cmake/Config.cmake %{buildroot}/%{_datadir}/cmake/Modules
+cp cmake/Util.cmake %{buildroot}/%{_datadir}/cmake/Modules
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -65,6 +70,7 @@
 %defattr(-,root,root,-)
 %{_includedir}/*
 %{_libdir}/pkgconfig/*
+%{_datadir}/cmake/Modules/*
 
 %changelog
 * Wed Dec 08 2010 Adam Tkac <atkac redhat com> 0.6.0-0.1.20101207svn903

(In reply to comment #11)
> How does this version compare with the 0.7.0 version available for download
> from the sourceforge site?  I know this package contains an SVN checkout but it
> seems odd that the version is behind what's available for download.

the problem is that the package is advertised as a newer version number, but the authors forgot to change it within the sources so that it identifies itself as the older version ... I see two solutions, one being used right now to keep consistency with what really is in the source, and the other to patch the sources to match the version written on the download page
Comment 13 Jason Tibbitts 2010-12-13 18:17:27 EST
Wow, you can always count on your upstreams to do completely bizarre things.  Honestly I think the current solution is OK, but I'd argue that it deserves at least a comment in the spec explaining why the version is lower than what appears on the download page.

Also, the instructions for exporting from svn should be more explicit, and should provide details about checking out the exact version which is packaged (not just "trunk").  See http://fedoraproject.org/wiki/Packaging:SourceURL
Comment 14 Karel Volný 2010-12-13 18:19:57 EST
Created attachment 468502 [details]
FreeOrion.spec

maybe you can find some inspiration here ... I managed to compile this version with the new GiGi (with the abovementioned patch), the game even starts (haven't tried to actually play it, though)
Comment 15 Karel Volný 2010-12-14 10:26:58 EST
(In reply to comment #13)
> Wow, you can always count on your upstreams to do completely bizarre things. 

well, seems to me that it is just a matter of changing one line in
http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/CMakeLists.txt?revision=878&view=markup

I've reported upstream bug, let's see if it gets resolved:
https://sourceforge.net/tracker/?func=detail&aid=3137299&group_id=84040&atid=571538
Comment 16 Adam Tkac 2011-01-05 06:42:23 EST
(In reply to comment #12)
> (In reply to comment #10)
> > For FreeOrion :)
> 
> well, in that case you should also include the cmake modules that FreeOrion
> uses ;-)

That's weird. Can you please tell me which Fedora do you use for building? I'm building FreeOrion (from svn) on rawhide and those modules are not needed.
Comment 17 Adam Tkac 2011-01-05 06:46:21 EST
(In reply to comment #15)
> (In reply to comment #13)
> > Wow, you can always count on your upstreams to do completely bizarre things. 
> 
> well, seems to me that it is just a matter of changing one line in
> http://gigi.svn.sourceforge.net/viewvc/gigi/trunk/GG/CMakeLists.txt?revision=878&view=markup
> 
> I've reported upstream bug, let's see if it gets resolved:
> https://sourceforge.net/tracker/?func=detail&aid=3137299&group_id=84040&atid=571538

Thanks for it, upstream bumped version to 0.8.0.

New spec + SRPM (it incorporates changes suggested in comment #13):
http://atkac.fedorapeople.org/GiGi.spec
http://atkac.fedorapeople.org/GiGi-0.8.0-0.2.20110103svn1035.fc15.src.rpm
Comment 18 Karel Volný 2011-01-05 07:04:17 EST
(In reply to comment #16)
> That's weird. Can you please tell me which Fedora do you use for building? I'm
> building FreeOrion (from svn) on rawhide and those modules are not needed.

F14 ... well, maybe those files got in as part of some boost update in between F14 and current rawhide - out of curiousity, could you take a look which package provides Config.cmake and Util.cmake?
Comment 19 Adam Tkac 2011-01-05 07:52:47 EST
(In reply to comment #18)
> (In reply to comment #16)
> > That's weird. Can you please tell me which Fedora do you use for building? I'm
> > building FreeOrion (from svn) on rawhide and those modules are not needed.
> 
> F14 ... well, maybe those files got in as part of some boost update in between
> F14 and current rawhide - out of curiousity, could you take a look which
> package provides Config.cmake and Util.cmake?

There are no Config.cmake or Util.cmake installed but build simple works without them. Not sure what was changed between F14 and rawhide.
Comment 20 Karel Volný 2011-01-14 07:58:45 EST
(In reply to comment #19)
> There are no Config.cmake or Util.cmake installed but build simple works
> without them. Not sure what was changed between F14 and rawhide.

just for the record, we have found these files are included in FreeOrion sources fetched from svn as the whole GiGi is included as external item - the external items are missing if you fetch FreeOrion as a tarball

the files are taken from Boost, but recent Boost doesn't include a version of the code compatible with FreeOrion

Adam, I guess after including these files, you can submit a new version to move on with this - or are you working on updating the code not to need these files?
Comment 21 Adam Tkac 2011-01-17 10:54:56 EST
(In reply to comment #20)
> Adam, I guess after including these files, you can submit a new version to move
> on with this - or are you working on updating the code not to need these files?

This srpm should include them:
http://atkac.fedorapeople.org/GiGi-0.8.0-0.3.20110103svn1035.fc15.src.rpm
http://atkac.fedorapeople.org/GiGi.spec
Comment 22 Alec Leamas 2012-03-28 10:12:23 EDT
Adobe Source Libraries is now packaged separately, see bug 790628.
Comment 23 Karel Volný 2012-08-16 10:41:27 EDT
ping, Adam, would you update the package accordingly?

or anyone else on the CC list interested in getting this finished?
Comment 24 Adam Tkac 2012-08-17 09:46:05 EDT
(In reply to comment #23)
> ping, Adam, would you update the package accordingly?
> 
> or anyone else on the CC list interested in getting this finished?

I'm no longer interested into getting GiGi (& FreeOrion) into Fedora so feel free to finish this task if you are still interested.