
Second, I've added an Exherbo-specific "exheres" (i.e., "ebuild" in Gentoo parlance) to my github-hosted Exherbo repository at:
https://github.com/leycec/exherbo-leyce ... like/tome4
Exherbo is a source-based Linux distro with purely cosmetic (...I assure you) similarities to acquaintance, occasional ally distro Gentoo. The above exheres successfully builds ToME4 in full with optional music support. It was, needless to say, a bit of an effort. And it's still not quite right. (More on that below.)
Gentoo users should be able to cobble together an unofficial ebuild from the above exheres with only a little effort. I applaud the effort. Though I no longer use Gentoo, I'd love to see ToME4 officially hit Portage.
I stumbled across a few roadblocks while cobbling together Exherbo support. Nothing too major, happily:
---------- EDIT ----------
libpng and refresh woes below were entirely my fault, I'm afraid. SDL and all SDL subcomponents required rebuilding.

All other comments stand as is. On to the permadeathing!
---------- EDIT end ----------
- ToME4 fails under libpng >= 1.4.0. Actually, this was a bit major. Mostly because there were no configuration, compilation, or linker warnings or errors and the runtime error "t-engine" was spitting out wasn't particularly helpful. I'm afraid I didn't log it. I can certainly replicate it if anyone would like the exact text. Fortunately, downgrading to libpng 1.2 "fixed" it.
- To mitigate this sort of sadness in the future, it would probably help if the howtocompile page enumerated the exact set of dependencies required for building under all systems. For example, Linux dependencies currently resemble:
media-libs/SDL[>=1.2.0]
media-libs/SDL_image[>=1.2.0]
media-libs/SDL_mixer[>=1.2.0]
media-libs/SDL_ttf[>=1.2.0]
media-libs/freetype:2
media-libs/jpeg
media-libs/libpng[~>1.2.0]
media-libs/libogg
media-libs/libvorbis
media-libs/smpeg
media-libs/tiff
x11-dri/mesa
...where ">=" means at least and "~>" means at least but not greater than the next major version (e.g., 1.2.0 and 1.2.45 are O.K., but 1.4.0 and 1.4.5 are not). - I'm having massive refresh issues. So much so that the startup "background" makes ToME4 initially unusable. Fortunately, I noted the "DISABLE BACKGROUND" button. (Handy.) That makes ToME4 playable, if by some sick definition of "playable" you mean plagued with refresh glitchiness. The crux of the problem appears to be that the entire window redraws on every refresh rather than merely that tile or tiles which needs redrawing. This occurs on every cursor movement and every game tick. While not game-killingly terminal, it is annoying. Unsurprisingly, disabling framebuffer and OpenGL shaders neither improved or degraded the lamentable situation. FPS is otherwise quite high, hovering about the 50FPS mark. I see no errors or warnings which might suggest the culprit. Incidentally (...or not), I am running bleeding edge (...but stable) versions of SDL, Mesa, libjpeg, and libtiff. I am not, however, running DirectFB. (Exherbo doesn't even have DirectFB.) I suspect SDL. Perhaps I'll try a full SDL reinstall, then downgrade when that inevitably doesn't change anything.
- The Makefile doesn't supply an "install" target, meaning source-based distros have to hack up an installation process. This would be quite O.K. if the "t-engine" executable could be executed under the canonical location for Linux executables, But it can't be, seemingly. So the above exheres hacks up a bash script manually cd-ing to the ToME4 tree and running "t-engine" from there as well as manually installing all relevant files and paths. What's relevant? I have no idea and neither does my exheres. Still, I think we got it right. Annoying? Yes. Installation-breaking? Probably not.
Code: Select all
/usr/bin/
- The default choice of 32x32 tiles seems a bit... underwhelming. Perhaps the default tileset could dynamically scale with resolution and/or hastily profiled CPU|GPU|RAM capability?
Humbly yours,
Sess
P.s. For the Exherbo-inclined, the aesthetically flashy brogue roguelike is also available from the same Exherbo repository. Have @ you!