guichan is a library for guis. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 52717 [details] media-libs/guichan-0.2.0 The ebuild for guichan. I have no idea how to write an ebuild for a library, but I think installing headers and the .la files is the right way, isn't it?
It compiles well, but i'm not very happy with the placement of some files: >>> Merging media-libs/guichan-0.2.0 to / >>> /guichan.hpp >>> /guichan/ >>> /guichan/x/ >>> /guichan/x/CVS/ >>> /guichan/x/CVS/Root >>> /guichan/x/CVS/Repository >>> /guichan/x/CVS/Entries >>> /guichan/x/CVS/Template >>> /guichan/x/Makefile.am >>> /guichan/x/Makefile.in >>> /guichan/x/xgraphics.hpp >>> /guichan/x/Makefile >>> /guichan/CVS/ >>> /guichan/CVS/Root >>> /guichan/CVS/Repository >>> /guichan/CVS/Entries.Log >>> /guichan/CVS/Entries >>> /guichan/CVS/Template >>> /guichan/sdl/ >>> /guichan/sdl/CVS/ >>> /guichan/sdl/CVS/Root >>> /guichan/sdl/CVS/Repository >>> /guichan/sdl/CVS/Entries >>> /guichan/sdl/CVS/Template >>> /guichan/sdl/Makefile.am >>> /guichan/sdl/Makefile.in >>> /guichan/sdl/sdlgraphics.hpp >>> /guichan/sdl/sdlimageloader.hpp >>> /guichan/sdl/sdlinput.hpp >>> /guichan/sdl/sdlpixel.hpp >>> /guichan/sdl/Makefile >>> /guichan/mouseinput.hpp >>> /guichan/cliprectangle.hpp >>> /guichan/imageloader.hpp >>> /guichan/color.hpp >>> /guichan/key.hpp >>> /guichan/basiccontainer.hpp >>> /guichan/x.hpp >>> /guichan/platform.hpp >>> /guichan/defaultfont.hpp >>> /guichan/widget.hpp >>> /guichan/exception.hpp >>> /guichan/sdl.hpp >>> /guichan/font.hpp >>> /guichan/focushandler.hpp >>> /guichan/keylistener.hpp >>> /guichan/Makefile.am >>> /guichan/Makefile.in >>> /guichan/allegro/allegrographics.hpp >>> /guichan/allegro/allegroinput.hpp >>> /guichan/allegro/allegroimageloader.hpp >>> /guichan/allegro/Makefile >>> /guichan/graphics.hpp >>> /guichan/opengl.hpp >>> /guichan/widgets/ >>> /guichan/widgets/CVS/ >>> /guichan/widgets/CVS/Root >>> /guichan/widgets/CVS/Repository >>> /guichan/widgets/CVS/Entries >>> /guichan/widgets/CVS/Template >>> /guichan/widgets/label.hpp >>> /guichan/widgets/listbox.hpp >>> /guichan/widgets/textfield.hpp >>> /guichan/widgets/icon.hpp >>> /guichan/widgets/slider.hpp >>> /guichan/widgets/button.hpp >>> /guichan/widgets/container.hpp >>> /guichan/widgets/Makefile.am >>> /guichan/widgets/Makefile.in >>> /guichan/widgets/checkbox.hpp >>> /guichan/widgets/radiobutton.hpp >>> /guichan/widgets/dropdown.hpp >>> /guichan/widgets/scrollarea.hpp >>> /guichan/widgets/textbox.hpp >>> /guichan/widgets/Makefile >>> /guichan/rectangle.hpp >>> /guichan/actionlistener.hpp >>> /guichan/Makefile --- /usr/ --- /usr/lib64/ >>> /usr/lib64/libguichan_widgets.la >>> /usr/lib64/libguichan.la >>> /usr/lib64/libguichan_sdl.la >>> /usr/lib64/libguichan_opengl.la The libs are ok, but i don't think is good to place a guichan directory on the root.
Created attachment 52723 [details] media-libs/guichan-0.2.0 hackish fix stupidity
Tested. Seems ok :)
Created attachment 55326 [details] media-libs/guichan-0.3.0 ebuild for the latest version
The deps aren't optional unless you can turn them off via configure.
from what I can tell the configure script autodetects which libs are available, but I'm not 100% sure about that. will check that later.
We don't allow configure scripts to autodetect things. That means that portage is unaware of the package deps. Look at the other ebuilds and note the use of use_enable and use_with.
Hi, some files are missing. If i compile the source manually it works ok and dependant programs detects it. This doesn't happen with the ebuild. Actual result (using ebuild): root@localhost lib # ls /usr/lib64/*guichan* /usr/lib64/libguichan.la /usr/lib64/libguichan_opengl.la /usr/lib64/libguichan_sdl.la /usr/lib64/libguichan_widgets.la Expected result (manual compilation): root@localhost lib # ls /usr/local/lib/ libguichan.a libguichan.so.0 libguichan_allegro.la libguichan_allegro.so.0.0.0 libguichan_opengl.so libguichan_sdl.a libguichan_sdl.so.0 libguichan.la libguichan.so.0.0.0 libguichan_allegro.so libguichan_opengl.a libguichan_opengl.so.0 libguichan_sdl.la libguichan_sdl.so.0.0.0 libguichan.so libguichan_allegro.a libguichan_allegro.so.0 libguichan_opengl.la libguichan_opengl.so.0.0.0 libguichan_sdl.so
It also has optional dependancy on SDL_Image ... checking SDL/SDL_image.h usability... no checking SDL/SDL_image.h presence... no checking for SDL/SDL_image.h... no checking for IMG_Load in -lSDL_image... no configure: WARNING: SDL_image support skipped when SDL_image not found. ... Maybe check for png and jpeg use flags too?
Created attachment 56493 [details] Guichan ebuild with use_enable and use_with syntax Works for me (tm) :D I stripped the doc use flag as I didn't need it. Whoever needs it will find time to add it.. :P
@Priit Laes, What do you mean? How have you tried? The compilation works for me on both ebuilds but it still doesn't still correctly, making it undetectable by apps which depend on it.
With the ebuild provided with comment #11 it seems to work fine for me (on ~x86 with all use flags set). Someone should verify this (especially for comment #12, since I do not have any apps that need it). I can test it too, if someone can point out a simple app that depends on it. This also seems to install to the right location (and a bunch of header files are installed, too). localhost egore # ls /usr/lib/*guichan* /usr/lib/libguichan.a /usr/lib/libguichan_allegro.a /usr/lib/libguichan_allegro.la /usr/lib/libguichan_allegro.so /usr/lib/libguichan_allegro.so.0 /usr/lib/libguichan_allegro.so.0.0.0 /usr/lib/libguichan.la /usr/lib/libguichan_opengl.a /usr/lib/libguichan_opengl.la /usr/lib/libguichan_opengl.so /usr/lib/libguichan_opengl.so.0 /usr/lib/libguichan_opengl.so.0.0.0 /usr/lib/libguichan_sdl.a /usr/lib/libguichan_sdl.la /usr/lib/libguichan_sdl.so /usr/lib/libguichan_sdl.so.0 /usr/lib/libguichan_sdl.so.0.0.0 /usr/lib/libguichan.so /usr/lib/libguichan.so.0 /usr/lib/libguichan.so.0.0.0
I just ran ./configure for "The Mana World" and this line checking for gcnGuichanVersion in -lguichan... yes looks really good to me :D
I've compiled mana world from source and it only will work if i compile guichan from source too, the ebuild is compiled and installed but it won't be detected. Are you sure you don't have guichan installed under /usr/local/lib ?
egore@localhost /usr/local/lib $ ls *gui* ls: *gui*: Datei oder Verzeichnis nicht gefunden I don't have it. And I compiled Mana World this morning and it built fine and I'm also able to play it. The only occurance of guichan on my system is /usr/lib and I was using the latest mana world release on an athlon-xp (using ~x86 as keyword). Do you have an AMD64 processor? Since I'm not sure if mana world is able to find guichan libs if they lie around in /usr/lib64/ Might be a job for an AMD64 expert.
If you haven't compiled guichan manually from source is normal that you don't have /usr/local/lib. Yes, I'm running amd64, and the libs are installed under /usr/lib64/ so maybe is a problem with the path detection routines on the configure script, and not with the ebuild itself. The strange thing is that lib64 is a symlink to /usr/lib.... so maybe configure doesn't plays fair with symlinks? I'll talk to the Mana devs to see what they think. Regards
please don't touch the state of the bug after the initial submission.
Comment on attachment 56493 [details] Guichan ebuild with use_enable and use_with syntax please attach files as text/plain
i disabled the X stuff because if you run configure with --enable-x it'll fail badly :( Pablo, think you could mention that to the upstream devs please ? cleaned up otherwise and added to portage, thanks !
SpanKY, I don't understand what do you mean, i have just compiled guichan and tmw and everything is fine. Whats exactly the problem with --enable-x? It doesn't seems neccesary
it's an optional feature that causes failure add '--enable-x' to the configure process and it'll fail
Ok, just tried and it failed: make[4]: Entering directory `/home/lxuser/TheManaWorld/guichan-0.3.0-src/include/guichan/x' make[4]: *** No rule to make target `ximage.hpp', needed by `all-am'. Stop. make[4]: Leaving directory `/home/lxuser/TheManaWorld/guichan-0.3.0-src/include/guichan/x' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/lxuser/TheManaWorld/guichan-0.3.0-src/include/guichan' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/lxuser/TheManaWorld/guichan-0.3.0-src/include' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/lxuser/TheManaWorld/guichan-0.3.0-src/include' make: *** [all-recursive] Error 1 Will send a letter to the developers.
I've opened this thread: http://guichan.sourceforge.net/forum/read.php?3,180
thanks :)
http://guichan.sourceforge.net/forum/read.php?3,180 Yep, that's just the way it is. X support is broken right now (and is therefore disabled by default in the configure script). We will probably drop it completely in the next version unless a skilled X programmer magically appears and writes a robust X backend for guichan. Allegro, SDL and OpenGL backends are functional and should work with all applications that uses guichan (such as The Mana World). _______________________________ --Per Larsson, Guichan Developer
Cool... thanks for the head's up...
0.4 is out: 2005-05-18 Version 0.4.0 released! Modal focus is the biggest new feature in this latestes release of Guichan. Lots of bugs have been fixed and the ImageFont class can now use images with several rows of glyphs http://guichan.sourceforge.net/downloads.shtml
http://www.gentoo.org/proj/en/desktop/games/#doc_chap5_sect9