Page MenuHomeFreeBSD

www/webkit2-gtk3: Update to 3.20.0 (WIP)
ClosedPublic

Authored by tobik on Mar 27 2018, 6:12 PM.
Tags
None
Referenced Files
F81661308: D14872.diff
Fri, Apr 19, 3:03 PM
F81650566: D14872.id40845.diff
Fri, Apr 19, 11:34 AM
Unknown Object (File)
Tue, Apr 16, 5:38 PM
Unknown Object (File)
Wed, Apr 10, 2:25 AM
Unknown Object (File)
Tue, Apr 9, 11:25 PM
Unknown Object (File)
Tue, Apr 9, 11:24 PM
Unknown Object (File)
Tue, Apr 9, 8:25 PM
Unknown Object (File)
Sun, Apr 7, 5:13 AM

Details

Reviewers
None
Group Reviewers
gnome
Commits
rP466598: www/webkit2-gtk3: Update to 2.20.0
Summary
  • Add WAYLAND option

Initial update to 3.18.3 by Greg V

PR: 223733
Security: 1ce95bc7-3278-11e8-b527-00012e582166

Test Plan

All dependent ports except www/epiphany build fine on 11.1/amd64 with the following make.conf:

OPTIONS_SET=    WAYLAND

editors_emacs-devel_SET=        XWIDGETS

The build of Epiphany was trivial to fix. Patch included here.

Builds on 10.3/i386 with

editors_emacs-devel_SET=        XWIDGETS

were fine too.

Runtime appears to be ok on 11.1/amd64 and 12.0-CURRENT.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Maybe update Epiphany as well? Epiphany 3.28 built without the extra patch for me with webkit2 2.19.92 (almost 2.20)

Huh — looks like you wrote a woff2 port, without noticing mine in bugzilla :D

https://github.com/freebsd/freebsd-ports/commit/fd302a989b6e4100d3c1ad5043471545b4222fb4
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226165

Mine allowed installing command line woff2 tools…

www/webkit2-gtk3/Makefile
51 ↗(On Diff #40811)

Can we keep MiniBrowser enabled and installed by default? It is very useful for debugging.

52 ↗(On Diff #40811)

Since WebKit is written in C++, do you think it is better to set these macros in CXXFLAGS as well? I know CPPFLAGS is a better place for preprocessor macros, but cmake doesn't seem to support CPPFLAGS.

  • Build MiniBrowser again
  • CFLAGS -> CXXFLAGS
  • Don't set CMAKE_BUILD_TYPE as USES=cmake does it already
www/webkit2-gtk3/Makefile
82 ↗(On Diff #40842)

I am not sure why this DEBUG_*_OFF variables were added. Building WebKit with debug symbols enabled does require ar and ld supporting thin archives, so pulling binutils from ports is correct. But I don't know there are any reasons to force the use of ar and ld from base when debug symbols are disabled. Do you think we can remove these two DEBUG_*_OFF variables?

  • Use cmake:outsource
  • Add comment to explain why binutils are needed for DEBUG
www/webkit2-gtk3/Makefile
82 ↗(On Diff #40842)

It was added in rP441828. I think this still applies now.

  • Fix build on 12.0-CURRENT/armv7
In file included from DerivedSources/WebCore/unified-sources/UnifiedSource345.cpp:1:
In file included from /wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.20.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:28:
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.20.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:147:46: error: no member named 'lightVector' in 'WebCore::LightSource::PaintingData'
        floatArguments.lightX = paintingData.lightVector.x();
                                ~~~~~~~~~~~~ ^
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.20.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:148:46: error: no member named 'lightVector' in 'WebCore::LightSource::PaintingData'
        floatArguments.lightY = paintingData.lightVector.y();
                                ~~~~~~~~~~~~ ^
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.20.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:149:46: error: no member named 'lightVector' in 'WebCore::LightSource::PaintingData'
        floatArguments.lightZ = paintingData.lightVector.z();
                                ~~~~~~~~~~~~ ^
3 errors generated.
www/webkit2-gtk3/Makefile
74 ↗(On Diff #40857)

It is nice to see the comment here. Do you want to put this WebKit bug report link here as well?
https://bugs.webkit.org/show_bug.cgi?id=140384

82 ↗(On Diff #40842)

Yes, you are correct. It is still needed but I forgot it. Personally I prefer binutils from ports to elftoolchain included in base because having an ar supporting thin archives greatly reduces the disk space required to build WebKit. I know it is probably not worth to add a check here, and I just mentioned it for reference. It doesn't mean that non-debug build requires programs from base. It is just a simple solution to avoid mixing tools from base and ports by (correctly) assuming things in base are always available.

www/webkit2-gtk3/Makefile
82 ↗(On Diff #40842)

Sorry, I don't know how to mark these comments as done. Can you tell me how to do it?

  • Add WebKit bug link re DEBUG
tobik marked 5 inline comments as done.Apr 1 2018, 5:48 PM
tobik added inline comments.
www/webkit2-gtk3/Makefile
82 ↗(On Diff #40842)

There should be a checkbox labeled "Done" in the top-right corner of inline comments.

AFAIK only the review author can do this.

tobik marked 2 inline comments as done.Apr 1 2018, 5:48 PM

Thanks for your work. Although I haven't tested it on my machine, these changes look good to me now.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 5 2018, 8:14 PM
This revision was automatically updated to reflect the committed changes.