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 10057
Build 10482: arc lint + arc unit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
tcberner updated this revision to Diff 23620.Jan 5 2017, 8:10 AM
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.

Owners edited edge metadata.Jan 5 2017, 8:10 AM
tcberner updated this revision to Diff 23621.Jan 5 2017, 8:11 AM
tcberner edited edge metadata.

Fix pkgname

Owners edited edge metadata.Jan 5 2017, 8:11 AM
mat added inline comments.Jan 5 2017, 9:16 AM
www/qt5-webkit-annulen/Makefile
7 ↗(On Diff #23621)

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 ↗(On Diff #23621)

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

47 ↗(On Diff #23621)

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 ↗(On Diff #23621)

A description a bit longer would be nice :-)

tcberner updated this revision to Diff 23679.Jan 6 2017, 9:12 PM
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).
Owners edited edge metadata.Jan 6 2017, 9:12 PM
tcberner marked 2 inline comments as done.Jan 6 2017, 9:14 PM
tcberner added inline comments.
www/qt5-webkit-annulen/pkg-descr
1 ↗(On Diff #23621)

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

tcberner updated this revision to Diff 23680.Jan 6 2017, 9:40 PM
tcberner edited edge metadata.

I accidentally dropped KDE_INSTALL_INCLUDEDIR.

  • which leads to the question... should we really install the headers to QT_INCDIR?
Owners edited edge metadata.Jan 6 2017, 9:40 PM
tcberner updated this revision to Diff 23682.Jan 6 2017, 10:21 PM
tcberner edited edge metadata.

Add patch to fix the generated pkgconfig files.

Owners edited edge metadata.Jan 6 2017, 10:21 PM
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 revision to Diff 23735.Jan 8 2017, 9:57 AM
tcberner updated this object.
  • Disable ld.gold if it is installed
  • Add entry to CHANGES
  • Add it to www/Makefile
Owners edited edge metadata.Jan 8 2017, 9:57 AM
tcberner updated this revision to Diff 23739.Jan 8 2017, 12:23 PM
tcberner edited edge metadata.

Update to newer git tag.

Owners edited edge metadata.Jan 8 2017, 12:23 PM
tcberner updated this revision to Diff 24135.Jan 17 2017, 8:06 PM
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

Owners edited edge metadata.Jan 17 2017, 8:06 PM
tcberner updated this revision to Diff 29930.Jun 21 2017, 9:08 PM

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
20

This looks wrong...

tcberner updated this revision to Diff 29931.Jun 21 2017, 9:17 PM

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.

rezny edited edge metadata.Jul 28 2017, 12:13 AM

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.

rakuco edited edge metadata.Aug 7 2017, 9:41 PM

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

Doesn't USES=pathfix work here?

tcberner updated this revision to Diff 31752.Aug 8 2017, 7:53 AM

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

rakuco accepted this revision.Aug 8 2017, 9:00 AM

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

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

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 updated this revision to Diff 31754.Aug 8 2017, 9:10 AM
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

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

mat added inline comments.Aug 8 2017, 2:22 PM
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

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

tcberner updated this revision to Diff 31759.Aug 8 2017, 3:31 PM

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

rakuco accepted this revision.Aug 11 2017, 11:22 AM

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 updated this revision to Diff 32197.Aug 18 2017, 12:09 PM
tcberner edited edge metadata.

Fix fetch (PORTVERSION derives from DISTVERISON and is modified)

This revision was automatically updated to reflect the committed changes.