3 2

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

Isaac Dunham
Details
Message ID
<20141117061026.GA1552@newbook>
Sender timestamp
1416204626
DKIM signature
missing
Download raw message
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.
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.

I'm not sure what to do with this. Any advice?

Thanks,
Isaac Dunham

[1] https://github.com/clbr/webkitfltk
[2] https://github.com/clbr/fifth


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

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

Isaac Dunham
Details
Message ID
<20141117074618.GB1552@newbook>
In-Reply-To
<20141117061026.GA1552@newbook> (view parent)
Sender timestamp
1416210379
DKIM signature
missing
Download raw message
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.
> 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.

Although we'll get smaller binaries with -fvisibility=hidden, 
I'm inclined to forcibly switch it to -fvisibility-inlines-hidden.
It would also be possible to do some prodding, by running 
make && rm src/Fl.o && \
sed -e 's/fvisibility=hidden/fvisibility-inlines-hidden/g' -i makeinclude && \
make || return 1

which builds only the one file where it's relevant with less aggressive
visibility settings.

Considering that I'd be using the same sed to disable it globally or for 
the one file, I might as well set it for only the one file.

Thanks,
Isaac Dunham


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

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

Isaac Dunham
Details
Message ID
<20141118174312.GA2253@newbook>
In-Reply-To
<20141118094344.3822d5cf@ncopa-desktop.alpinelinux.org> (view parent)
Sender timestamp
1416332593
DKIM signature
missing
Download raw message
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@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@lists.gentoo.org/msg68829.html
> Index: fltk-1.3.3-visibility.patch
> ===================================================================
> --- a/src/Fl.cxx
> +++ b/src/Fl.cxx
> @@ -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@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---

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

Natanael Copa
Details
Message ID
<20141118094344.3822d5cf@ncopa-desktop.alpinelinux.org>
In-Reply-To
<20141117074618.GB1552@newbook> (view parent)
Sender timestamp
1416300224
DKIM signature
missing
Download raw message
Patch: +1 -1
On Sun, 16 Nov 2014 23:46:19 -0800
Isaac Dunham <ibid.ag@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.
> > 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@lists.gentoo.org/msg68829.html
Index: fltk-1.3.3-visibility.patch
===================================================================
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -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...

> 
> Although we'll get smaller binaries with -fvisibility=hidden, 
> I'm inclined to forcibly switch it to -fvisibility-inlines-hidden.
> It would also be possible to do some prodding, by running 
> make && rm src/Fl.o && \
> sed -e 's/fvisibility=hidden/fvisibility-inlines-hidden/g' -i
> makeinclude && \ make || return 1
> 
> which builds only the one file where it's relevant with less
> aggressive visibility settings.
> 
> Considering that I'd be using the same sed to disable it globally or
> for the one file, I might as well set it for only the one file.
> 
> Thanks,
> Isaac Dunham
> 
> 
> ---
> Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
> Help:         alpine-devel+help@lists.alpinelinux.org
> ---
> 



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---