The current gnuboy ebuild builds display backends based on whatever it finds on the system, and doesn't record the deps either. Also the package enables some strange GCC options by default, which one would hope a user would never add to their make.conf ;) The package also installs to /usr instead of the /usr/games heirachy that most games adhere to. And finally if you cross compile from an x86 box to a non-x86 target it wrongly tries to build some x86 asm source by default[1]. The attached patch changes the ebuild to: * Fix the deps, and allows the user to build only the frontends they want. * Use the games eclass, and installs to the normal place. * Disable the hardcoded compiler optimisations, allowing the user to set their own craziness. * Only enable the asm emulation core when building for an x86 box[2]. As the changes edit almost every line of the ebuild I decided not to split the patches up as they wouldn't easily apply out of order anyhow. 1. Checks 'uname -m' on the host. 2. To me this seems like the right thing to do in this instance, but maybe there is a better way to reach the right result? And I can't personally see the value in making asm really optional on x86. Hmm, nobody compiles to x86 from non-x86 do they because of [1] :/ Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 64106 [details, diff] gnuboy-remix.patch
Having just spotted Bug #99546 I want to point out the attached patch fixes that bug too.
Couple issues: What happens if they don't have any of the use flags set? There should be a default. Is there a missing dep for fbcon?
First up sorry for the delay, holiday season. (In reply to comment #3) > Couple issues: > > What happens if they don't have any of the use flags set? There should be a > default. Oops, of course there should be. It just really didn't occur to me :/ I've updated the ebuild and defaulted it to SDL, mainly because IMO it is the most usable. Surely there is a simpler way to do the above than the ugly mess I've added though? Comments welcome! (including flames and a pointer at an ebuild in the tree) > Is there a missing dep for fbcon? Unless I'm missing something there aren't any non-system deps for the framebuffer build. It does strictly depend on sys-kernel/linux-headers mind you(linux/fb.h), so it isn't going to work as-is on freebsd(is that supposed to be handled some way?).
Created attachment 65834 [details, diff] gnuboy-cleanup-v2.patch
*** Bug 99546 has been marked as a duplicate of this bug. ***
Ok, it's in there. resync/remerge for more GUIs. Thanks for the bug report and patch.
games-emulation/gnuboy does have extra dependencies when building with support for fb, contrary to my *own* erroneous statement in comment #4. The attached patch adds the required fbset dep when fbcon USE is enabled, I really don't see why I didn't catch it before :/
Created attachment 84389 [details, diff] gnuboy-fb_deps.patch
Created attachment 84390 [details, diff] gnuboy-fb_deps_fix.patch Should have changed RDEPEND, not DEPEND.
Fixed, thanks.