webkitgtk_6 => 2.50.1 — webkitgtk_6 → 2.50.1 (#13311)

* webkitgtk_6 => 2.50.1

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add x86_64 binaries.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add arm binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
Satadru Pramanik, DO, MPH, MEng
2025-11-02 02:42:18 -05:00
committed by GitHub
parent e8e3c30084
commit 378ad773ea
4 changed files with 88 additions and 109 deletions

View File

@@ -459,6 +459,7 @@ unless defined?(CREW_ANITYA_PACKAGE_NAME_MAPPINGS)
{ pkg_name: 'vidstab', anitya_pkg: 'vid.stab', comments: 'Prefer to GitHub' },
{ pkg_name: 'vim_runtime', anitya_pkg: 'vim', comments: '' },
{ pkg_name: 'wayland_info', anitya_pkg: 'wayland-utils', comments: '' },
{ pkg_name: 'webkit2gtk_4_1', anitya_pkg: 'webkitgtk~stable', comments: '' },
{ pkg_name: 'webkitgtk_6', anitya_pkg: 'webkitgtk~stable', comments: '' },
{ pkg_name: 'xauth', anitya_pkg: 'xorg-x11-xauth', comments: '' },
{ pkg_name: 'xercesc', anitya_pkg: 'xerces-c', comments: 'Prefer to GitHub' },

View File

@@ -1,3 +1,4 @@
# Total size: 99566980
/usr/local/bin/WebKitWebDriver_6
/usr/local/include/webkitgtk-6.0/jsc/JSCClass.h
/usr/local/include/webkitgtk-6.0/jsc/JSCContext.h
@@ -17,6 +18,7 @@
/usr/local/include/webkitgtk-6.0/webkit/WebKitBackForwardListItem.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitClipboardPermissionRequest.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitColorChooserRequest.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitConsoleMessage.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenu.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenuActions.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenuItem.h
@@ -74,6 +76,7 @@
/usr/local/include/webkitgtk-6.0/webkit/WebKitVersion.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebContext.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebEditor.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebExtensionMatchPattern.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebFormManager.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebHitTestResult.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebInspector.h
@@ -96,15 +99,16 @@
/usr/local/lib/girepository-1.0/WebKitWebProcessExtension-6.0.typelib
/usr/local/lib/libjavascriptcoregtk-6.0.so
/usr/local/lib/libjavascriptcoregtk-6.0.so.1
/usr/local/lib/libjavascriptcoregtk-6.0.so.1.2.6
/usr/local/lib/libjavascriptcoregtk-6.0.so.1.6.6
/usr/local/lib/libwebkitgtk-6.0.so
/usr/local/lib/libwebkitgtk-6.0.so.4
/usr/local/lib/libwebkitgtk-6.0.so.4.5.6
/usr/local/lib/libwebkitgtk-6.0.so.4.13.4
/usr/local/lib/pkgconfig/javascriptcoregtk-6.0.pc
/usr/local/lib/pkgconfig/webkitgtk-6.0.pc
/usr/local/lib/pkgconfig/webkitgtk-web-process-extension-6.0.pc
/usr/local/lib/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/usr/local/libexec/webkitgtk-6.0/MiniBrowser
/usr/local/libexec/webkitgtk-6.0/WebKitGPUProcess
/usr/local/libexec/webkitgtk-6.0/WebKitNetworkProcess
/usr/local/libexec/webkitgtk-6.0/WebKitWebProcess
/usr/local/libexec/webkitgtk-6.0/jsc

View File

@@ -1,3 +1,4 @@
# Total size: 141012682
/usr/local/bin/WebKitWebDriver_6
/usr/local/include/webkitgtk-6.0/jsc/JSCClass.h
/usr/local/include/webkitgtk-6.0/jsc/JSCContext.h
@@ -17,6 +18,7 @@
/usr/local/include/webkitgtk-6.0/webkit/WebKitBackForwardListItem.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitClipboardPermissionRequest.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitColorChooserRequest.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitConsoleMessage.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenu.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenuActions.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitContextMenuItem.h
@@ -74,6 +76,7 @@
/usr/local/include/webkitgtk-6.0/webkit/WebKitVersion.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebContext.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebEditor.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebExtensionMatchPattern.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebFormManager.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebHitTestResult.h
/usr/local/include/webkitgtk-6.0/webkit/WebKitWebInspector.h
@@ -96,15 +99,16 @@
/usr/local/lib64/girepository-1.0/WebKitWebProcessExtension-6.0.typelib
/usr/local/lib64/libjavascriptcoregtk-6.0.so
/usr/local/lib64/libjavascriptcoregtk-6.0.so.1
/usr/local/lib64/libjavascriptcoregtk-6.0.so.1.2.6
/usr/local/lib64/libjavascriptcoregtk-6.0.so.1.6.6
/usr/local/lib64/libwebkitgtk-6.0.so
/usr/local/lib64/libwebkitgtk-6.0.so.4
/usr/local/lib64/libwebkitgtk-6.0.so.4.5.6
/usr/local/lib64/libwebkitgtk-6.0.so.4.13.4
/usr/local/lib64/pkgconfig/javascriptcoregtk-6.0.pc
/usr/local/lib64/pkgconfig/webkitgtk-6.0.pc
/usr/local/lib64/pkgconfig/webkitgtk-web-process-extension-6.0.pc
/usr/local/lib64/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so
/usr/local/libexec/webkitgtk-6.0/MiniBrowser
/usr/local/libexec/webkitgtk-6.0/WebKitGPUProcess
/usr/local/libexec/webkitgtk-6.0/WebKitNetworkProcess
/usr/local/libexec/webkitgtk-6.0/WebKitWebProcess
/usr/local/libexec/webkitgtk-6.0/jsc

View File

@@ -1,38 +1,38 @@
require 'package'
require 'buildsystems/cmake'
class Webkitgtk_6 < Package
class Webkitgtk_6 < CMake
description 'Web content engine for GTK'
homepage 'https://webkitgtk.org'
version "2.44.2-#{CREW_ICU_VER}"
version '2.50.1'
license 'LGPL-2+ and BSD-2'
compatibility 'aarch64 armv7l x86_64'
min_glibc '2.37'
source_url "https://webkitgtk.org/releases/webkitgtk-#{version.split('-').first}.tar.xz"
source_sha256 '523f42c8ff24832add17631f6eaafe8f9303afe316ef1a7e1844b952a7f7521b'
source_url 'https://github.com/WebKit/WebKit.git'
git_hashtag "webkitgtk-#{version}"
# From the webkitglib/2.50 branch.
# git_hashtag '84fb745f2dec1b1f6417ee6059e76a60f6a4f96b'
# source_url "https://webkitgtk.org/releases/webkitgtk-#{version.split('-').first}.tar.xz"
# source_sha256 'e564b8099f9a3ae32409539b290bbd2ad084e99b6d22d4aac5e51e4554df8bc2'
binary_compression 'tar.zst'
binary_sha256({
aarch64: '85ed089e4dc72c58ec3630ccfb7cfe2be614c5c4f3a49c367acd1d36ea34e0b1',
armv7l: '85ed089e4dc72c58ec3630ccfb7cfe2be614c5c4f3a49c367acd1d36ea34e0b1',
x86_64: '6878f94647d5b3337f1e6ebab2bd2a095ed870cf3bf5e8ebb4c5c67ebace73d0'
aarch64: 'd7489feada015d126eb63b2dcd34401977e83a25b63fe4f9a6c5726b7b4ff375',
armv7l: 'd7489feada015d126eb63b2dcd34401977e83a25b63fe4f9a6c5726b7b4ff375',
x86_64: 'e34da3d2f8324f31213d0fb05cce992f06358209aeb6a30093fabfbf5b8f85ca'
})
depends_on 'at_spi2_core' # R
depends_on 'cairo'
depends_on 'ccache' => :build
depends_on 'dav1d'
depends_on 'cairo' # R
depends_on 'dav1d' => :build
depends_on 'enchant' # R
depends_on 'expat' # R
depends_on 'fontconfig'
depends_on 'freetype' # R
depends_on 'gcc10' => :build
depends_on 'gcc_lib' # R
depends_on 'gdk_pixbuf' # R
depends_on 'glibc' # R
depends_on 'glib' # R
depends_on 'glibc' # R
depends_on 'gobject_introspection' => :build
depends_on 'graphene' # R
depends_on 'gstreamer' # R
depends_on 'gtk3' # R
depends_on 'gtk4' # R
depends_on 'gtk_doc' => :build
depends_on 'harfbuzz' # R
@@ -44,7 +44,6 @@ class Webkitgtk_6 < Package
depends_on 'libdrm' # R
depends_on 'libepoxy' # R
depends_on 'libgcrypt' # R
depends_on 'libglvnd' # R
depends_on 'libgpg_error' # R
depends_on 'libjpeg_turbo' # R
depends_on 'libjxl' # R
@@ -54,128 +53,99 @@ class Webkitgtk_6 < Package
depends_on 'libsoup' # R
depends_on 'libtasn1' # R
depends_on 'libwebp' # R
depends_on 'libwpe' # R
depends_on 'libx11' # R
depends_on 'libxcomposite' # R
depends_on 'libxdamage' # R
depends_on 'libxml2' # R
depends_on 'libxrender' # R
depends_on 'libxslt' # R
depends_on 'libxt' # R
depends_on 'mesa' # R
depends_on 'openjpeg' # R
depends_on 'pango' # R
depends_on 'py3_gi_docgen' => :build
depends_on 'py3_smartypants' => :build
depends_on 'sqlite' # R
depends_on 'sysprof' => :build
depends_on 'unifdef' => :build
depends_on 'valgrind' => :build
depends_on 'vulkan_headers' => :build
depends_on 'vulkan_icd_loader'
depends_on 'wayland' # R
depends_on 'woff2' # R
depends_on 'wpebackend_fdo' # R
depends_on 'zlib' # R
cache_build
no_env_options
no_lto
def self.patch
system "sed -i 's,/usr/bin,/usr/local/bin,g' Source/JavaScriptCore/inspector/scripts/codegen/preprocess.pl"
@arch_flags = ''
@gcc_ver = ''
if ARCH == 'armv7l' || ARCH == 'aarch64'
## Patch from https://bugs.webkit.org/show_bug.cgi?id=226557#c27 to
## handle issue with gcc > 11.
# @gcc_patch = <<~'GCCEOF'
# diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
# index 77ebb802ebb03450b5e96629a47b6819a68672c6..d49d6e43d7eeb6673c624e00eadf3edfca0674eb 100644
#--- a/Source/cmake/WebKitCompilerFlags.cmake
#+++ b/Source/cmake/WebKitCompilerFlags.cmake
# @@ -143,6 +143,13 @@ if (COMPILER_IS_GCC_OR_CLANG)
# WEBKIT_PREPEND_GLOBAL_CXX_FLAGS(-Wno-nonnull)
# endif ()
# + # This triggers warnings in wtf/Packed.h, a header that is included in many places. It does not
# + # respect ignore warning pragmas and we cannot easily suppress it for all affected files.
# + # https://bugs.webkit.org/show_bug.cgi?id=226557
# + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER_EQUAL "11.0")
# + WEBKIT_PREPEND_GLOBAL_CXX_FLAGS(-Wno-stringop-overread)
# + endif ()
# +
## -Wexpansion-to-defined produces false positives with GCC but not Clang
## https://bugs.webkit.org/show_bug.cgi?id=167643#c13
# if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
# GCCEOF
# File.write('gcc.patch', @gcc_patch)
# system 'patch -Np1 -F 10 -i gcc.patch'
# Patch from https://github.com/WebKit/WebKit/pull/1233
# downloader 'https://patch-diff.githubusercontent.com/raw/WebKit/WebKit/pull/1233.diff',
# '70c990ced72c5551b01c9d7c72da7900d609d0f7891e7b99ab132ac1b4aa33ea'
# system "sed -i 's,data.pixels->bytes(),data.pixels->data(),' 1233.diff"
# system 'patch -Np1 -F 10 -i 1233.diff'
# Patch from https://github.com/WebKit/WebKit/pull/2926
# downloader 'https://patch-diff.githubusercontent.com/raw/WebKit/WebKit/pull/2926.diff',
# '26a8d5a9dd9d61865645158681b766e13cf05b3ed07f30bebb79ff73259d0664'
# system "sed -i '22,63d' 2926.diff"
# system 'patch -Np1 -F 10 -i 2926.diff'
# @arch_flags = '-mtune=cortex-a15 -mfloat-abi=hard -mfpu=neon -mtls-dialect=gnu -marm -mlibarch=armv8-a+crc+simd -march=armv8-a+crc+simd'
@arch_flags = '-mfloat-abi=hard -mtls-dialect=gnu -mthumb -mfpu=vfpv3-d16 -mlibarch=armv7-a+fp -march=armv7-a+fp'
end
@gcc_ver = '-10'
@new_gcc = <<~NEW_GCCEOF
#!/bin/bash
gcc#{@gcc_ver} #{@arch_flags} $@
NEW_GCCEOF
@new_gpp = <<~NEW_GPPEOF
#!/bin/bash
g++#{@gcc_ver} #{@arch_flags} $@
NEW_GPPEOF
FileUtils.mkdir_p 'bin'
File.write('bin/gcc', @new_gcc)
FileUtils.chmod 0o755, 'bin/gcc'
File.write('bin/g++', @new_gpp)
FileUtils.chmod 0o755, 'bin/g++'
end
def self.build
# This builds webkit2gtk5 (which uses gtk4, but not libsoup2)
@workdir = Dir.pwd
# Bubblewrap sandbox breaks on epiphany with
# bwrap: Can't make symlink at /var/run: File exists
# LDFLAGS from debian: -Wl,--no-keep-memory
unless File.file?('build.ninja')
@arch_linker_flags = ARCH == 'x86_64' ? '' : '-Wl,--no-keep-memory'
system "CREW_LINKER_FLAGS='#{@arch_linker_flags}' CC='#{@workdir}/bin/gcc' CXX='#{@workdir}/bin/g++' \
pre_cmake_options "CC=#{CREW_PREFIX}/bin/gcc CXX=#{CREW_PREFIX}/bin/g++"
cmake_options "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-DENABLE_DOCUMENTATION=OFF \
-DENABLE_GAMEPAD=OFF \
-DENABLE_JOURNALD_LOG=OFF \
-DENABLE_MINIBROWSER=ON \
-DENABLE_SPEECH_SYNTHESIS=OFF \
-DPORT=GTK \
-DPYTHON_EXECUTABLE=`which python` \
-DUSER_AGENT_BRANDING='Chromebrew' \
-DUSE_GTK4=ON \
-DUSE_JPEGXL=ON \
-DUSE_SOUP2=OFF"
cmake_pre_cache_build_extras do
# This only works in the container.
system "sudo ln -sf #{CREW_PREFIX}/bin/gcc /usr/bin/gcc" if CREW_IN_CONTAINER
system "sudo ln -sf #{CREW_PREFIX}/bin/g++ /usr/bin/g++" if CREW_IN_CONTAINER
if ARCH == 'armv7l'
@arch_flags = '-mfloat-abi=hard -mtls-dialect=gnu -mthumb -mfpu=vfpv3-d16 -mlibarch=armv7-a+fp -march=armv7-a+fp'
@new_gcc = <<~NEW_GCCEOF
#!/bin/bash
gcc #{@arch_flags} $@
NEW_GCCEOF
@new_gpp = <<~NEW_GPPEOF
#!/bin/bash
# See https://wiki.debian.org/ReduceBuildMemoryOverhead
g++ #{@arch_flags} --param ggc-min-expand=10 $@
# g++ #{@arch_flags} $@
NEW_GPPEOF
FileUtils.mkdir_p 'bin'
File.write('bin/gcc', @new_gcc)
FileUtils.chmod 0o755, 'bin/gcc'
File.write('bin/g++', @new_gpp)
FileUtils.chmod 0o755, 'bin/g++'
end
end
if ARCH == 'armv7l'
def self.build
# This builds webkitgtk6 (which uses gtk4, but not libsoup2)
@workdir = Dir.pwd
# Bubblewrap sandbox breaks on epiphany with
# bwrap: Can't make symlink at /var/run: File exists
# LDFLAGS from debian: -Wl,--no-keep-memory
unless File.file?('build.ninja')
@arch_linker_flags = ARCH == 'x86_64' ? '' : '-Wl,--no-keep-memory'
system "CC='#{@workdir}/bin/gcc' CXX='#{@workdir}/bin/g++' CREW_LINKER_FLAGS='#{@arch_linker_flags}' \
cmake -B builddir -G Ninja \
#{CREW_CMAKE_OPTIONS.sub('-pipe', '-pipe -Wno-error').gsub('-flto=auto', '').sub('-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=TRUE', '')} \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-DENABLE_DOCUMENTATION=OFF \
-DENABLE_JOURNALD_LOG=OFF \
-DENABLE_GAMEPAD=OFF \
-DENABLE_JOURNALD_LOG=OFF \
-DENABLE_MINIBROWSER=ON \
-DUSE_SYSTEM_MALLOC=ON \
-DENABLE_SPEECH_SYNTHESIS=OFF \
-DPORT=GTK \
-DPYTHON_EXECUTABLE=`which python` \
-DUSER_AGENT_BRANDING='Chromebrew' \
-DUSE_GTK4=ON \
-DUSE_JPEGXL=ON \
-DUSE_SOUP2=OFF \
-DPYTHON_EXECUTABLE=`which python` \
-DUSER_AGENT_BRANDING='Chromebrew'"
end
@counter = 1
@counter_max = 20
loop do
break if Kernel.system "#{CREW_NINJA} -C builddir -j #{CREW_NPROC}"
puts "Make iteration #{@counter} of #{@counter_max}...".orange
@counter += 1
break if @counter > @counter_max
-DUSE_SOUP2=OFF"
end
Kernel.system "#{CREW_NINJA} -C builddir -j #{CREW_NPROC}"
end
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C builddir install"
cmake_install_extras do
FileUtils.mv "#{CREW_DEST_PREFIX}/bin/WebKitWebDriver", "#{CREW_DEST_PREFIX}/bin/WebKitWebDriver_6"
end
end