Port a newer QTWebKit

Forum thread started by Giova84 on Tue, 2013-02-12 15:58

Hi,

In these days i'm trying to port an updated revision (2.2 or 2.3) of QtWebKit for Haiku, since the current QtWebKit for Haiku is outdated and unstable.

I write here to find some help/collaboration, since i've found that is not very simple, due of some errors while compiling. There is someone interested?

Best regards.

Comments

Re: Port a newer QTWebKit

Hi,

Maybe you could have a look here : http://www.qt-haiku.ru/

Re: Port a newer QTWebKit

bartolomiew wrote:

Hi,

Maybe you could have a look here : http://www.qt-haiku.ru/

The version I see there is for Alpha3 and from 2011, still out-dated.

Re: Port a newer QTWebKit

Earl Colby Pottinger wrote:

The version I see there is for Alpha3 and from 2011, still out-dated.

I have recently ported QT 4.8.5: https://docs.google.com/file/d/0B2or9GCRSeDoTm5WODFpSThCU0E/edit?usp=sha... ;-)

Re: Port a newer QTWebKit

Thank you very much.

Re: Port a newer QTWebKit

Any specific issues, or just a general porting nightmare?

Re: Port a newer QTWebKit

Hi Vooshy,

I encountered a specific error while i tried to compile QtWebKit 2.2 on Haiku:
http://www.freelists.org/post/haiku-3rdparty-dev/QtWebKit-22-error-while...
Do you have some skills about?

Re: Port a newer QTWebKit

XPathGrammar.y <- that is a problem with bison I see there are patches online for related issues you might look into those.

Just do a quick google search on that filename probably what is happening is bison or yacc or whatever is failing to parse it correctly so the code that it is supposed to generate never gets there so its undefined.

Edit: I see you already realise that. perhaps it is releated to the version of bison... I did notice buildroot had a few similar problems with webkit.

cb88

Re: Port a newer QTWebKit

cb88 wrote:

Edit: I see you already realise that. perhaps it is releated to the version of bison... I did notice buildroot had a few similar problems with webkit.cb88

I have tried installing/using bison 2.4.9 and 2.6.2 but the result is the same.. Any other idea?

Re: Port a newer QTWebKit

Did you test the new version? Is it more stable? Does it have html5 video support!? Very interested to know more...

Edit: ahh I see, it's not working yet. I'd like to help... what are the dependencies for compilation? I see that there is a bep in haiku ports for qt-4.8.X - does this work? Does it install the development libraries and headers needed to build qtwebkit? Or do I need to also build something from qt?

Are you submitting your ports to haikuports? I hope so - this is the best thing to do, it makes it easy for other people to reproduce, makes sure your efforts dont get lost, and is quite easy too.

Re: Port a newer QTWebKit

Munchausen wrote:

Did you test the new version? Is it more stable? Does it have html5 video support!? Very interested to know more...

Edit: ahh I see, it's not working yet. I'd like to help... what are the dependencies for compilation? I see that there is a bep in haiku ports for qt-4.8.X - does this work? Does it install the development libraries and headers needed to build qtwebkit? Or do I need to also build something from qt?.

Hi Munchausen,
i'm very glad for your interest!

To properly compile QtWebKit first of all you will need QT framework. Tou can install it by:

haikuporter -i qt-4.8.x-git

Then, always using Haikuporter you will need:
pkgconfig, gperf, bison, flex, fontconfig, freetype, libjpeg, libpng.. As i can remember correctly.
If you miss some deps, the config script of qt will alert you.
And don't forget to set QTDIR by export QTDIR=/boot/common/data/Qt

If you need some other info/hints just ask :-)

Best regards.

Re: Port a newer QTWebKit

I'm still working with a very old version of haiku (a nightly from last year some time) so my first step is in figuring out how to update to the latest without breaking anything, so I'm working out that now (I have a lot of things installed here and do all my day-to-day work on here, so need to be careful!) I have all of those dependencies already installed through haikuporter I think, so hopefully good to go in that respect.

I'll let you know once I've had a look.

Cheers!

Re: Port a newer QTWebKit

And easy way to get a quick and cheap Haiku development environment is to use a USB flash drive. Plug it in, boot from Haiku CD, very carefully select USB flash drive to format, then install as regular. Then select boot from USB during boot process if needed.

Not quite as fast as running from a hard drive but it is cheap, easy, and fits in your pocket.

Re: Port a newer QTWebKit

In anyway i was attempt to build QtWebKit 2.2, but there is also available a newer QtWebKit: 2.3.
This revision should include all necessaries patches that i've applied on 2.2

Re: Port a newer QTWebKit

Munchausen wrote:

I'm still working with a very old version of haiku (a nightly from last year some time) so my first step is in figuring out how to update to the latest without breaking anything.

As AndrewZ said, you can install Haiku on an USB Stick, and also, to keep all libraries ans deps, you can backup and then copy your common folder over the new installation.

Re: Port a newer QTWebKit

Yes this is how I normally update haiku. (well, I have no cd drive so I download an image, dd it to usb, then install from that)

But

a) I need the install to be on my hard disk, as it is my main OS that I use for work
b) I have a lot of things installed, not just standard programs but also a lot of stuff from ports. Last time I updated haiku a lot of things broke, simply copying over the old system is not a sure-fire way to work. Since my work is all programming based, I have to spend time to re-build lots of things and make sure everything is working, and it's a pain, which is why I don't update very often. For example, certain things have been moved to other libraries (libroot) since last time so I need to re-build just to re-link things.

I also have a slow internet connection which makes it worse. I have just updated, it took me an hour to download an xz format anyboot, and has been re-installing optional packages for another hour. Next I have to reinstall a lot of things from ports. Fun times...

Bring on the new package management system ASAP!

Re: Port a newer QTWebKit

Well for now I've got a decent web connection (for tonight at least).

I've enabled shared memory in qt, but it's currently building so don't know if it will work. It wasn't disabled from the configure script, as the config test passed, but from a line in src/corelib/corelib.pro (haiku:DEFINES += QT_NO_SHAREDMEMORY). So someone disabled it on purpose, which might mean that it will fail to build or will not work, but might mean that it was disabled for some reason that is no longer relevant (something that has been fixed by now maybe)... we shall see.

I'm also downloading the latest qtwebkit from git. It's been going a long time but has only got 20%, even though it's coming in at 800kb/s - it's huge! Are you using the git version? It seemed the easiest way to get source, but you mentioned version 2.2. I also noticed some webkit stuff going past when building qt, which seems a bit weird. But maybe that's for a webkit widget in qt or something?

Anyway, I'll update later, sleep time now!

Re: Port a newer QTWebKit

Well, when I woke up my laptop was in kdl, so I don't know what happened. I'll try to continue the build later after work.

Re: Port a newer QTWebKit

Munchausen wrote:

Well, when I woke up my laptop was in kdl, so I don't know what happened. I'll try to continue the build later after work.

Hi,

First of all i am glad to see progress :-)

Second: i bet that the kdl was about page writer.. Is a know bug, which i also experiment while i build/compile apps. You should be able to exit from kdl typing "es".
But i have noticed that the better way is to stay near to pc to exit as soon as possible from the kdl!

Best regards.

Re: Port a newer QTWebKit

Munchausen wrote:

Are you using the git version? It seemed the easiest way to get source, but you mentioned version 2.2. I also noticed some webkit stuff going past when building qt, which seems a bit weird. But maybe that's for a webkit widget in qt or something?

Anyway, I'll update later, sleep time now!

I downloaded the 2.2 revision from the branch 2.2, on gitorious.
But hey: the last available revision is better :-)

You have noticed some qtwebkit stuff during qt building because the qt framework also includes the webkit, but the current qtwebkit for Haiku should be an old revision of webkit, which is buggy/unstable.

Re: Port a newer QTWebKit

Munchausen wrote:

Well, when I woke up my laptop was in kdl, so I don't know what happened. I'll try to continue the build later after work.

You was building Qt from Haikuporter? if it is so you don't have to run again "haikuporter -i qt-4.8.x-git.bep"
but you should run the last command previous to the kdl.
Go to: /boot/common/develop/haikuports/x11-libs/qt and open the bep file which you use.
Here you can see exactly what command to use, to resume the building process from the last command :-)

Re: Port a newer QTWebKit

Giova84 wrote:
Munchausen wrote:

Well, when I woke up my laptop was in kdl, so I don't know what happened. I'll try to continue the build later after work.

Second: i bet that the kdl was about page writer.. Is a know bug, which i also experiment while i build/compile apps. You should be able to exit from kdl typing "es".
But i have noticed that the better way is to stay near to pc to exit as soon as possible from the kdl!

It was a page fault IIRC. I didn't know I could continue - I've tried that before (with other KDLs) and failed to get anywhere, but I'll try it this time - good tip!

Re: Port a newer QTWebKit

Giova84 wrote:
Munchausen wrote:

Well, when I woke up my laptop was in kdl, so I don't know what happened. I'll try to continue the build later after work.

You was building Qt from Haikuporter? if it is so you don't have to run again "haikuporter -i qt-4.8.x-git.bep"
but you should run the last command previous to the kdl.
Go to: /boot/common/develop/haikuports/x11-libs/qt and open the bep file which you use.
Here you can see exactly what command to use, to resume the building process from the last command :-)

Yes this is how I was building anyhow, otherwise you can sometimes end up with haikuporter deleting stuff, I think!

I'm continuing the build now, will let you know how it goes.

I'm not sure I managed to download all of the latest webkit before the crash, so I may not be able to build that, but qt with shared memory enabled would be handy anyhow.

Re: Port a newer QTWebKit

Well the build was successful. I haven't tested it with anything, but I can confirm that all you need to do to enable shared memory is comment the line in src/corelib/corelib.pro that reads

haiku:DEFINES += QT_NO_SHAREDMEMORY

Maybe you want to see if, e.g. Cuberok, work now? I'd upload a tarball somewhere, but I'm still sans proper internet.

Re: Port a newer QTWebKit

Great news!
But in anyway can you directly try to build Cuberok, instead of upload the whole Qt :-)
You can download it using: svn checkout http://cuberok.googlecode.com/svn/trunk/ cuberok-read-only

And you can build it using:
qmake "CONFIG+=disable_gst" "CONFIG+=disable_audiere" Cuberok.pro

If you get error about phonon, you should also use "disable_phonon" (Cuberok will use, instead, ffmpeg)

Best regards.

Re: Port a newer QTWebKit

Yes I could, but I mean I can't download from svn as there is no way to resume the download and my connection keeps dropping out!

I guess I'll look for a tarball somewhere...

EDIT: found a source tarball on their site.

Re: Port a newer QTWebKit

Munchausen wrote:

Yes I could, but I mean I can't download from svn as there is no way to resume the download and my connection keeps dropping out!

I guess I'll look for a tarball somewhere...

EDIT: found a source tarball on their site.

I forgot to say that Cuberok, also needs Dbus (i have built Qt 4.8.5 with Dbus support), but you should be able to disable Dbus while you run configure or disabling something inside the pro or in some pri files.
If you don't succeed, i will try to provide a link to Dbus elements (libraries, binaries, include files and pkgconfig files). Let me know!

Re: Port a newer QTWebKit

Oh yeah I found this already... I disabled dbus by commenting some lines somewhere. I still don't really understand qmake (for all it's faults, at least I understand autotools :D) but I got cuberok built, but without any plugins, so it doesn't run. To build with the ffmpeg backend I need to get some more dependencies, I'll have a bash at this later.

Re: Port a newer QTWebKit

did you make any further progress with this? Modern browser is a must, maybe core team would help?

Re: Port a newer QTWebKit

porga wrote:

did you make any further progress with this? Modern browser is a must, maybe core team would help?

http://lebuzzin.wordpress.com/2013/09/27/dev-sought-for-qt-porting/

Re: Port a newer QTWebKit

Only thing that I see there is "good intention". That means we are stuck with this that we have right now.

To be sincere, I will not use Haiku on my main machine, but I put it on VIA EPIA and I will use it to run DOSBox emulator.

We shall see how that goes. Regards,

Re: Port a newer QTWebKit

But in anyway we have the possibility to have a good browser (WebPositive, which is a native browser):
http://www.haiku-os.org/blog/pulkomandy/2013-10-11_webkit_weekly_report_3

Then, you can however do more things with Haiku (also thanks to the Qt port).

If you go on haikuware.com you can also find Qbittorrent, Scribus, Vacuum IM (for IM, it also supports jabber services and facebook chat) utilities to watch and download video streaming, you can encode media files (also video DVDs) using ffmpeg (take a look to Haikuports ;-), burn CDs and DVDs thanks to cdrtools and BurnItNow, enjoy with bash scripting etc.. etc.. In the meantime, while we are waiting for a modern and fully compliant HTML5 browser, we can use Haiku, in anyway to do lot things :-)