WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable
for projects requiring any kind of web integration, from hybrid HTML/CSS
applications to full-fledged web browsers. It offers WebKit's full
functionality and is useful in a wide range of systems from desktop
computers to embedded systems like phones, tablets, and televisions.
WebKitGTK+ is made by a lively community of developers and designers,
who hope to bring the web platform to everyone. It's the official web
engine of the GNOME platform and is used in browsers such as Epiphany
and Midori.
===> The following configuration options are available for webkit2-gtk_60-2.46.6_8:
DOCS=on: Build and/or install documentation
GEOIP=on: GeoIP IP location support
GSTREAMER=on: Multimedia support via GStreamer
WAYLAND=on: Wayland (graphics) support
===> Use 'make config' to modify these settings
*/*: bump PORTREVISION for gtk40 upgrade
The gtk40 port and friends had a binary incompatible upgrade. Bump
PORTREVISION of their consumers to for rebuild and reinstallation.
PR: 292076
www/webkit2-gtk: fix build with clang >= 20
With clang 20 or higher webkit2-gtk fails to build, with errors similar
to:
/wrkdirs/usr/ports/www/webkit2-gtk/work-40/.build/WTF/Headers/wtf/EnumTraits.h:246:20:
error: no matching function for call to 'enumName'
246 | names[i] =
enumName<static_cast<E>(static_cast<unsigned>(i))>();
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/www/webkit2-gtk/work-40/.build/WTF/Headers/wtf/EnumTraits.h:233:9:
note: in instantiation of function template specialization
'WTF::enumNames()::(anonymous class)::operator()<std::integral_constant<unsigned
long, 64>>' requested here
233 | func(std::integral_constant<size_t, i>());
| ^
/wrkdirs/usr/ports/www/webkit2-gtk/work-40/.build/WTF/Headers/wtf/EnumTraits.h:234:9:
note: in instantiation of function template specialization
'WTF::detail::forConstexpr<64UL, 256UL, (lambda at
/wrkdirs/usr/ports/www/webkit2-gtk/work-40/.build/WTF/Headers/wtf/EnumTraits.h:245:36)>'
requested here
234 | forConstexpr<i + 1, end>(func);
| ^
...
This is fixed by https://commits.webkit.org/292321@main for
https://bugs.webkit.org/show_bug.cgi?id=289669, so import that patch,
plus https://commits.webkit.org/290345@main, which is a prerequisite.
PR: 292165
Approved by: vishwin (maintainer)
MFH: 2025Q4
www/webkit2-gtk: properly expose roundeven{,f} on 32-bit platforms
The preprocessor guard only accounts for Linux without glibc, but
we don't have these C23 functions yet either.
Reported and tested by: fuz, makc, dinoex
Differential Revision: https://reviews.freebsd.org/D50138
www/webkit2-gtk: fix configure with ruby 3.4
Add getoptlong unconditionally to BUILD_DEPENDS
/usr/local/lib/ruby/3.4/did_you_mean/core_ext/name_error.rb:11: warning:
getoptlong is not part of the default gems starting from Ruby 3.4.0. Install
getoptlong from RubyGems.
<internal:/usr/local/lib/ruby/3.4/rubygems/core_ext/kernel_require.rb>:136:in
'Kernel#require': cannot load such file -- getoptlong (LoadError)
from
<internal:/usr/local/lib/ruby/3.4/rubygems/core_ext/kernel_require.rb>:136:in
'Kernel#require'
from
/wrkdirs/usr/ports/www/webkit2-gtk/work-60/.build/WTF/Scripts/generate-unified-source-bundles.rb:27:in
'<main>'
CMake Error at Source/cmake/WebKitMacros.cmake:30 (message):
generate-unified-source-bundles.rb exited with non-zero status, exiting
gnome.mk: rename gdkpixbuf2 to gdkpixbuf to prepare for port move
The GTK 1-based gdk-pixbuf has not existed for some time.
No functional or package changes.
www/webkit2-gtk: remove byteRangeSample from PlatformSample
The presence of this union member causes the build to fail with our
libc++ because version 1 ABI's std::pair does not have a trivial
copy constructor (see D35327). However this code is only used for
a deprecated plugin only for macOS, and it along with supporting
code like this have been removed in the main branch upstream, so
this should hold in the upcoming 2.48 series. For now, only remove
byteRangeSample as the complete upstream commit does not apply.
This allows the port to return to using the base system toolchain,
including libc++, fixing crashes from mangling libc++-built
dependencies with libstdc++ webkitgtk. While here, remove some
unused USE_X11 depends to save another PORTREVISION bump.
Reference:
https://github.com/WebKit/WebKit/commit/d0527fca8fc20cdda907dfdc293323d7283bd262
PR: 284378
Reported by: huanghwh[at]gmail[dot]com
Tested by: eduardo, shamaz.mazum[at]gmail[dot]com (previous iterations)
www/webkit2-gtk: update to 2.46.5
Changelog:
https://github.com/WebKit/WebKit/blob/webkitgtk-2.46.5/Source/WebKit/gtk/NEWS
Now consolidated into one port with flavours since the codebase is
the same, just linked with different libraries resulting in different
SONAMEs and APIs. SONAMEs/flavours:
* GTK3 + libsoup = libwebkit2gtk-4.0 (40)
* GTK3 + libsoup3 = libwebkit2gtk-4.1 (41)
* GTK4 + libsoup3 = libwebkitgtk-6.0 (60)
Despite upstream's recommendation to use clang for better skia
optimisation, this port now USE_GCC due to extensive std::pair copy
constructor use that is not trivial to continue patching to stay
working with our libc++ version 1 ABI. See review D35327 for some
details.
Reported by: eduardo
PR: 275914
Differential Revision: https://reviews.freebsd.org/D45878