Mail archive
alpine-devel

Re: [alpine-devel] Re: fltk upgrades, dillo, other packages...

From: Isaac Dunham <ibid.ag_at_gmail.com>
Date: Tue, 18 Nov 2014 09:43:13 -0800

On Tue, Nov 18, 2014 at 09:43:44AM +0100, Natanael Copa wrote:
> On Sun, 16 Nov 2014 23:46:19 -0800
> Isaac Dunham <ibid.ag_at_gmail.com> wrote:
>
> > On Sun, Nov 16, 2014 at 10:10:26PM -0800, Isaac Dunham wrote:
> > > Hello,
> > > I'm working on getting WebkitFLTK[1] to build, so as to build Fifth,
> > > which is yet another Webkit browser--this time, it's loosely based on
> > > Opera 9.x and uses FLTK.

The source builds now with a local FLTK 1.3.3 upgrade and a few small
changes that have been merged already; the final link doesn't work,
since it tries to link harfbuzz and ICU statically.
I've hacked it a little so that it doesn't do that, but it's not a
change fit to push or package (delete -Wl,-Bstatic from one makefile);
a proper fix needs more work.

I need to package physfs (in progress) and liburlmatch (builds fine)
at least before Fifth will build.

> > > WebkitFLTK requires FLTK 1.3.3, while we have 1.3.2.
> > > There are some issues with doing an upgrade:
> > > -1.3.3 has a couple bugs fixed in SVN; this is easily addressed by
> > > grabbing the patches.
> > > -1.3.3 also is now missing the symbol "fl_oldfocus" (and possibly others),
> > > which will break dillo. It does *not* change the library version.
> > > I have looked through the commit logs and looked online, and there's
> > > no obvious candidate for what caused the issue.
> > > The dillo developers are guessing that linker magic might have caused it;
> > > they have a workaround that involves disabling the use of fl_oldfocus,
> > > at the cost of not restoring focus properly.
> > >
> >
> > -fvisibility=hidden is the culprit; FLTK started using it this summer.
> > Building with -fvisibility-inlines-hidden instead seems to avoid this.
>
> This sounds like a bug in FLTK (or dillo).
>
> Either fl_oldfocus symbol should be marked visible for dillo to use, or
> the fl_oldfocus is not exported and not supposed to be used outside
> FLTK itself - in which case dillo shouldnt use it.
>
> googling around i found this:
>
> https://www.mail-archive.com/gentoo-commits_at_lists.gentoo.org/msg68829.html
> Index: fltk-1.3.3-visibility.patch
> ===================================================================
> --- a/src/Fl.cxx
> +++ b/src/Fl.cxx
> _at_@ -928,7 +928,7 @@
>
> ////////////////////////////////////////////////////////////////
>
> -Fl_Widget* fl_oldfocus; // kludge for Fl_Group...
> +FL_EXPORT Fl_Widget* fl_oldfocus; // kludge for Fl_Group...
>
> /**
> Sets the widget that will receive FL_KEYBOARD events.
>
>
> Which seems to make the fl_oldfocus visible. I think this is the way to go...

I ran across that last night.

But one of the FLTK developers says fl_oldfocus should not be public;
there was a workaround in hg that left dillo in worse shape[1], but
there is now a proper fix[2].

dillo has some other fixes, and I need to find at least one commit
in FLTK trunk providing a fix for an unrelated issue: some packages
we don't provide yet had serious bugs caused by FLTK 1.3.3.


Thanks,
Isaac Dunham


[1] http://hg.dillo.org/dillo/rev/a012eab2c057
[2] http://hg.dillo.org/dillo/rev/eb902ac9fc66


---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Tue Nov 18 2014 - 09:43:13 GMT