git: 943100128861 - main - www/webkit2-gtk: update to 2.46.5

From: Charlie Li <vishwin_at_FreeBSD.org>
Date: Tue, 21 Jan 2025 03:13:48 UTC
The branch main has been updated by vishwin:

URL: https://cgit.FreeBSD.org/ports/commit/?id=94310012886105252763e218ec45dfccf778e55e

commit 94310012886105252763e218ec45dfccf778e55e
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2025-01-20 22:01:13 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2025-01-21 03:12:19 +0000

    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
---
 MOVED                                              |    2 +
 audio/gsequencer/Makefile                          |    2 +-
 cad/PrusaSlicer/Makefile                           |    2 +-
 databases/evolution-data-server/Makefile           |    2 +-
 deskutils/bijiben/Makefile                         |    2 +-
 deskutils/bookworm/Makefile                        |    2 +-
 deskutils/foliate/Makefile                         |    2 +-
 deskutils/gnome-initial-setup/Makefile             |    2 +-
 deskutils/gnotime/Makefile                         |    2 +-
 deskutils/meteo/Makefile                           |    2 +-
 deskutils/rednotebook/Makefile                     |    2 +-
 deskutils/showdown/Makefile                        |    2 +-
 devel/devhelp/Makefile                             |    2 +-
 devel/geany-plugin-markdown/Makefile               |    2 +-
 devel/glade/Makefile                               |    2 +-
 devel/gnome-builder/Makefile                       |    2 +-
 devel/juce/Makefile                                |    4 +-
 devel/juce706/Makefile                             |    4 +-
 editors/emacs-devel/Makefile                       |    2 +-
 editors/emacs/Makefile                             |    2 +-
 editors/marker/Makefile                            |    2 +-
 editors/quilter/Makefile                           |    2 +-
 editors/setzer/Makefile                            |    2 +-
 finance/gnucash/Makefile                           |    2 +-
 graphics/atril/Makefile                            |    2 +-
 graphics/birdfont/Makefile                         |    2 +-
 graphics/gthumb/Makefile                           |    2 +-
 graphics/pdfpc/Makefile                            |    2 +-
 java/eclipse/Makefile                              |    2 +-
 mail/astroid/Makefile                              |    2 +-
 mail/balsa/Makefile                                |    2 +-
 mail/claws-mail-fancy/Makefile                     |    2 +-
 mail/evolution-ews/Makefile                        |    2 +-
 mail/evolution/Makefile                            |    2 +-
 mail/geary/Makefile                                |    2 +-
 math/qalculate-gtk/Makefile                        |    2 +-
 misc/xiphos/Makefile                               |    2 +-
 net/gnome-online-accounts/Makefile                 |    2 +-
 net/liferea/Makefile                               |    2 +-
 net/remmina/Makefile                               |    2 +-
 print/xreader/Makefile                             |    2 +-
 textproc/libgepub/Makefile                         |    2 +-
 www/Makefile                                       |    3 +-
 www/badwolf/Makefile                               |    2 +-
 www/deforaos-surfer/Makefile                       |    2 +-
 www/eolie/Makefile                                 |    2 +-
 www/epiphany/Makefile                              |    4 +-
 www/luakit-devel/Makefile                          |    2 +-
 www/luakit/Makefile                                |    2 +-
 www/midori/Makefile                                |    2 +-
 www/py-pywebview-gtk/Makefile                      |    2 +-
 www/py-pywry/Makefile                              |    2 +-
 www/surf/Makefile                                  |    2 +-
 www/vimb/Makefile                                  |    2 +-
 www/webkit2-gtk/Makefile                           |  141 +
 www/webkit2-gtk/distinfo                           |    5 +
 ...ource_ThirdParty_ANGLE_src_common_SimpleMutex.h |   12 +
 ...h-Source_ThirdParty_ANGLE_src_common_platform.h |   23 +
 .../patch-Source_WTF_wtf_glib_FileSystemGlib.cpp   |   11 +
 .../patch-Source_WebCore_platform_network_DNS.h    |    4 +-
 ...UIProcess_Launcher_glib_ProcessLauncherGLib.cpp |   24 +
 ...ce_WebKit_UIProcess_glib_WebProcessPoolGLib.cpp |   11 +
 ...atch-Source_bmalloc_bmalloc_EligibilityResult.h |   20 +
 ...urce_bmalloc_bmalloc_EligibilityResultInlines.h |   11 +
 ...ch-Source_bmalloc_bmalloc_IsoAllocatorInlines.h |   11 +
 www/{webkit2-gtk3 => webkit2-gtk}/pkg-descr        |    0
 www/webkit2-gtk/pkg-plist                          | 4142 ++++++++++++++++++++
 www/webkit2-gtk/pkg-plist_60                       | 1677 ++++++++
 www/webkit2-gtk3/Makefile                          |  111 -
 www/webkit2-gtk3/distinfo                          |    7 -
 .../files/patch-Source-cmake-OptionsCommon.cmake   |   11 -
 ...ource_JavaScriptCore_assembler_ARM64Assembler.h |   11 -
 ...ource_JavaScriptCore_assembler_ARMv7Assembler.h |   11 -
 ...vaScriptCore_assembler_AbstractMacroAssembler.h |   11 -
 ...urce_JavaScriptCore_jit_ExecutableAllocator.cpp |   11 -
 .../files/patch-Source_JavaScriptCore_jsc.cpp      |   12 -
 .../patch-Source_JavaScriptCore_llint_LLIntData.h  |   56 -
 ...patch-Source_JavaScriptCore_offlineasm_arm64.rb |   11 -
 ...atch-Source_JavaScriptCore_offlineasm_config.rb |   16 -
 ...atch-Source_JavaScriptCore_offlineasm_parser.rb |   28 -
 .../patch-Source_JavaScriptCore_runtime_JSCast.h   |   20 -
 ...rce_JavaScriptCore_runtime_NativeExecutable.cpp |   10 -
 .../files/patch-Source_WTF_wtf_PlatformCPU.h       |   18 -
 .../files/patch-Source_WTF_wtf_RAMSize.cpp         |   34 -
 ...urce_WTF_wtf_unix_MemoryPressureHandlerUnix.cpp |   11 -
 .../patch-Source_WebCore_platform_PlatformScreen.h |   15 -
 ...orm_graphics_cpu_arm_filters_FELightingNEON.cpp |   20 -
 .../patch-Source_WebCore_platform_network_DNS.h    |   10 -
 ...atch-Source_WebCore_platform_text_TextCodec.cpp |   11 -
 .../files/patch-Source_WebDriver_PlatformGTK.cmake |   16 -
 ...cripts_update-LegacyInspectorBackendCommands.rb |   11 -
 .../patch-Source_WebKit_webkitglib-symbols.map     |   12 -
 .../files/patch-Source_bmalloc_bmalloc_BPlatform.h |   10 -
 .../files/patch-Source_cmake_WebKitCommon.cmake    |   17 -
 www/webkit2-gtk3/files/patch-revert-11ccaf183fad   |  211 -
 www/webkit2-gtk3/pkg-plist                         |  287 --
 www/webkit2-gtk4/Makefile                          |  117 -
 www/webkit2-gtk4/distinfo                          |    7 -
 ...tform_graphics_gstreamer_MediaSampleGStreamer.h |   10 -
 ...ource_JavaScriptCore_assembler_ARM64Assembler.h |   12 -
 ...ource_JavaScriptCore_assembler_ARMv7Assembler.h |   12 -
 ...aScriptCore_assembler_MacroAssemblerX86Common.h |   19 -
 ...h-Source_JavaScriptCore_javascriptcoregtk.pc.in |   10 -
 .../files/patch-Source_JavaScriptCore_jsc.cpp      |   11 -
 ...patch-Source_JavaScriptCore_offlineasm_arm64.rb |   11 -
 ...-Source_JavaScriptCore_runtime_MachineContext.h |  118 -
 ...patch-Source_JavaScriptCore_runtime_Options.cpp |   25 -
 .../files/patch-Source_WTF_wtf_CompletionHandler.h |   10 -
 .../files/patch-Source_WTF_wtf_Function.h          |   19 -
 .../files/patch-Source_WTF_wtf_InlineASM.h         |   12 -
 .../files/patch-Source_WTF_wtf_PageBlock.h         |   12 -
 .../files/patch-Source_WTF_wtf_Platform.h          |   13 -
 .../files/patch-Source_WTF_wtf_PlatformEnable.h    |   14 -
 .../files/patch-Source_WTF_wtf_PlatformHave.h      |   18 -
 .../files/patch-Source_WTF_wtf_RAMSize.cpp         |   20 -
 .../files/patch-Source_WTF_wtf_RawHex.h            |   21 -
 .../patch-Source_WebCore_PAL_pal_PlatformGTK.cmake |   18 -
 ...re_crypto_algorithms_CryptoAlgorithmAES_GCM.cpp |   16 -
 .../patch-Source_WebCore_page_NavigatorBase.cpp    |   21 -
 .../patch-Source_WebCore_platform_MediaSample.h    |   11 -
 ...Core_platform_graphics_FontSelectionAlgorithm.h |   30 -
 ...orm_graphics_gstreamer_MediaSampleGStreamer.cpp |   15 -
 ...tform_graphics_gstreamer_MediaSampleGStreamer.h |   10 -
 ...rm_mock_mediasource_MockSourceBufferPrivate.cpp |   23 -
 ...h-Source_WebCore_rendering_RenderLayerBacking.h |   16 -
 .../files/patch-Source_WebDriver_PlatformGTK.cmake |   17 -
 .../patch-Source_WebKit_Platform_IPC_Decoder.h     |   10 -
 ...ource_WebKit_gtk_webkit2gtk-web-extension_pc.in |   10 -
 .../files/patch-Source_WebKit_gtk_webkit2gtk_pc.in |   10 -
 ...atch-Source_bmalloc_bmalloc_AvailableMemory.cpp |   90 -
 .../patch-Source_bmalloc_bmalloc_AvailableMemory.h |   21 -
 .../files/patch-Source_bmalloc_bmalloc_BPlatform.h |   14 -
 .../files/patch-Source_cmake_OptionsCommon.cmake   |   16 -
 .../patch-Source_cmake_WebKitCompilerFlags.cmake   |   16 -
 www/webkit2-gtk4/pkg-descr                         |   10 -
 www/webkit2-gtk4/pkg-plist                         | 4065 -------------------
 x11-fm/sushi/Makefile                              |    2 +-
 x11-toolkits/swt/Makefile                          |    2 +-
 x11-toolkits/wxgtk30/Makefile                      |    2 +-
 x11-toolkits/wxgtk32/Makefile                      |    2 +-
 x11/ulauncher/Makefile                             |    2 +-
 x11/yad/Makefile                                   |    4 +-
 x11/yelp/Makefile                                  |    2 +-
 143 files changed, 6156 insertions(+), 6006 deletions(-)

diff --git a/MOVED b/MOVED
index fc1b2af33377..e4e86b8a1926 100644
--- a/MOVED
+++ b/MOVED
@@ -4029,3 +4029,5 @@ net/libproxy-pacrunner||2025-01-19|Completely rewritten, plugins now built direc
 net/libproxy-perl||2025-01-19|Completely rewritten, plugins now built directly into the library
 net/libproxy-python||2025-01-19|Completely rewritten, plugins now built directly into the library
 net/libproxy-webkit3||2025-01-19|Completely rewritten, plugins now built directly into the library
+www/webkit2-gtk3|www/webkit2-gtk@40|2025-01-20|Flavoured
+www/webkit2-gtk4|www/webkit2-gtk@60|2025-01-20|Flavoured
diff --git a/audio/gsequencer/Makefile b/audio/gsequencer/Makefile
index 06373ff4bd46..c23793bb1701 100644
--- a/audio/gsequencer/Makefile
+++ b/audio/gsequencer/Makefile
@@ -26,7 +26,7 @@ LIB_DEPENDS=	libasound.so:audio/alsa-lib \
 		libsoup-3.0.so:devel/libsoup3 \
 		libuuid.so:misc/e2fsprogs-libuuid \
 		libvulkan.so:graphics/vulkan-loader \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	dssi>0:audio/dssi
 
 USES=		autoreconf desktop-file-utils gettext-runtime gettext-tools gmake gnome gstreamer \
diff --git a/cad/PrusaSlicer/Makefile b/cad/PrusaSlicer/Makefile
index 2b5495b976d2..e0efbe0633e0 100644
--- a/cad/PrusaSlicer/Makefile
+++ b/cad/PrusaSlicer/Makefile
@@ -41,7 +41,7 @@ LIB_DEPENDS+=	libbgcode_convert.so:cad/libbgcode \
 		libavcodec.so:multimedia/ffmpeg4 \
 		libharfbuzz.so:print/harfbuzz \
 		libwayland-egl.so:graphics/wayland \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libsoup-2.4.so:devel/libsoup \
 		libjavascriptcoregtk-4.0.so:www/webkit2-gtk3
 
diff --git a/databases/evolution-data-server/Makefile b/databases/evolution-data-server/Makefile
index 78a2597b0b01..e60ddeb97789 100644
--- a/databases/evolution-data-server/Makefile
+++ b/databases/evolution-data-server/Makefile
@@ -21,7 +21,7 @@ LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
 		libical.so:devel/libical \
 		libnss3.so:security/nss \
 		libicudata.so:devel/icu \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libjson-glib-1.0.so:devel/json-glib \
 		libp11-kit.so:security/p11-kit \
 		libnspr4.so:devel/nspr \
diff --git a/deskutils/bijiben/Makefile b/deskutils/bijiben/Makefile
index e10220b6413a..d2d80661f3c5 100644
--- a/deskutils/bijiben/Makefile
+++ b/deskutils/bijiben/Makefile
@@ -17,7 +17,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	itstool:textproc/itstool
 LIB_DEPENDS=	libtracker-sparql-3.0.so:sysutils/tracker3 \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libgoa-1.0.so:net/gnome-online-accounts \
 		libical.so:devel/libical \
 		libuuid.so:misc/e2fsprogs-libuuid \
diff --git a/deskutils/bookworm/Makefile b/deskutils/bookworm/Makefile
index 5b306e39fa8f..480ecb55079f 100644
--- a/deskutils/bookworm/Makefile
+++ b/deskutils/bookworm/Makefile
@@ -17,7 +17,7 @@ LIB_DEPENDS=	libappstream-glib.so:devel/appstream-glib \
 		libgranite.so:x11-toolkits/granite \
 		libpoppler-glib.so:graphics/poppler-glib \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	bash:shells/bash \
 		pdftohtml:graphics/poppler-utils \
 		unar:archivers/unarchiver \
diff --git a/deskutils/foliate/Makefile b/deskutils/foliate/Makefile
index 8e7e7ba40a8b..5b4988788822 100644
--- a/deskutils/foliate/Makefile
+++ b/deskutils/foliate/Makefile
@@ -12,7 +12,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	appstream-util:devel/appstream-glib \
 		gjs-console:lang/gjs
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	gjs-console:lang/gjs
 
 USES=		desktop-file-utils gnome localbase meson python shebangfix
diff --git a/deskutils/gnome-initial-setup/Makefile b/deskutils/gnome-initial-setup/Makefile
index b20851e23cf6..a917adb1944d 100644
--- a/deskutils/gnome-initial-setup/Makefile
+++ b/deskutils/gnome-initial-setup/Makefile
@@ -23,7 +23,7 @@ LIB_DEPENDS=	libaccountsservice.so:sysutils/accountsservice \
 		libhandy-1.so:x11-toolkits/libhandy \
 		libpwquality.so:security/libpwquality \
 		librest-1.0.so:net/librest1 \
-		libwebkit2gtk-5.0.so:www/webkit2-gtk4
+		libwebkit2gtk-6.0.so:www/webkit2-gtk@60
 RUN_DEPENDS=	gdm>=3.0.0:x11/gdm \
 		krb5>0:security/krb5
 
diff --git a/deskutils/gnotime/Makefile b/deskutils/gnotime/Makefile
index 71063ed17c81..4feaa79bea13 100644
--- a/deskutils/gnotime/Makefile
+++ b/deskutils/gnotime/Makefile
@@ -19,7 +19,7 @@ LIB_DEPENDS=	libqof.so:databases/qof \
 		libsoup-2.4.so:devel/libsoup \
 		libguile-2.2.so:lang/guile2 \
 		libharfbuzz.so:print/harfbuzz \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		autoreconf desktop-file-utils gettext gmake gnome libtool pathfix pkgconfig xorg
 USE_GITHUB=	yes
diff --git a/deskutils/meteo/Makefile b/deskutils/meteo/Makefile
index 2665cd63d86a..70a1329ce4ad 100644
--- a/deskutils/meteo/Makefile
+++ b/deskutils/meteo/Makefile
@@ -13,7 +13,7 @@ BUILD_DEPENDS=	appstream-util:devel/appstream-glib
 LIB_DEPENDS=	libappindicator3.so:devel/libappindicator \
 		libjson-glib-1.0.so:devel/json-glib \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		compiler:c11 gettext gnome meson pkgconfig python:build \
 		shebangfix vala:build
diff --git a/deskutils/rednotebook/Makefile b/deskutils/rednotebook/Makefile
index 118eff06b1f9..be844501c8b6 100644
--- a/deskutils/rednotebook/Makefile
+++ b/deskutils/rednotebook/Makefile
@@ -11,7 +11,7 @@ WWW=		https://rednotebook.app
 LICENSE=	GPLv3+
 
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR}
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		gettext-tools:build gnome python
 USE_GNOME=	gtk30 gtksourceview3
diff --git a/deskutils/showdown/Makefile b/deskutils/showdown/Makefile
index 01d432840b1a..a9e4defb9d78 100644
--- a/deskutils/showdown/Makefile
+++ b/deskutils/showdown/Makefile
@@ -11,7 +11,7 @@ LICENSE=	GPLv3
 
 BUILD_DEPENDS=	${LOCALBASE}/lib/libmarkdown.a:textproc/discount
 LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		compiler:c++11-lang desktop-file-utils gmake gnome \
 		pkgconfig vala:build xorg
diff --git a/devel/devhelp/Makefile b/devel/devhelp/Makefile
index 8ed37a0d9892..ad622e321c02 100644
--- a/devel/devhelp/Makefile
+++ b/devel/devhelp/Makefile
@@ -17,7 +17,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSES/GPL-3.0-or-later.txt
 
 BUILD_DEPENDS=	itstool:textproc/itstool
 LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libamtk-5.so:x11-toolkits/amtk
 
 PORTSCOUT=	limitw:1,even
diff --git a/devel/geany-plugin-markdown/Makefile b/devel/geany-plugin-markdown/Makefile
index 2a1cf73f995f..893cdcab6e08 100644
--- a/devel/geany-plugin-markdown/Makefile
+++ b/devel/geany-plugin-markdown/Makefile
@@ -7,7 +7,7 @@ COMMENT=	Geany plugin: ${${GEANY_PLUGIN}_DESC}
 WWW=		https://plugins.geany.org/markdown.html
 
 LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 OPTIONS_DEFINE=	DOCS
 
diff --git a/devel/glade/Makefile b/devel/glade/Makefile
index f9013f331fb0..dd775bcf3d77 100644
--- a/devel/glade/Makefile
+++ b/devel/glade/Makefile
@@ -42,6 +42,6 @@ PYTHON_USE=		GNOME=pygobject3
 WEBKIT_DESC=		Webkit glade support
 WEBKIT_MESON_ENABLED=	webkit2gtk
 WEBKIT_LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 .include <bsd.port.mk>
diff --git a/devel/gnome-builder/Makefile b/devel/gnome-builder/Makefile
index 27332b4bd76f..3aac29a4710e 100644
--- a/devel/gnome-builder/Makefile
+++ b/devel/gnome-builder/Makefile
@@ -32,7 +32,7 @@ LIB_DEPENDS=	libcmark.so:textproc/cmark \
 		libportal-gtk3.so:deskutils/libportal-gtk3 \
 		libsoup-2.4.so:devel/libsoup \
 		libtemplate_glib-1.0.so:devel/template-glib \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 PORTSCOUT=	limitw:1,even
 PORTDOCS=	*
diff --git a/devel/juce/Makefile b/devel/juce/Makefile
index f35d5cd13f2e..ec8493cfe648 100644
--- a/devel/juce/Makefile
+++ b/devel/juce/Makefile
@@ -22,7 +22,7 @@ LIB_DEPENDS=	libasound.so:audio/alsa-lib \
 		libfontconfig.so:x11-fonts/fontconfig \
 		libfreetype.so:print/freetype2 \
 		libharfbuzz.so:print/harfbuzz \
-		libjavascriptcoregtk-4.0.so:www/webkit2-gtk3 \
+		libjavascriptcoregtk-4.0.so:www/webkit2-gtk@40 \
 		libpng16.so:graphics/png \
 		libsoup-2.4.so:devel/libsoup \
 		libsysinfo.so:devel/libsysinfo
@@ -59,7 +59,7 @@ DEMOS_CMAKE_BOOL=	JUCE_BUILD_EXAMPLES
 DEMOS_LDFLAGS=		-lexecinfo
 DEMOS_USE=		GNOME=atk,cairo,gdkpixbuf2,gtk30,pango
 DEMOS_LIB_DEPENDS=	libcurl.so:ftp/curl \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 			libsoup-2.4.so:devel/libsoup
 DEMO_FILES=	\
 	AnalyticsCollectionDemo AnimationAppDemo AnimationDemo AudioAppDemo AudioLatencyDemo AudioPlaybackDemo AudioPluginDemo AudioRecordingDemo AudioSettingsDemo AudioSynthesiserDemo \
diff --git a/devel/juce706/Makefile b/devel/juce706/Makefile
index 05fd13a21244..888db99198d8 100644
--- a/devel/juce706/Makefile
+++ b/devel/juce706/Makefile
@@ -20,7 +20,7 @@ LIB_DEPENDS=	libasound.so:audio/alsa-lib \
 		libcurl.so:ftp/curl \
 		libfreetype.so:print/freetype2 \
 		libharfbuzz.so:print/harfbuzz \
-		libjavascriptcoregtk-4.0.so:www/webkit2-gtk3 \
+		libjavascriptcoregtk-4.0.so:www/webkit2-gtk@40 \
 		libpng16.so:graphics/png \
 		libsoup-2.4.so:devel/libsoup \
 		libsysinfo.so:devel/libsysinfo
@@ -56,7 +56,7 @@ DEMOS_CMAKE_BOOL=	JUCE_BUILD_EXAMPLES
 DEMOS_LDFLAGS=		-lexecinfo
 DEMOS_USE=		GNOME=atk,cairo,gdkpixbuf2,gtk30,pango
 DEMOS_LIB_DEPENDS=	libcurl.so:ftp/curl \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 			libsoup-2.4.so:devel/libsoup
 DEMO_FILES=	\
 	AnalyticsCollectionDemo AnimationAppDemo AnimationDemo AudioAppDemo AudioLatencyDemo AudioPlaybackDemo AudioPluginDemo AudioRecordingDemo AudioSettingsDemo AudioSynthesiserDemo \
diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index c6d42850fe41..5967051e31e7 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -220,7 +220,7 @@ XPM_USE=			XORG=xpm
 XPM_CONFIGURE_WITH=		xpm
 XWIDGETS_IMPLIES=		GTK3
 XWIDGETS_LIB_DEPENDS=		libsoup-2.4.so:devel/libsoup \
-				libwebkit2gtk-4.0.so:www/webkit2-gtk3
+				libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 XWIDGETS_USE=			XORG=xcomposite
 XWIDGETS_CONFIGURE_WITH=	xwidgets
 
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile
index 784b5ee4b318..6ffe918f33c8 100644
--- a/editors/emacs/Makefile
+++ b/editors/emacs/Makefile
@@ -247,7 +247,7 @@ XPM_USE=			XORG=xpm
 XPM_CONFIGURE_WITH=		xpm
 XWIDGETS_IMPLIES=		GTK3
 XWIDGETS_LIB_DEPENDS=		libsoup-2.4.so:devel/libsoup \
-				libwebkit2gtk-4.0.so:www/webkit2-gtk3
+				libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 XWIDGETS_USE=			XORG=xcomposite
 XWIDGETS_CONFIGURE_WITH=	xwidgets
 
diff --git a/editors/marker/Makefile b/editors/marker/Makefile
index a42f0798f2d2..76a2a1eb00b2 100644
--- a/editors/marker/Makefile
+++ b/editors/marker/Makefile
@@ -12,7 +12,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.md
 
 BUILD_DEPENDS=	itstool:textproc/itstool
 LIB_DEPENDS=	libgtkspell3-3.so:textproc/gtkspell3 \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	pandoc:textproc/hs-pandoc
 
 USES=		desktop-file-utils gettext-tools gnome meson pkgconfig
diff --git a/editors/quilter/Makefile b/editors/quilter/Makefile
index 9f102cf95c19..34ea6a8d3fbe 100644
--- a/editors/quilter/Makefile
+++ b/editors/quilter/Makefile
@@ -13,7 +13,7 @@ BUILD_DEPENDS=	discount>0:textproc/discount
 LIB_DEPENDS=	libgee-0.8.so:devel/libgee \
 		libgranite.so:x11-toolkits/granite \
 		libgtkspell3-3.so:textproc/gtkspell3 \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libhandy-1.so:x11-toolkits/libhandy
 
 USES=		compiler:c11 desktop-file-utils gettext gnome meson pkgconfig python:build vala:build
diff --git a/editors/setzer/Makefile b/editors/setzer/Makefile
index e88de16f8711..99feb91fb48a 100644
--- a/editors/setzer/Makefile
+++ b/editors/setzer/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 BUILD_DEPENDS=	itstool:textproc/itstool
 LIB_DEPENDS=	libgspell-1.so:textproc/gspell \
 		libpoppler-glib.so:graphics/poppler-glib \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pdfminer.six>=0:textproc/py-pdfminer.six@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pexpect>=0:misc/py-pexpect@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}xdg>=0:devel/py-xdg@${PY_FLAVOR} \
diff --git a/finance/gnucash/Makefile b/finance/gnucash/Makefile
index 91be0c4874a3..8b322b191386 100644
--- a/finance/gnucash/Makefile
+++ b/finance/gnucash/Makefile
@@ -17,7 +17,7 @@ LIB_DEPENDS=	libboost_date_time.so:devel/boost-libs \
 		libicudata.so:devel/icu \
 		libsecret-1.so:security/libsecret \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	p5-Finance-Quote>=0:finance/p5-Finance-Quote \
 		p5-JSON-Parse>=0:devel/p5-JSON-Parse \
 		p5-libwww>=0:www/p5-libwww \
diff --git a/graphics/atril/Makefile b/graphics/atril/Makefile
index efa8cb3aeab0..7ae91f6f3724 100644
--- a/graphics/atril/Makefile
+++ b/graphics/atril/Makefile
@@ -80,7 +80,7 @@ XPS_LIB_DEPENDS=	libgxps.so:graphics/libgxps
 
 EPUB_DESC=		Epub support
 EPUB_CONFIGURE_ENABLE=	epub
-EPUB_LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+EPUB_LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 DVI_DESC=		DVI viewer support
 DVI_USES=		tex
diff --git a/graphics/birdfont/Makefile b/graphics/birdfont/Makefile
index 5711c679de61..12878d71816c 100644
--- a/graphics/birdfont/Makefile
+++ b/graphics/birdfont/Makefile
@@ -18,7 +18,7 @@ LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
 		libharfbuzz.so:print/harfbuzz \
 		libnotify.so:devel/libnotify \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libxmlbird.so:textproc/libxmlbird
 
 USES=		gettext-tools gnome pkgconfig python:build shared-mime-info \
diff --git a/graphics/gthumb/Makefile b/graphics/gthumb/Makefile
index 2508d1b68488..7be69dadcaa4 100644
--- a/graphics/gthumb/Makefile
+++ b/graphics/gthumb/Makefile
@@ -100,7 +100,7 @@ WEBP_MESON_TRUE=	libwebp
 WEBSERVICES_DESC=	Web services
 WEBSERVICES_LIB_DEPENDS=\
 			libjson-glib-1.0.so:devel/json-glib \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 WEBSERVICES_MESON_TRUE=	webservices
 YELP_DESC=		Viewer for built-in help system
 YELP_RUN_DEPENDS=	yelp:x11/yelp
diff --git a/graphics/pdfpc/Makefile b/graphics/pdfpc/Makefile
index 8380387166b4..b31add7bd609 100644
--- a/graphics/pdfpc/Makefile
+++ b/graphics/pdfpc/Makefile
@@ -19,7 +19,7 @@ LIB_DEPENDS=	libgee-0.8.so:devel/libgee \
 		libpoppler-glib.so:graphics/poppler-glib \
 		libqrencode.so:graphics/libqrencode \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		cmake compiler:c11 gnome gstreamer pkgconfig vala:build xorg
 USE_GNOME=	cairo gdkpixbuf2 gtk30
diff --git a/java/eclipse/Makefile b/java/eclipse/Makefile
index 73bcacc548ac..92e63288ef2c 100644
--- a/java/eclipse/Makefile
+++ b/java/eclipse/Makefile
@@ -19,7 +19,7 @@ BUILD_DEPENDS=	git:devel/git \
 		zip:archivers/zip
 
 LIB_DEPENDS=	libsecret-1.so:security/libsecret \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		compiler:c++17-lang gl gmake java pkgconfig gnome
 # The github repositories.  The repository under NorbertXYZ is for a predefined maven
diff --git a/mail/astroid/Makefile b/mail/astroid/Makefile
index a651dd9cff1e..61a39c420dff 100644
--- a/mail/astroid/Makefile
+++ b/mail/astroid/Makefile
@@ -18,7 +18,7 @@ BROKEN=		fails to build with boost-1.85+
 BUILD_DEPENDS=	scdoc:textproc/scdoc \
 		notmuch>0:mail/notmuch
 LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
-		libjavascriptcoregtk-4.0.so:www/webkit2-gtk3 \
+		libjavascriptcoregtk-4.0.so:www/webkit2-gtk@40 \
 		libgmime-3.0.so:mail/gmime30 \
 		libgnutls.so:security/gnutls \
 		libpcre2-8.so:devel/pcre2 \
diff --git a/mail/balsa/Makefile b/mail/balsa/Makefile
index 1a4611a7002c..2fe54007a896 100644
--- a/mail/balsa/Makefile
+++ b/mail/balsa/Makefile
@@ -18,7 +18,7 @@ LIB_DEPENDS=	libpcre.so:devel/pcre \
 		libgmime-3.0.so:mail/gmime30 \
 		libcanberra-gtk3.so:audio/libcanberra-gtk3 \
 		libical.so:devel/libical \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libgnutls.so:security/gnutls \
 		libfribidi.so:converters/fribidi \
 		libsoup-2.4.so:devel/libsoup  \
diff --git a/mail/claws-mail-fancy/Makefile b/mail/claws-mail-fancy/Makefile
index 5dad108b71e1..0dde7e7c57de 100644
--- a/mail/claws-mail-fancy/Makefile
+++ b/mail/claws-mail-fancy/Makefile
@@ -11,7 +11,7 @@ LIB_DEPENDS=	libcurl.so:ftp/curl
 IGNORE=		depends on www/webkit-gtk2, which has been removed
 .endif
 .if ${MASTER_OPTIONS:MGTK3}
-LIB_DEPENDS+=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+LIB_DEPENDS+=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 .endif
 
 CLAWS_PLUGINS_BUILD=	${PORTNAME}
diff --git a/mail/evolution-ews/Makefile b/mail/evolution-ews/Makefile
index c0dce7f2b17e..77b8f36e8830 100644
--- a/mail/evolution-ews/Makefile
+++ b/mail/evolution-ews/Makefile
@@ -20,7 +20,7 @@ LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
 		libsecret-1.so:security/libsecret \
 		libnspr4.so:devel/nspr \
 		libnss3.so:security/nss \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libical.so:devel/libical \
 		libjson-glib-1.0.so:devel/json-glib
 RUN_DEPENDS=	evolution>=3.0.0:mail/evolution
diff --git a/mail/evolution/Makefile b/mail/evolution/Makefile
index 2104bd2d2f20..bfb936769993 100644
--- a/mail/evolution/Makefile
+++ b/mail/evolution/Makefile
@@ -36,7 +36,7 @@ LIB_DEPENDS=	libcryptui.so:security/libcryptui \
 		libp11-kit.so:security/p11-kit \
 		libsecret-1.so:security/libsecret \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	highlight:textproc/highlight \
 		iso-codes>=0:misc/iso-codes
 
diff --git a/mail/geary/Makefile b/mail/geary/Makefile
index c20ea9159218..2e8a815244c4 100644
--- a/mail/geary/Makefile
+++ b/mail/geary/Makefile
@@ -36,7 +36,7 @@ LIB_DEPENDS=	libappstream-glib.so:devel/appstream-glib \
 		libsoup-2.4.so:devel/libsoup \
 		libstemmer.so:textproc/snowballstemmer \
 		libunwind.so:devel/libunwind \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libytnef.so:converters/ytnef
 
 USES=		compiler:c11 cpe desktop-file-utils gettext gnome meson pkgconfig \
diff --git a/math/qalculate-gtk/Makefile b/math/qalculate-gtk/Makefile
index 8ed6caeff882..9c5852253a8a 100644
--- a/math/qalculate-gtk/Makefile
+++ b/math/qalculate-gtk/Makefile
@@ -26,7 +26,7 @@ OPTIONS_SUB=		yes
 
 WEBKIT_DESC=		Use WebKitGTK for display of the user manual
 WEBKIT_LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 WEBKIT_CONFIGURE_ON=	--with-webkitgtk=4.0
 
 post-patch-NLS-off:
diff --git a/misc/xiphos/Makefile b/misc/xiphos/Makefile
index e237e496efbd..1bea4f39fe59 100644
--- a/misc/xiphos/Makefile
+++ b/misc/xiphos/Makefile
@@ -26,7 +26,7 @@ LIB_DEPENDS=	libbiblesync.so:misc/biblesync \
 		libsoup-2.4.so:devel/libsoup \
 		libsword.so:misc/sword \
 		libuuid.so:misc/e2fsprogs-libuuid \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 # gettext is always needed, even if NLS is off
 USES=		cmake compiler:c11 gettext gnome minizip pkgconfig
diff --git a/net/gnome-online-accounts/Makefile b/net/gnome-online-accounts/Makefile
index 8150cb348703..70d10e5d88f6 100644
--- a/net/gnome-online-accounts/Makefile
+++ b/net/gnome-online-accounts/Makefile
@@ -15,7 +15,7 @@ LICENSE=	LGPL20+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	docbook-xsl>=0:textproc/docbook-xsl
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libjson-glib-1.0.so:devel/json-glib \
 		libsecret-1.so:security/libsecret \
 		libsoup-2.4.so:devel/libsoup \
diff --git a/net/liferea/Makefile b/net/liferea/Makefile
index 6d30794f3f45..256ccf23bc05 100644
--- a/net/liferea/Makefile
+++ b/net/liferea/Makefile
@@ -14,7 +14,7 @@ BUILD_DEPENDS=	gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas
 LIB_DEPENDS=	libfribidi.so:converters/fribidi \
 		libharfbuzz.so:print/harfbuzz \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libpeas-1.0.so:devel/libpeas \
 		libjson-glib-1.0.so:devel/json-glib
 RUN_DEPENDS=	gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \
diff --git a/net/remmina/Makefile b/net/remmina/Makefile
index 063b9b5884e2..07bbcefba2db 100644
--- a/net/remmina/Makefile
+++ b/net/remmina/Makefile
@@ -117,7 +117,7 @@ VNC_LIB_DEPENDS=	libvncserver.so:net/libvncserver
 VNC_CMAKE_BOOL=		WITH_LIBVNCSERVER
 
 WWW_LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-			libwebkit2gtk-4.0.so:www/webkit2-gtk3
+			libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 WWW_CMAKE_BOOL=		WITH_WEBKIT2GTK
 WWW_CMAKE_ON=		-DLIBSOUP_LIBRARY=${LOCALBASE}/lib/libsoup-2.4.so
 
diff --git a/print/xreader/Makefile b/print/xreader/Makefile
index 5f1050125bdc..bf6e669cba29 100644
--- a/print/xreader/Makefile
+++ b/print/xreader/Makefile
@@ -49,7 +49,7 @@ DVI_USE=		TEX=kpathsea
 DVI_MESON_ON=		-Ddvi=true
 
 EPUB_BUILD_DEPENDS=	${MATHJAX_DIR}/MathJax.js:www/mathjax
-EPUB_LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+EPUB_LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 EPUB_RUN_DEPENDS=	${EPUB_BUILD_DEPENDS}
 EPUB_MESON_ON=		-Dmathjax-directory=${MATHJAX_DIR}
 EPUB_MESON_OFF=		-Depub=false
diff --git a/textproc/libgepub/Makefile b/textproc/libgepub/Makefile
index 1bd0c67d5ce2..44367738ff95 100644
--- a/textproc/libgepub/Makefile
+++ b/textproc/libgepub/Makefile
@@ -10,7 +10,7 @@ COMMENT=	GObject based library for handling and rendering epub documents
 LICENSE=	LGPL21
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libsoup-2.4.so:devel/libsoup
 
 USES=		compiler:c11 gettext-runtime gnome libarchive meson pkgconfig \
diff --git a/www/Makefile b/www/Makefile
index 8ebdc8c24ec8..6c36e369bff1 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2569,8 +2569,7 @@
     SUBDIR += webgrind
     SUBDIR += webhook
     SUBDIR += webinject
-    SUBDIR += webkit2-gtk3
-    SUBDIR += webkit2-gtk4
+    SUBDIR += webkit2-gtk
     SUBDIR += weblint++
     SUBDIR += webpy
     SUBDIR += webresolve
diff --git a/www/badwolf/Makefile b/www/badwolf/Makefile
index 8b7bb4788eee..b2afdbe29f3e 100644
--- a/www/badwolf/Makefile
+++ b/www/badwolf/Makefile
@@ -12,7 +12,7 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 LIB_DEPENDS+=	libharfbuzz.so:print/harfbuzz \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		desktop-file-utils gnome ninja pkgconfig
 USE_GNOME=	atk cairo gdkpixbuf2 gtk30 libxml2 pango
diff --git a/www/deforaos-surfer/Makefile b/www/deforaos-surfer/Makefile
index 46b2560d1c45..8ab517e441ce 100644
--- a/www/deforaos-surfer/Makefile
+++ b/www/deforaos-surfer/Makefile
@@ -17,7 +17,7 @@ LIB_DEPENDS=	libDesktop.so:x11/deforaos-libdesktop \
 		libharfbuzz.so:print/harfbuzz \
 		libsoup-2.4.so:devel/libsoup \
 		libSystem.so:devel/deforaos-libsystem \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		desktop-file-utils gnome pkgconfig xorg
 USE_GNOME=	cairo gdkpixbuf2 gtk30
diff --git a/www/eolie/Makefile b/www/eolie/Makefile
index 8d65236aeec1..501687260b4e 100644
--- a/www/eolie/Makefile
+++ b/www/eolie/Makefile
@@ -13,7 +13,7 @@ LICENSE=	GPLv3+
 BUILD_DEPENDS=	appstream-util:devel/appstream-glib
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR} \
 		${LOCALBASE}/share/gir-1.0/GtkSpell-3.0.gir:textproc/gtkspell3 \
-		${LOCALBASE}/share/gir-1.0/WebKit2-4.0.gir:www/webkit2-gtk3 \
+		${LOCALBASE}/share/gir-1.0/WebKit2-4.0.gir:www/webkit2-gtk@40 \
 		${LOCALBASE}/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.color.gschema.xml:sysutils/gnome-settings-daemon
 
 USES=		desktop-file-utils gettext gnome meson pkgconfig python \
diff --git a/www/epiphany/Makefile b/www/epiphany/Makefile
index 1e6ca8a12df8..20ccd3c012cc 100644
--- a/www/epiphany/Makefile
+++ b/www/epiphany/Makefile
@@ -26,9 +26,9 @@ LIB_DEPENDS=	libdazzle-1.0.so:x11-toolkits/libdazzle \
 		libnss3.so:security/nss \
 		libp11-kit.so:security/p11-kit \
 		libsecret-1.so:security/libsecret \
-		libsoup-2.4.so:devel/libsoup \
+		libsoup-3.0.so:devel/libsoup3 \
 		libstartup-notification-1.so:x11/startup-notification \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.1.so:www/webkit2-gtk@41
 RUN_DEPENDS=	gnome-icon-theme-symbolic>=0:x11-themes/gnome-icon-theme-symbolic \
 		gnome-icon-theme>=0:misc/gnome-icon-theme \
 		gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas \
diff --git a/www/luakit-devel/Makefile b/www/luakit-devel/Makefile
index 37aee32647cc..f17e1af62f76 100644
--- a/www/luakit-devel/Makefile
+++ b/www/luakit-devel/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING.GPLv3
 BUILD_DEPENDS=	${LUA_MODLIBDIR}/lfs.so:devel/luafilesystem@${LUA_FLAVOR}
 LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	${LUA_PKGNAMEPREFIX}luafilesystem>=0:devel/luafilesystem@${LUA_FLAVOR}
 
 USES=		compiler:c++11-lang desktop-file-utils gmake \
diff --git a/www/luakit/Makefile b/www/luakit/Makefile
index 65ce96d69a1c..5d467f6a5f71 100644
--- a/www/luakit/Makefile
+++ b/www/luakit/Makefile
@@ -14,7 +14,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING.GPLv3
 BUILD_DEPENDS=	${LUA_MODLIBDIR}/lfs.so:devel/luafilesystem@${LUA_FLAVOR}
 LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
 		libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	${LUA_PKGNAMEPREFIX}luafilesystem>=0:devel/luafilesystem@${LUA_FLAVOR}
 
 USES=		compiler:c++11-lang desktop-file-utils gettext-runtime gmake \
diff --git a/www/midori/Makefile b/www/midori/Makefile
index 7cdd1e866768..ece5e0122504 100644
--- a/www/midori/Makefile
+++ b/www/midori/Makefile
@@ -16,7 +16,7 @@ LIB_DEPENDS=	libjson-glib-1.0.so:devel/json-glib \
 		libp11-kit.so:security/p11-kit \
 		libgcr-base-3.so:security/gcr3 \
 		libpeas-1.0.so:devel/libpeas \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libharfbuzz.so:print/harfbuzz
 RUN_DEPENDS=	${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
 
diff --git a/www/py-pywebview-gtk/Makefile b/www/py-pywebview-gtk/Makefile
index 0b7ec516aa5b..f70e224b127e 100644
--- a/www/py-pywebview-gtk/Makefile
+++ b/www/py-pywebview-gtk/Makefile
@@ -16,7 +16,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}bottle>=0:www/py-bottle@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}proxy_tools>=0:www/py-proxy_tools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
diff --git a/www/py-pywry/Makefile b/www/py-pywry/Makefile
index 19203966ccb1..063bb3ca1b34 100644
--- a/www/py-pywry/Makefile
+++ b/www/py-pywry/Makefile
@@ -17,7 +17,7 @@ BUILD_DEPENDS=	${PY_SETUPTOOLS} \
 		${PYTHON_PKGNAMEPREFIX}toml>0:textproc/py-toml@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
 LIB_DEPENDS+=	libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		cargo gnome python
 USE_PYTHON=	pep517 autoplist
diff --git a/www/surf/Makefile b/www/surf/Makefile
index c1307a931246..5645a6f17761 100644
--- a/www/surf/Makefile
+++ b/www/surf/Makefile
@@ -12,7 +12,7 @@ WWW=		https://surf.suckless.org
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
+LIB_DEPENDS=	libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
 		libsoup-2.4.so:devel/libsoup \
 		libgcr-base-3.so:security/gcr3
 RUN_DEPENDS=	dmenu:x11/dmenu \
diff --git a/www/vimb/Makefile b/www/vimb/Makefile
index c2ee02cb70bf..5835cadf284c 100644
--- a/www/vimb/Makefile
+++ b/www/vimb/Makefile
@@ -11,7 +11,7 @@ LICENSE=	GPLv3+
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 LIB_DEPENDS=	libsoup-2.4.so:devel/libsoup \
-		libwebkit2gtk-4.0.so:www/webkit2-gtk3
+		libwebkit2gtk-4.0.so:www/webkit2-gtk@40
 
 USES=		compiler:c11 desktop-file-utils gmake gnome pkgconfig
 USE_GITHUB=	yes
diff --git a/www/webkit2-gtk/Makefile b/www/webkit2-gtk/Makefile
new file mode 100644
index 000000000000..71865bd7186d
--- /dev/null
+++ b/www/webkit2-gtk/Makefile
@@ -0,0 +1,141 @@
+PORTNAME=	webkit
+DISTVERSION=	2.46.5
+CATEGORIES=	www
+MASTER_SITES=	https://webkitgtk.org/releases/
+PKGNAMESUFFIX=	2-gtk_${FLAVOR}
+DISTNAME=	${PORTNAME}gtk-${DISTVERSION}
+DIST_SUBDIR=	gnome
+
+PATCH_SITES=	https://github.com/WebKit/WebKit/commit/
+PATCHFILES=	aa29001ade54425699e1345ce41bbd227dba805c.patch:-p1
+
+MAINTAINER=	gnome@FreeBSD.org
+COMMENT=	Opensource browser engine using the GTK 3 toolkit
+WWW=		https://webkitgtk.org/
+
+LICENSE=	GPLv2 BSD2CLAUSE
+LICENSE_COMB=	dual
+
+BROKEN_riscv64=	error: Unknown Architecture
+
+LIB_DEPENDS=	libavif.so:graphics/libavif \
+		libdrm.so:graphics/libdrm \
+		libenchant-2.so:textproc/enchant2 \
+		libepoxy.so:graphics/libepoxy \
+		libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2 \
+		libgcrypt.so:security/libgcrypt \
+		libgraphene-1.0.so:graphics/graphene \
+		libgpg-error.so:security/libgpg-error \
+		libharfbuzz-icu.so:print/harfbuzz-icu \
+		libharfbuzz.so:print/harfbuzz \
+		libhyphen.so:textproc/hyphen \
+		libicudata.so:devel/icu \
+		libjxl.so:graphics/libjxl \
+		liblcms2.so:graphics/lcms2 \
+		libpng.so:graphics/png \
+		libsecret-1.so:security/libsecret \
+		libsysinfo.so:devel/libsysinfo \
+		libtasn1.so:security/libtasn1 \
+		libwebp.so:graphics/webp \
+		libwoff2dec.so:devel/woff2
+
+PORTSCOUT=	limitw:1,even
+
+FLAVORS=	60 41 40
+FLAVOR?=	${FLAVORS:[1]}
+
+USES=		bison cmake compiler:c++23-lang cpe gettext gl gnome gperf \
+		jpeg localbase:ldflags perl5 pkgconfig python:build \
+		ruby:build sqlite tar:xz xorg
+USE_GNOME=	cairo gdkpixbuf2 introspection:build libxml2 libxslt
+USE_GL=		egl gbm gl glesv2
+USE_LDCONFIG=	yes
+USE_GCC=	yes
+USE_PERL5=	build
+USE_XORG=	ice x11 xcomposite xdamage xext xrender xt
+
+CPE_VENDOR=	webkitgtk
+CPE_PRODUCT=	webkitgtk
+
+BINARY_ALIAS=		python=${PYTHON_CMD}
+CXXFLAGS+=		-DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=32 \
+			-I${LOCALBASE}/include -lsysinfo
+CMAKE_ARGS=		-DPORT=GTK
+CMAKE_OFF=		${CMAKE_OFF_${ARCH}:U} \
+			ENABLE_GAMEPAD \
+			ENABLE_JOURNALD_LOG \
+			USE_LIBBACKTRACE \
+			USE_SYSTEM_MALLOC \
+			USE_SYSPROF_CAPTURE \
+			USE_SYSTEM_SYSPROF_CAPTURE
+CMAKE_OFF_armv6=	ENABLE_JIT
+CMAKE_OFF_armv7=	ENABLE_JIT
+INSTALL_TARGET=		install
+
+.if ${FLAVOR:M60}
+USE_GNOME+=	gtk40
+
+PLIST=	${.CURDIR}/pkg-plist_${FLAVOR}
+API_VERSION=	6.0
+WEBKIT_LIBRARY_VERSION=	4 10 7
+JAVASCRIPTCORE_LIBRARY_VERSION=	1 3 14
+.else
*** 12533 LINES SKIPPED ***