Bug 84178 - ebuild: dev-games/guichan
|
Bug#:
84178
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: games@gentoo.org
|
Reported By: egore@gmx.de
|
|
Component: Library
|
|
|
URL:
http://guichan.sourceforge.net/forum/read.php?3,180
|
|
Summary: ebuild: dev-games/guichan
|
|
Keywords: EBUILD
|
|
Status Whiteboard:
|
|
Opened: 2005-03-05 04:42 0000
|
guichan is a library for guis.
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Created an attachment (id=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.
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 an attachment (id=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.
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.
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