I have attached an updated ebuild file for the newest version of FCE Ultra, a Nintendo/Famicom emulator. The new version supports an updated system for getting user input and supports joystick buttons instead of axes for directional control. There are most likely many other updates, but this is the reason I needed it. Seems svgalib is no longer supported, also. It is part of games-emulation/fceultra John Ratliff
Created attachment 31510 [details] new ebuild
I'm not really sure if the man page should be added to the docs now that I think about it. It is ridiculously out of date and was written by someone for Debian (not that that should matter, only that the developer isn't updating it). The HTML documentation is current though.
Created attachment 31511 [details] updated ChangeLog
Created attachment 32112 [details] fceultra-0.98.10.ebuild Updated ebuild for the 0.98.10 version. This version fixes many problems with VS games, network play, and the sound bug when you configure a controller that were present in 0.98.9. The ebuild additionally ignores the man page since it is so far out of date.
I added a slightly modified ebuild. Why did you binary mask it?
Is that what the -* thing does in the keywords? I basically followed the fceultra-0.97.5.ebuild. It was in that, so I left it there.
yeah, KEYWORDS="-*' in an ebuild means 'mask on all archs'
Your ebuild fails to compile for me. gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"fceu\" -DVERSION=\"0.98.10\" -D_GNU_SOURCE=1 -DHAVE_ASPRINTF=1 -DHAVE_LIBZ=1 -DNETWORK=1 -DUNIX=1 -DPSS_STYLE=1 -DNETWORK=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DUSE_SEXYAL=1 -DHAVE_GTK=1 -DEXTGUI=1 -DOPENGL=1 -DSDL=1 -DC80x86=1 -DLSB_FIRST=1 -DFCEU_VERSION=\"0.98.10\" -DFCEU_VERSION_NUMERIC=9810 -DFRAMESKIP=1 -Wall -fomit-frame-pointer -I/usr/include/SDL -D_REENTRANT -Wall -fomit-frame-pointer -O2 -march=pentium4 -pipe -fomit-frame-pointer -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c -o drivers/pc/sdl-opengl.o `test -f 'drivers/pc/sdl-opengl.c' || echo './'`drivers/pc/sdl-opengl.c gcc -Wall -fomit-frame-pointer -O2 -march=pentium4 -pipe -fomit-frame-pointer -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o fceu fceustr.o cart.o cheat.o crc32.o debug.o endian.o fceu.o fds.o file.o filter.o general.o ines.o input.o md5.o memory.o netplay.o nsf.o palette.o ppu.o sound.o state.o unif.o video.o vsuni.o wave.o x6502.o movie.o unzip.o boards/8237.o boards/h2288.o boards/malee.o boards/novel.o boards/sachen.o boards/simple.o boards/super24.o boards/supervision.o input/cursor.o input/zapper.o input/powerpad.o input/arkanoid.o input/shadow.o input/fkb.o input/hypershot.o input/mahjong.o input/oekakids.o input/ftrainer.o input/quiz.o input/toprider.o input/bworld.o mappers/mmc2and4.o mappers/simple.o mappers/112.o mappers/117.o mappers/15.o mappers/151.o mappers/16.o mappers/17.o mappers/18.o mappers/180.o mappers/184.o mappers/21.o mappers/22.o mappers/225.o mappers/226.o mappers/228.o mappers/229.o mappers/23.o mappers/24and26.o mappers/240.o mappers/246.o mappers/25.o mappers/32.o mappers/33.o mappers/40.o mappers/41.o mappers/6.o mappers/65.o mappers/67.o mappers/68.o mappers/69.o mappers/71.o mappers/73.o mappers/75.o mappers/76.o mappers/79.o mappers/8.o mappers/80.o mappers/85.o mappers/95.o mappers/97.o mappers/99.o mappers/182.o mappers/46.o mappers/43.o mappers/42.o mappers/113.o mappers/86.o mappers/89.o mappers/83.o mappers/77.o mappers/92.o mappers/88.o mappers/248.o mappers/emu2413.o mappers/242.o mappers/232.o mappers/72.o mappers/234.o mappers/227.o mappers/82.o mappers/189.o mappers/51.o mappers/91.o mappers/114.o mappers/241.o mappers/235.o mappers/57.o mappers/255.o mappers/61.o mappers/59.o mappers/160.o mappers/193.o mappers/50.o mappers/60.o mappers/62.o mappers/244.o mappers/230.o mappers/200.o mappers/201.o mappers/202.o mappers/203.o mappers/231.o mappers/208.o mappers/58.o mappers/187.o mbshare/mmc5.o mbshare/mmc3.o mbshare/mmc1.o mbshare/tengen.o mbshare/90.o mbshare/deirom.o mbshare/n106.o mbshare/164.o drivers/common/args.o drivers/common/cheat.o drivers/common/config.o drivers/common/vidblit.o drivers/common/hq2x.o drivers/common/hq3x.o drivers/common/scale2x.o drivers/common/scale3x.o drivers/common/scalebit.o drivers/sexyal/sexyal.o drivers/sexyal/md5.o drivers/sexyal/smallc.o drivers/sexyal/convert.o drivers/sexyal/drivers/oss.o drivers/pc/input.o drivers/pc/main.o drivers/pc/sdl.o drivers/pc/sdl-joystick.o drivers/pc/sdl-sound.o drivers/pc/sdl-throttle.o drivers/pc/sdl-video.o drivers/pc/unix-netplay.o drivers/pc/sdl-opengl.o -lz -lz -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../crt1.o(.text+0x18): In function `_start': : undefined reference to `main' cart.o(.text+0xbd7): In function `OpenGenie': : undefined reference to `FCEUD_UTF8fopen' cart.o(.text+0x1068): In function `FCEU_SaveGameSave': : undefined reference to `FCEUD_UTF8fopen' cart.o(.text+0x1135): In function `FCEU_LoadGameSave': : undefined reference to `FCEUD_UTF8fopen' cheat.o(.text+0x166): In function `CheatMemErr': : undefined reference to `FCEUD_PrintError' cheat.o(.text+0x423): In function `FCEU_LoadGameCheats': : undefined reference to `FCEUD_UTF8fopen' cheat.o(.text+0x5bc): In function `FCEU_FlushGameCheats': : undefined reference to `FCEUD_PrintError' cheat.o(.text+0x5d1): In function `FCEU_FlushGameCheats': : undefined reference to `FCEUD_UTF8fopen' debug.o(.text+0x1e): In function `FCEUI_DumpMem': : undefined reference to `FCEUD_UTF8fopen' debug.o(.text+0x8a): In function `FCEUI_LoadMem': : undefined reference to `FCEUD_UTF8fopen' fceu.o(.text+0x77e): In function `FCEU_printf': : undefined reference to `FCEUD_Message' fceu.o(.text+0x7c3): In function `FCEU_PrintError': : undefined reference to `FCEUD_PrintError' fds.o(.text+0xfe9): In function `FDSLoad': : undefined reference to `FCEUD_UTF8fopen' fds.o(.text+0x145b): In function `FDSClose': : undefined reference to `FCEUD_UTF8fopen' file.o(.text+0x41a): In function `FCEU_fopen': : undefined reference to `FCEUD_UTF8fopen' file.o(.text+0x63c): In function `FCEU_fopen': : undefined reference to `FCEUD_UTF8fopen' file.o(.text+0x686): In function `FCEU_fopen': : undefined reference to `FCEUD_UTF8fopen' netplay.o(.text+0x1c1): more undefined references to `FCEUD_UTF8fopen' follow netplay.o(.text+0x529): In function `NetplayUpdate': : undefined reference to `FCEUD_PrintError' netplay.o(.text+0x6ca): In function `NetplayUpdate': : undefined reference to `FCEUD_PrintError' nsf.o(.text+0x122): In function `NSFLoad': : undefined reference to `FCEUD_PrintError' palette.o(.text+0x458): In function `FCEU_LoadGamePalette': : undefined reference to `FCEUD_UTF8fopen' state.o(.text+0x4fa): In function `FCEUSS_Save': : undefined reference to `FCEUD_UTF8fopen' state.o(.text+0x57e): In function `FCEUSS_Save': : undefined reference to `FCEUD_UTF8fopen' state.o(.text+0x6a4): In function `FCEUSS_Load': : undefined reference to `FCEUD_UTF8fopen' state.o(.text+0x785): In function `FCEUSS_Load': : undefined reference to `FCEUD_UTF8fopen' state.o(.text+0x7d4): more undefined references to `FCEUD_UTF8fopen' follow drivers/pc/input.o(.text+0x991): In function `KeyboardCommands': : undefined reference to `GUI_RequestExit' drivers/pc/input.o(.text+0x9a7): In function `KeyboardCommands': : undefined reference to `GUI_Hide' drivers/pc/input.o(.text+0x94): In function `ParseGIInput': : undefined reference to `Giggles' drivers/pc/main.o(.text+0x501): In function `LoadGame': : undefined reference to `GUI_Hide' drivers/pc/main.o(.text+0x56e): In function `CloseGame': : undefined reference to `GUI_Hide' drivers/pc/main.o(.text+0x634): In function `CLImain': : undefined reference to `GetBaseDirectory' drivers/pc/main.o(.data+0xcc): undefined reference to `GUIConfig' drivers/pc/sdl.o(.text+0xe8): In function `GetMouseData': : undefined reference to `GUI_GetMouseState' drivers/pc/sdl.o(.text+0x190): In function `GetKeyboard': : undefined reference to `GUI_GetKeyboard' drivers/pc/sdl.o(.text+0x296): In function `ButtonConfigBegin': : undefined reference to `FCEUD_Message' drivers/pc/sdl.o(.text+0x47a): In function `FCEUSDLmain': : undefined reference to `FCEUD_Message' drivers/pc/sdl-sound.o(.text+0x196): In function `InitSound': : undefined reference to `FCEUD_PrintError' drivers/pc/sdl-sound.o(.text+0x296): In function `InitSound': : undefined reference to `FCEUD_PrintError' drivers/pc/sdl-video.o(.text+0xfe): In function `InitVideo': : undefined reference to `GUI_SetVideo' drivers/pc/sdl-video.o(.text+0x315): In function `InitVideo': : undefined reference to `FCEUD_PrintError' drivers/pc/sdl-video.o(.text+0x338): In function `InitVideo': : undefined reference to `GUI_SetVideo' drivers/pc/sdl-video.o(.text+0x59f): In function `InitVideo': : undefined reference to `FCEUD_PrintError' drivers/pc/sdl-video.o(.text+0x70c): In function `InitVideo': : undefined reference to `GUI_SetVideo' collect2: ld returned 1 exit status make[1]: *** [fceu] Error 1 make[1]: Leaving directory `/var/tmp/portage/fceultra-0.98.10/work/fceu/src' make: *** [all-recursive] Error 1 !!! ERROR: games-emulation/fceultra-0.98.10 failed. !!! Function src_compile, Line 37, Exitcode 2 !!! emake failed
Created attachment 32294 [details, diff] a patch to remove the gtk stuff and allow for compilation It seems it is the gtk stuff that is causing the problems with compilation. If that is removed, everything goes fine. I suggest removing the gtk stuff from the ebuild. I have attached a patch for the ebuild that will do this. Maybe it can be fceultra-0.98.10-r1.ebuild. I don't know why the gtk stuff doesn't compile. I couldn't find anything about it in the docs, only in the ./configure --help stuff that suggests it would work. I have posted a note on the FCEultra forum (http://forum.starmen.net/index.php?t=msg&th=2248&start=0), so maybe I will get some answers there.
Forgot to mention that I also removed the --with-sdl stuff. This is by default. SDL is always on. I compiled it with this flag and without and the binaries are identical. The only difference was in adding the opengl flag.
if [ `use opengl` ]; should be: if use opengl;
Sorry. I should have been more clear. The patch is for the ebuild that was put in portage by David Holm (dholm@gentoo.org), not for the ebuild attachment here. I should have made that obsolete when I added the patch...
According to Xodnizel, the lead coder of FCE Ultra, the GTK+ code does not exist. This is why the --with-gtk option is not in the documentation, and it should not be an option in the ebuild. http://forum.starmen.net/index.php?t=rview&goto=33585 I suggest the patch be applied to the ebuild in portage, and change it to fceultra-0.98.10-r1.ebuild. Thanks.
Thanks for tracking this down John. This has been fixed in CVS.
Yes. The new one works perfectly.