Page MenuHomeFreeBSD

Update www/qt5-webkit to 5.212
ClosedPublic

Authored by tcberner on Jan 5 2017, 7:28 AM.

Details

Summary

Qt upstram dropped webkit from their releases, and only provides "community releases" of webkit.
However, the webkit it uses is very outdated (538.1).

There are however active forks of Qt5 webkit, most prominently https://github.com/annulen/webkit .

This replaces www/qt5-webkit with that.

It is a drop in replacement, so everything should build fine against it.

Pro:

  • Stuff works better
  • Less outdated

Con:

  • Fullscreen of youtube in qupzilla for example is broken

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 6638
Build 6856: arc lint + arc unit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
tcberner edited edge metadata.

As suggested by Matthew in IRC:
Rename the port to -<forkname>, and use QT5_USE_WEBKIT_FORK in the depends line in bsd.qt.mk.

tcberner edited edge metadata.

Fix pkgname

www/qt5-webkit-annulen/Makefile
7

While you are free to use whatever scheme you want for your public_distfile directory, I find that creating a directory per port keeps everything tidy :-)

12

I would also rename the directory of the distfile to match PORTNAME-PORTVERSION, so that you don't need that.

47

What I think I would do to keep most of the informations around would be:

​PORTNAME=                webkit-annulen
​PORTVERSION=                5.602.2
DISTVERSIONSUFFIX=   -db25c2b

And drop PKGNAMESUFFIX.

Then rename the distfile directory, and the distfile to match that.

You could even automate it with a target in the Makefile, say, generate-tarball or something, see what is done in net/concourse-fly for example.

www/qt5-webkit-annulen/pkg-descr
1

A description a bit longer would be nice :-)

tcberner edited edge metadata.
  • shuffle version/name stuff a bit
  • add custom fetch via make create-src-archive
  • get rid of the weird ASSERT patch, by passing -DNDEBUG (suggested by annulen).
tcberner added inline comments.
www/qt5-webkit-annulen/pkg-descr
1

Now its one more line -- I'll have to think of something ^^...

tcberner edited edge metadata.

I accidentally dropped KDE_INSTALL_INCLUDEDIR.

  • which leads to the question... should we really install the headers to QT_INCDIR?
tcberner edited edge metadata.

Add patch to fix the generated pkgconfig files.

tcberner retitled this revision from New port www/qt5-webkit2 -- a fork of qt5 webkit with a more modern webkit code base to New port www/qt5-webkit-annulen -- a fork of qt5 webkit with a more modern webkit code base.Jan 6 2017, 11:38 PM
tcberner updated this object.
tcberner edited edge metadata.
tcberner updated this object.
  • Disable ld.gold if it is installed
  • Add entry to CHANGES
  • Add it to www/Makefile
tcberner edited edge metadata.

Update to newer git tag.

tcberner edited edge metadata.

Get rid of the ld.gold part again. It's fixed by
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216012

Don't add a new port. Replace the existing one.

tcberner retitled this revision from New port www/qt5-webkit-annulen -- a fork of qt5 webkit with a more modern webkit code base to Update www/qt5-webkit to 5.212.Jun 21 2017, 9:11 PM
tcberner edited the summary of this revision. (Show Details)
tcberner added inline comments.
www/qt5-webkit/files/patch-Source_WebKit_PlatformQt.cmake
19 ↗(On Diff #29930)

This looks wrong...

Remove wrong hunk from patch.

ping in any general direction -- should I just ask for an exp-run? I've been using the port for ages (since last fall) and lost neither relatives nor pets in the process.

This is looking pretty good. I had no difficulty building qt5-webkit or any of the dependents (not that it was necessary to do so, just verifying). I haven't found any issues with updated webkit in a couple weeks of use.

With Fedora and Arch Linux having switched to this fork, I guess it's time to move in the same direction. The GitHub project has some official release tarballs. Have you tried using them and dropping the Makefile hacks?

www/qt5-webkit/files/patch-Source_WebKit_PlatformQt.cmake
7 ↗(On Diff #29943)

Doesn't USES=pathfix work here?

Use pathfix (modified) and official tar.xz file -- MASTER_SITES seems a bit hacky.

As they used to say in WebKit-land, "lgtm with nits" :-)

Mk/Uses/pathfix.mk
33 ↗(On Diff #31752)

Isn't this very specific to QtWebKit?

www/qt5-webkit/Makefile
4 ↗(On Diff #31752)

I always forget the version numbering rules for ports; as long as you've checked the handbook and this format is OK I'm fine with it :-)

13 ↗(On Diff #31752)

WebKit's actually a mixture of LGPL, BSD and other licenses. I'd either specify all the zillion licenses here or not set LICENSE at all.

tcberner edited edge metadata.

Don't specify license.

Mk/Uses/pathfix.mk
33 ↗(On Diff #31752)

It's specific to kf5-extra-cmake-modules GeneratePkgConfig cmake file.

The upstream version of this file has been fixed to behave properly on FreeBSD, however, the version imported into this webkti port has not.

www/qt5-webkit/Makefile
4 ↗(On Diff #31752)

By magic this gets turned into qt5-webkit-5.212.0.a2 -- which should be accepted ^^

Mk/Uses/pathfix.mk
33 ↗(On Diff #31752)

Wouldn't it be easier to import the fix from upstream to fix the thing you are talking about instead of adding one more thing here ?

www/qt5-webkit/Makefile
4 ↗(On Diff #31752)

This is exactly what DISTVERSION is for. Go read 5.2.2. Versions, DISTVERSION or PORTVERSION.

Reinstate the EPGF patch. The upstreamed one just adds some if (OS = ) instead of directly setting the path, so this one is easier.

not sure if you're waiting for feedback; still looks good to me.

not sure if you're waiting for feedback; still looks good to me.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221339

Sorry, I forgot to link this :)

tcberner edited edge metadata.

Fix fetch (PORTVERSION derives from DISTVERISON and is modified)

This revision was automatically updated to reflect the committed changes.