(as in bug #59218) "GiGi is a small, efficient, and feature-rich C++ GUI for SDL and 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." http://gigi.sourceforge.net attached is the ebuild for version 0.6.0 and a patch to make it compile cleanly with sandbox turned on. i suggest this should go to media-libs/gigi Reproducible: Always Steps to Reproduce: 1. 2. 3. I opened a new bug as posting new ebuilds/patches in bug #59218 didn't appear to have any effect (I think mostly due to the fact that it had a "Resolved" status)
Created attachment 74043 [details] gigi-0.6.0.ebuild note: it can most probably be done in a more ellegant way, but i couldn't find the list of variables aviable in ebulids (most notably the version number without the app name)
Created attachment 74044 [details, diff] gigi-sconspatch.diff required for a clean compile. (fixes a scons-specific issue, not related to gigi itself. May be helpful for other projects using scons - blender, yafray, etc.)
there is one problem though - when installing from image directory to /usr libGiGi.so, libGiGiNet.so and libGiGiSDL.so symlinks become broken (pointing to "usr/lib" instead of "/usr/lib" ...) - any ideas how to fix this? (except for manually changing symlinks after installation?)
Created attachment 74139 [details] gigi-0.6.0.ebuild Improved ease of making future versions of this ebuild (mainly thanks to finding a decent ebuild doc) and added manual link correction via dosym. Current FreeOrion CVS (soon to be released as 0.3) compiles and works with this (tested on my PC running on ~x86 packages). (Note to all trying to run it: check freeorion wiki - it contains vital informations about package compability (boost and graphviz))
one more problem i haven't spotted util now: gigi 0.6.0 and FreeOrion only compile if you use boost-1.32, which is has been removed from portage on 24th November 2005. I didn't notice it until i asked a friend running gentoo on amd64 to test this ebuild. gigi and FreeOrion dvelopers are already aware of this but it is unknown when this issue will be solved (and whether it will be solved at all in this version)
gigi has been tested to compile on amd64 (after hacking a boost-1.32 ebuild) but it is of no real importance as FreeOrion, the only game that uses gigi requires fmod 3.x, which is not aviable for amd64 natively, and therefore there is no way to test if gigi works correctly compiled on amd64.
Can't compile it here. Seems to me that it has a problem with the devil library although 1.6.7 is installed. satux ~ # emerge -av gigi These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] media-libs/gigi-0.6.0 -debug -threads 0 kB [1] Total size of downloads: 0 kB Portage overlays: [1] /usr/local/portage Do you want me to merge these packages? [Yes/No] y >>> emerge (1 of 1) media-libs/gigi-0.6.0 to / >>> md5 files ;-) gigi-0.6.0.ebuild >>> md5 files ;-) files/digest-gigi-0.6.0 >>> md5 files ;-) files/gigi-sconspatch.diff >>> md5 src_uri ;-) GG-0.6.0.tgz >>> Unpacking source... >>> Unpacking GG-0.6.0.tgz to /var/tmp/portage/gigi-0.6.0/work >>> Source unpacked. * Applying gigi-sconspatch.diff ... [ ok ] * disabling threads scons: Reading SConscript files ... Warning: since multithreaded code is disabled, the GiGiNet build is disabled as well. Warning: since multithreaded code is disabled, the GiGiSDL build is disabled as well. Configuring for POSIX system... Checking for C++ header file boost/shared_ptr.hpp... yes Checking Boost version >= 1.32.0... yes Looking for boost lib boost_signals... Checking for boost::signals::connection() in C++ library boost_signals... yes Looking for boost lib boost_filesystem... Checking for boost::filesystem::initial_path() in C++ library boost_filesystem... yes Boost configuration... ok Checking for C header file GL/gl.h... yes Checking for C header file GL/glu.h... yes Checking for glBegin() in C library GL... yes Checking for gluLookAt() in C library GLU... yes Checking for pkg-config... ok Checking for freetype2 >= 9.0.0... ok Checking for C header file ft2build.h... yes Checking for FT_Init_FreeType() in C library freetype... yes Checking DevIL version >= 1.6.1... yes Checking for C header file IL/il.h... yes Checking for C header file IL/ilu.h... yes Checking for C header file IL/ilut.h... yes Checking for ilInit() in C library IL... yes Checking for iluInit() in C library ILU... yes Checking for ilutInit() in C library ILUT... no Trying IL again with local _vnsprintf.c... Checking for ilInit() in C library IL... yes Checking for iluInit() in C library ILU... yes Checking for ilutInit() in C library ILUT... no satux ~ # emerge --info Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-suspend2-r7 i686) ================================================================= System uname: 2.6.14-suspend2-r7 i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O2 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=pentium-m -O2 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apm auctex audiofile avi bash-completion berkdb bitmap-fonts bzip2 cdparanoia cdr cjk crypt cups curl divx4linux doc dvd dvdr dvdread emacs emboss encode exif expat fam ffmpeg flac foomaticdb fortran gd gdbm gif glut gmp gphoto2 gpm gstreamer gtk gtk2 icq idn imagemagick imlib ipv6 ithreads jack java javascript jpeg kde kdeenablefinal lcms libg++ libwww lm_sensors lua mad mikmod mime mmx mng motif mp3 mpeg ncurses nls nocd nptl ogg oggvorbis openal opengl oss pam pcre pdflib perl pic plotutils png python qt quicktime readline recode samba sdl spell sse sse2 ssl svg svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vcd visualization vorbis win32codecs wmf xine xml2 xmms xv xvid zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
I solved my problem compiling media-libs/devil-1.6.7-r1. So a DEPEND on that version would be good. Another probleme is that gigi doesn't compile when the 'threads' flag is not set: satux ~ # USE="-threads" emerge gigi Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/gigi-0.6.0 to / >>> md5 files ;-) gigi-0.6.0.ebuild >>> md5 files ;-) files/digest-gigi-0.6.0 >>> md5 files ;-) files/gigi-sconspatch.diff >>> md5 src_uri ;-) GG-0.6.0.tgz >>> Unpacking source... >>> Unpacking GG-0.6.0.tgz to /var/tmp/portage/gigi-0.6.0/work >>> Source unpacked. * Applying gigi-sconspatch.diff ... [ ok ] * disabling threads scons: Reading SConscript files ... Warning: since multithreaded code is disabled, the GiGiNet build is disabled as well. Warning: since multithreaded code is disabled, the GiGiSDL build is disabled as well. Configuring for POSIX system... Checking for C++ header file boost/shared_ptr.hpp... yes Checking Boost version >= 1.32.0... yes Looking for boost lib boost_signals... Checking for boost::signals::connection() in C++ library boost_signals... yes Looking for boost lib boost_filesystem... Checking for boost::filesystem::initial_path() in C++ library boost_filesystem... yes Boost configuration... ok Checking for C header file GL/gl.h... yes Checking for C header file GL/glu.h... yes Checking for glBegin() in C library GL... yes Checking for gluLookAt() in C library GLU... yes Checking for pkg-config... ok Checking for freetype2 >= 9.0.0... ok Checking for C header file ft2build.h... yes Checking for FT_Init_FreeType() in C library freetype... yes Checking DevIL version >= 1.6.1... yes Checking for C header file IL/il.h... yes Checking for C header file IL/ilu.h... yes Checking for C header file IL/ilut.h... yes Checking for ilInit() in C library IL... yes Checking for iluInit() in C library ILU... yes Checking for ilutInit() in C library ILUT... yes Checking for DevIL OpenGL support... yes Checking for DevIL Allegro support... no (That's good!) Generating libltdl/config.h using libltdl/configure... ok Creating include/GGConfig.h from include/GGConfig.h.in... ok Configuration successful... yes NameError: name 'lib_gigi_sdl' is not defined: File "SConstruct", line 453: Depends(lib_gigi_sdl, lib_gigi_net) !!! ERROR: media-libs/gigi-0.6.0 failed. !!! Function src_compile, Line 43, Exitcode 2 !!! make failed !!! If you need support, post the topmost build error, NOT this status message.
Created attachment 76001 [details] gigi-0.6.0.ebuild removed the threads flag (gigi without multithreaded code is useless right now anyway. I left it there in hope that someone would use it in some way, but if it won't compile, there's no point) and corrected the devil dependency (do only I find this... weird? I get the feeling that that library is ... evil)
Created attachment 77138 [details] gigi-0.6.0.ebuild Once again an update. Due to my lack of experience, the previous versions of this ebuild made the gigi library unusable if its configuration was autodetected with pkg-config (it's a long story why i didn't notice it up until now). Now, with some sed help all's well. If you want to compile FreeOrion CVS without hassle, it's vital to use this ebuild instead of the previous ones.
localhost ~ # USE="threads" emerge gigi Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/gigi-0.6.0 to / >>> md5 files ;-) gigi-0.6.0.ebuild >>> md5 files ;-) files/digest-gigi-0.6.0 >>> md5 files ;-) files/gigi-sconspatch.diff >>> md5 src_uri ;-) GG-0.6.0.tgz >>> Unpacking source... >>> Unpacking GG-0.6.0.tgz to /var/tmp/portage/gigi-0.6.0/work >>> Source unpacked. * Applying gigi-sconspatch.diff ... [ ok ]scons: Reading SConscript files ... Configuring for POSIX system... Checking for C++ header file boost/shared_ptr.hpp... yes Checking Boost version >= 1.32.0... yes Looking for boost lib boost_signals... Checking for boost::signals::connection() in C++ library boost_signals... yes Looking for boost lib boost_filesystem... Checking for boost::filesystem::initial_path() in C++ library boost_filesystem... yeslocalhost ~ # USE="threads" emerge gigi Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/gigi-0.6.0 to / >>> md5 files ;-) gigi-0.6.0.ebuild >>> md5 files ;-) files/digest-gigi-0.6.0 >>> md5 files ;-) files/gigi-sconspatch.diff >>> md5 src_uri ;-) GG-0.6.0.tgz >>> Unpacking source... >>> Unpacking GG-0.6.0.tgz to /var/tmp/portage/gigi-0.6.0/work >>> Source unpacked. * Applying gigi-sconspatch.diff ... [ ok ]scons: Reading SConscript files ... Configuring for POSIX system... Checking for C++ header file boost/shared_ptr.hpp... yes Checking Boost version >= 1.32.0... yes Looking for boost lib boost_signals... Checking for boost::signals::connection() in C++ library boost_signals... yes Looking for boost lib boost_filesystem... Checking for boost::filesystem::initial_path() in C++ library boost_filesystem... yes Boost configuration... ok Checking for C header file pthread.h... yes Checking for pthread_create() in C library pthread... no !!! ERROR: media-libs/gigi-0.6.0 failed. !!! Function src_compile, Line 38, Exitcode 1 !!! make failed !!! If you need support, post the topmost build error, NOT this status message. emerge info is as follows: Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14.2 i686) ================================================================= System uname: 2.6.14.2 i686 AMD Athlon(tm) processor Gentoo Base System version 1.6.14 dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache digest distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.rhnet.is/pub/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LC_ALL="is_IS.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3ds S3TC X a52 aac acpi aim alsa apm async audiofile avi bdf bigger-fonts bindist bitmap-fonts blender-game bzip2 cairo ccache cdda cddb cdinstall cdparanoia cdr cdrom chroot cpudetection crypt css cups curl dbus devmap dga dnd dri dvd dvdread emboss encode escreen exif expat extensions fam ffmpeg firefox flac fmod foomaticdb fortran ftp gcj gd gdbm gif glut glx gmail gmailtimestamps gnome gpm gstreamer gtk gtk2 hal imagemagick imap imlib imlib2 jabber javascript joystick jp2 jpeg jpeg2k kde kdeenablefinal lcms libg++ libwww mad maildir mhash mikmod mmx mng motif mp3 mpeg mplayer msn music nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses net network nls nocd nowin nsplugin nvidia offensive ogg oggvorbis openal opengl oss pam pcre pdf pdflib perl physfs png pnp python qemu-fast qt quicktime readline real reiserfs remote savedconfig sdl session silverxp smartcard softmmu sounds speex spell sse ssl stencil-buffer svg tcltk tcpd tga theora threads tiff truetype truetype-fonts trusted type1-fonts udev unicode urandom usb vfat vorbis win32codecs wordperfect wv xface xml2 xmms xpm xprint xrandr xscreensaver xv xvid yahoo zeroconf zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS
not working with gcc-4.1. First there's a well known error, fixed with this patch: --- include/XMLDoc.h.orig 2005-07-16 03:08:29.000000000 +0200 +++ include/XMLDoc.h 2006-04-27 14:44:48.000000000 +0200 @@ -151,7 +151,7 @@ const XMLElement& LastChild() const; /** returns the value of the attribute with name \a key, or "" if no such named attribute is found */ - const std::string& XMLElement::Attribute(const std::string& attrib) const; + const std::string& Attribute(const std::string& attrib) const; /** writes the XMLElement to an output stream; returns the stream */ std::ostream& WriteElement(std::ostream& os, int indent = 0, bool whitespace = true) const; --------------------------------------------------------------------------- Then it gives another error: include/GGBase.h:123: error: ISO C++ forbids declaration of 'sp_counted_base_impl' with no type include/GGBase.h:123: error: typedef name may not be a nested-name-specifier include/GGBase.h:123: error: expected ';' before '<' token include/GGBrowseInfoWnd.h:135: error: expected constructor, destructor, or type conversion before ';' token scons: *** [src/GGApp.os] Error 1 scons: building terminated because of errors.
Created attachment 120533 [details] gigi-999.ebuild gigi svn ebuild, I don't know if anything actually changed though since 0.6.0 Nobody got a freeorion ebuild yet?
Created attachment 120778 [details] games-strategy/freeorion/freeorion-999.ebuild FreeOrion kept failing to find FMOD, so I eventually decided to make a use flag to be able to compile without FMOD. Unfortunately compilation fails with: util/Serialize.cpp:62: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' it would be great if someone on x86 could test this ebuild
*** This bug has been marked as a duplicate of bug 59218 ***
gigi-0.7.0 was released
Created attachment 150981 [details] gigi-0.7.0.ebuild Initial attempt at ebuild, fails to configure with: KeyError: 'LIBPATH': File "/var/tmp/portage/games-strategy/gigi-0.7.0/work/GG-0.7.0/SConstruct", line 636: CreateGiGiPCFile(['GiGi.pc'], ['GiGi.pc.in'], env) File "/var/tmp/portage/games-strategy/gigi-0.7.0/work/GG-0.7.0/build_support.py", line 91: for path in env['LIBPATH']: File "//usr/lib64/scons-0.97/SCons/Environment.py", line 309: return self._dict[key]