The Nestopia upstream suggests >= fltk-1.4.0 which is required for both Wayland and HiDPI support. https://github.com/0ldsk00l/nestopia/issues/407#issuecomment-2561198482
Does it cause any regressions vs the old version, or it's just missing new features? aka, I think this is more of fltk version bump request bug than something nestopia needs to change
No guarantee yet if run into blockers I don't want to handle, but I may have a look at bumping it. Will probably redo the ebuild from scratch and drop the 9999 ebuilds if I do this. Just saying to avoid potential duplicate work.
I'm not sure about regressions, but it certainly does cause problems for Nestopia. The UI is nearly unusable and small on a 4k screen and there may be segfaults with wayland as reported upstream. https://github.com/0ldsk00l/nestopia/issues/431
Yeah, that's why I gave games-engines/odamex a hidpi USE flag. Upstream had started bundling 1.4, but I saw the UI scaling issues with 1.3, so I gave users the choice.
Was a bit quirky but bump is mostly done locally (& switches to cmake given fltk upstream is deprecating autotools). Still need to check how revdeps are doing with it and give them a binding operator when have more time though (this changes soname every 1.x version but still didn't have a subslot). So it'll still be a bit.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf28418f30a122955e636dfba07d29cfa7447e75 commit bf28418f30a122955e636dfba07d29cfa7447e75 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-12-25 00:16:13 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-12-26 17:48:28 +0000 x11-libs/fltk: add 1.4.1 Brand new ebuild not really based on the old. Changes may or may not introduce some regressions, but will see to these as needed. Regardless of the ebuild, note some revdeps may be broken with fltk-1.4.x. "Often" it's just trivial like a missing include (IWYU) or an include needing different casing due to compatibility symlinks (e.g. Fl/Fl_file_chooser.H -> FL/Fl_File_Chooser.H>) being dropped. Upstream discourages re-enabling them and suggests fixing packages instead. Some revdeps may also be relying on X-specific things (e.g. including x.H and using fl_display), and may need to depend on fltk[X(+)] (have not really looked at if things work on wayland). x.H is also deprecated and due for removal, should use platform.H. I've fixed a few while updating revdeps for := and USE changes but haven't tried nor handled everything myself. That aside, overview of (some) notable ebuild differences vs old: * Use cmake Upstream plans to remove autotools support in 1.5.0, so. * Actually run some tests The old ebuild's src_test was just building tests and never running anything, so at least run (minor) "unittests --core" like upstream's CI does. * Add subslot Gets a new soname + ABI incompatible changes every 1.x versions, but <1.3 is so old that never got a subslot (see README.abi-version.txt). * Drop multilib Do not think this is worth keeping. At most old 32bit prebuilts can need 32bit fltk but they cannot use 1.4 due to soname/ABI changes. (*if* really needed could consider a fltk-compat:1.3 for these). Can revisit if a reason to. * Drop USE=games Not convinced that there is real interest in these example apps being installed, and they all have generic naming by default (e.g. previous was installing /usr/bin/sudoku) making it easy to conflict. They also need to be installed manually (no cmake option for this that I can see at the moment). Could revisit if there is actual users and it is not just for completeness. * Drop USE=xft Can use either pango or xft w/ USE=X with pango being preferred, and it is kind of bogus to disable both (breaks things in unexpected ways). So now USE=cairo will use pango (forced by build system if cairo is enabled, -DFLTK_USE_PANGO accomplishes little), and USE=-cairo uses xft only. Pango/cairo is not optional for wayland, and that's why USE=cairo is default enabled now (also because it supposedly renders better on X as well). * Drop USE=threads, always enabled Nothing special there, but requires adjusting some revdeps w/ (+) * Drop USE=xinerama and always depend on it if USE=X Could understand some users not wanting it, however, for some reason -DFLTK_USE_XINERAMA is ignored when USE="X wayland" (works if -wayland) and README.Wayland.txt says that xinerama is always required if X11 is enabled as well. *could* make it optional with -wayland but that felt messy and a req use of "wayland? ( X? ( xinerama ) )" seems confusing. Ultimately it was enabled by default before and it's a very small dep. May revisit only after the build system gets polished and if there's a demand. * Drop env.d file and -rpath hacks This doesn't install in /usr/lib*/fltk anymore and so no need for LDPATH, and if the FLTK_DOCDIR env var is unset it should fallback to the builtin path which points to /usr/share/doc/${PF}/html (albeit the in-app help browser renders these rather poorly right now, better use a real browser). * Misc notes Was tempted to drop USE=static-libs, but I believe there is a demand for this on this package, may revisit. Considered making fluid optional being a GUI app for developers, but it's also used at build time by some packages and it's not worth being conditional on Gentoo then. It may be possible to make dbus optional with USE=wayland, but build system has no switch for it (automagic-only), so hard-depend for now. For those trying to avoid X libs, hard libglvnd[X] is not a typo, USE="-X wayland opengl" still links with libGLX->libX11 at the moment. Like before, fltk-config --ldflags still gives a wall of unnecessary libraries (that libftlk.so is linked with, more than before w/ wayland) due to expecting static -- but otherwise appears fine despite generated by cmake. bug #494390: pdf build is explicitly disabled in this version, so it shouldn't be trying to use latex (build system also changed, if still into something please open a new bug). Closes: https://bugs.gentoo.org/494390 Closes: https://bugs.gentoo.org/946882 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> x11-libs/fltk/Manifest | 1 + x11-libs/fltk/files/fltk-1.4.1-fltk-config.patch | 25 +++++ x11-libs/fltk/files/fltk-1.4.1-tests-odr.patch | 9 ++ x11-libs/fltk/fltk-1.4.1.ebuild | 113 +++++++++++++++++++++++ 4 files changed, 148 insertions(+) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa40076248129f848323ba6f049eee9f6f278ae5 commit fa40076248129f848323ba6f049eee9f6f278ae5 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-12-26 06:40:22 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-12-26 17:48:29 +0000 games-engines/odamex: add binding := to fltk, soname changed wrt bug #946882 comment #4, can likely get rid of USE=hidpi but haven't experimented with that so only adding the binding operator like other packages myself. Bug: https://bugs.gentoo.org/946882 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> games-engines/odamex/{odamex-10.6.0.ebuild => odamex-10.6.0-r2.ebuild} | 2 +- .../odamex/{odamex-10.6.0-r1.ebuild => odamex-10.6.0-r3.ebuild} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa31e4cc3763bdaaa0123ac39ce54187324d0b73 commit aa31e4cc3763bdaaa0123ac39ce54187324d0b73 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-12-26 06:37:22 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-12-26 17:48:29 +0000 games-emulation/nestopia: add binding := to fltk, soname changed Also add the lower bound to latest version while at it (after all) given the upstream recommendation. Bug: https://bugs.gentoo.org/946882 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> .../nestopia/{nestopia-1.52.1.ebuild => nestopia-1.52.1-r1.ebuild} | 2 +- .../nestopia/{nestopia-1.53.0.ebuild => nestopia-1.53.0-r1.ebuild} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)