webkit2gtk: update to 2.38.1.

This splits webkit2gtk into 3 packages:
+ webkit2gtk: GTK+3 and libsoup2
+ libwebkit2gtk41: GTK+3 and libsoup3
+ libwebkit2gtk50: GTK4 and libsoup3

This is necessary since libsoup2 and libsoup3 cannot be
used at the same time.
Ideally the other packages would eventually be no longer necessary.
This commit is contained in:
oreo639 2022-09-26 23:00:57 -07:00 committed by Michal Vasilek
parent 9b0a34af6f
commit 6353f833c1
10 changed files with 149 additions and 53 deletions

View File

@ -541,6 +541,10 @@ libgnome-panel.so.0 gnome-panel-3.37.1_1
libuninum.so.5 libuninum-2.7_1
libwebkit2gtk-4.0.so.37 webkit2gtk-2.6.2_1
libjavascriptcoregtk-4.0.so.18 webkit2gtk-2.6.2_1
libwebkit2gtk-4.1.so.0 libwebkit2gtk41-2.38.0_1
libjavascriptcoregtk-4.1.so.0 libwebkit2gtk41-2.38.0_1
libwebkit2gtk-5.0.so.0 libwebkit2gtk50-2.38.0_1
libjavascriptcoregtk-5.0.so.0 libwebkit2gtk50-2.38.0_1
libgimp-2.0.so.0 libgimp-2.10.0_1
libgimpwidgets-2.0.so.0 libgimp-2.10.0_1
libgimpui-2.0.so.0 libgimp-2.10.0_1

1
srcpkgs/libwebkit2gtk41 Symbolic link
View File

@ -0,0 +1 @@
webkit2gtk

View File

@ -0,0 +1 @@
webkit2gtk

1
srcpkgs/libwebkit2gtk50 Symbolic link
View File

@ -0,0 +1 @@
webkit2gtk

View File

@ -0,0 +1 @@
webkit2gtk

1
srcpkgs/webkit2gtk-common Symbolic link
View File

@ -0,0 +1 @@
webkit2gtk

View File

@ -165,42 +165,42 @@ diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunct
index df0435f6..3017563c 100644
--- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
+++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h
@@ -213,9 +213,36 @@ ALWAYS_INLINE EncodedJSValue genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl
scope.assertNoExceptionExceptTermination();
@@ -351,9 +351,36 @@ ALWAYS_INLINE EncodedJSValue genericType
RELEASE_ASSERT(!thisObject->isDetached());
- if (std::isnan(static_cast<double>(*targetOption))) {
+ double targetOptionLittleEndianAsDouble;
if constexpr (ViewClass::Adaptor::isFloat) {
- if (std::isnan(static_cast<double>(*targetOption))) {
+ double targetOptionLittleEndianAsDouble;
+#if CPU(BIG_ENDIAN)
+ switch (ViewClass::TypedArrayStorageType) {
+ case TypeFloat32:
+ case TypeFloat64:
+ targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
+ default:
+ // typed array views are commonly expected to be little endian views of the underlying data
+ targetOptionLittleEndianAsDouble = static_cast<double>(flipBytes(*targetOption));
+ }
+ switch (ViewClass::TypedArrayStorageType) {
+ case TypeFloat32:
+ case TypeFloat64:
+ targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
+ default:
+ // typed array views are commonly expected to be little endian views of the underlying data
+ targetOptionLittleEndianAsDouble = static_cast<double>(flipBytes(*targetOption));
+ }
+#else
+ targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
+ targetOptionLittleEndianAsDouble = static_cast<double>(*targetOption);
+#endif
+
+ if (std::isnan(targetOptionLittleEndianAsDouble)) {
for (; index < length; ++index) {
- if (std::isnan(static_cast<double>(array[index])))
+ double arrayElementLittleEndianAsDouble;
+ if (std::isnan(targetOptionLittleEndianAsDouble)) {
for (; index < length; ++index) {
- if (std::isnan(static_cast<double>(array[index])))
+ double arrayElementLittleEndianAsDouble;
+#if CPU(BIG_ENDIAN)
+ switch (ViewClass::TypedArrayStorageType) {
+ case TypeFloat32:
+ case TypeFloat64:
+ arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
+ default:
+ // typed array views are commonly expected to be little endian views of the underlying data
+ arrayElementLittleEndianAsDouble = static_cast<double>(flipBytes(array[index]));
+ }
+ switch (ViewClass::TypedArrayStorageType) {
+ case TypeFloat32:
+ case TypeFloat64:
+ arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
+ default:
+ // typed array views are commonly expected to be little endian views of the underlying data
+ arrayElementLittleEndianAsDouble = static_cast<double>(flipBytes(array[index]));
+ }
+#else
+ arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
+ arrayElementLittleEndianAsDouble = static_cast<double>(array[index]);
+#endif
+ if (std::isnan(arrayElementLittleEndianAsDouble))
return JSValue::encode(jsBoolean(true));
}
} else {
+ if (std::isnan(arrayElementLittleEndianAsDouble))
return JSValue::encode(jsBoolean(true));
}
return JSValue::encode(jsBoolean(false));

View File

@ -4,9 +4,9 @@ and https://bugs.webkit.org/show_bug.cgi?id=141288
--- a/Source/JavaScriptCore/offlineasm/arm.rb 2015-07-22 14:37:57.000000000 +0200
+++ b/Source/JavaScriptCore/offlineasm/arm.rb 2015-08-08 00:31:21.011824644 +0200
@@ -546,8 +546,16 @@
$asm.puts "mov #{armFlippedOperands(operands)}"
end
@@ -756,8 +756,16 @@ class Instruction
armMoveImmediate(operands[0].value >> 32, operands[1])
armMoveImmediate(operands[0].value & 0xffffffff, operands[2])
when "mvlbl"
+ if isARMv7 or isARMv7Traditional
$asm.puts "movw #{operands[1].armOperand}, \#:lower16:#{operands[0].value}"
@ -18,6 +18,6 @@ and https://bugs.webkit.org/show_bug.cgi?id=141288
+ $asm.puts ".equ #{const_label}, (#{operands[0].value})"
+ $asm.puts "ldr #{operands[1].armOperand}, =#{const_label}"
+ end
when "nop"
$asm.puts "nop"
when "bieq", "bpeq", "bbeq"
when "sxb2i"
$asm.puts "sxtb #{armFlippedOperands(operands)}"
when "sxh2i"

View File

@ -21,10 +21,10 @@ diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm b/Source/WebCore
index be5a5d51..becb2b2f 100644
--- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -3163,7 +3163,7 @@ sub GenerateHeader
if (%structureFlags) {
push(@headerContent, "public:\n");
push(@headerContent, " static constexpr unsigned StructureFlags = Base::StructureFlags");
@@ -3217,7 +3217,7 @@ sub GenerateHeader
} else {
push(@headerContent, " static constexpr unsigned StructureFlags = Base::StructureFlags");
}
- foreach my $structureFlag (sort (keys %structureFlags)) {
+ foreach my $structureFlag (sort (sort keys %structureFlags)) {
push(@headerContent, " | " . $structureFlag);

View File

@ -1,14 +1,13 @@
# Template file for 'webkit2gtk'
pkgname=webkit2gtk
version=2.36.7
version=2.38.1
revision=1
wrksrc="webkitgtk-${version}"
build_style=cmake
build_helper="gir"
configure_args="-DPORT=GTK -DUSE_LD_GOLD=OFF
-DCMAKE_LINKER=${XBPS_CROSS_TRIPLET}-gcc -DCMAKE_SKIP_RPATH=ON
-DENABLE_JOURNALD_LOG=OFF -DUSE_WOFF2=ON -DUSE_SOUP2=ON
-DENABLE_GTKDOC=OFF -DUSE_WPE_RENDERER=ON
-DENABLE_JOURNALD_LOG=OFF -DUSE_WOFF2=ON -DUSE_WPE_RENDERER=ON
-DENABLE_MINIBROWSER=$(vopt_if minibrowser ON OFF)
-DENABLE_JIT=$(vopt_if jit ON OFF)
-DENABLE_C_LOOP=$(vopt_if jit OFF ON)
@ -19,24 +18,25 @@ configure_args="-DPORT=GTK -DUSE_LD_GOLD=OFF
-DENABLE_BUBBLEWRAP_SANDBOX=$(vopt_if bubblewrap ON OFF)"
# Don't remove which from hostmakedepends
# Otherwise, they invoke /usr/bin/ccache /usr/lib/ccache/bin/$CC
hostmakedepends="perl python pkg-config gperf flex ruby gettext glib-devel
geoclue2 libharfbuzz which libpsl
hostmakedepends="perl python3 pkg-config gperf flex ruby gettext glib-devel
geoclue2 libharfbuzz which libpsl gi-docgen
$(vopt_if wayland 'wayland-devel libxml2-devel')"
makedepends="at-spi2-core-devel libjpeg-turbo-devel libpng-devel
harfbuzz-devel gst-plugins-base1-devel gst-plugins-bad1-devel sqlite-devel
libsoup-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
dbus-glib-devel libwebp-devel gtk+-devel gtk+3-devel libgudev-devel
libsoup-devel libsoup3-devel libxslt-devel gnutls-devel icu-devel enchant2-devel
dbus-glib-devel libwebp-devel gtk+3-devel gtk4-devel libgudev-devel
libsecret-devel ruby-devel geoclue2-devel libnotify-devel hyphen-devel
woff2-devel freetype-devel libopenjpeg2-devel libatomic-devel
qt5-devel libmanette-devel libwpe-devel wpebackend-fdo-devel
libgcrypt-devel libnuspell-devel libpsl-devel $(vopt_if x11 libXt-devel)
$(vopt_if wayland 'MesaLib-devel libxkbcommon-devel wayland-devel wayland-protocols')"
depends="webkit2gtk-common"
short_desc="GTK+3 port of the WebKit2 browser engine"
maintainer="Orphaned <orphan@voidlinux.org>"
license="LGPL-2.1-or-later, BSD-2-Clause"
homepage="https://webkitgtk.org/"
distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz"
checksum=0c260cf2b32f0481d017670dfed1b61e554967cd067195606c9f9eb5fe731743
distfiles="https://webkitgtk.org/releases/webkitgtk-${version}.tar.xz"
checksum=02e195b3fb9e057743b3364ee7f1eec13f71614226849544c07c32a73b8f1848
make_check=no
build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser
@ -132,7 +132,30 @@ pre_configure() {
esac
}
post_configure() {
mkdir -p webkit2gtk-40 webkit2gtk-50
(
cd webkit2gtk-40
configure_args="${configure_args} -DUSE_SOUP2=ON -DENABLE_WEBDRIVER=OFF" \
do_configure
)
(
cd webkit2gtk-50
configure_args="${configure_args} -DUSE_GTK4=ON -DENABLE_WEBDRIVER=OFF" \
do_configure
)
}
post_build() {
(cd webkit2gtk-40 && NINJA_STATUS="[2/3][%f/%t] " do_build)
(cd webkit2gtk-50 && NINJA_STATUS="[3/3][%f/%t] " do_build)
}
post_install() {
(cd webkit2gtk-40 && do_install)
(cd webkit2gtk-50 && do_install)
vlicense Source/WebCore/LICENSE-APPLE
vlicense Source/WebCore/LICENSE-LGPL-2.1
vlicense Source/WebCore/LICENSE-LGPL-2
@ -142,11 +165,75 @@ webkit2gtk-devel_package() {
depends="gtk+3-devel libsoup-devel ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove usr/include/webkitgtk-4.0
vmove "usr/lib/pkgconfig/*-4.0.pc"
if [ "$build_option_gir" ]; then
vmove usr/share/gir-1.0
vmove "usr/share/gir-1.0/*-4.0.gir"
vmove "usr/share/gtk-doc/html/*-4.0"
fi
vmove "usr/lib/*.so"
vmove "usr/lib/*-4.0.so"
}
}
webkit2gtk-common_package() {
short_desc="GTK port of the WebKit2 browser engine - common files"
pkg_install() {
vmove usr/share/locale/
vmove usr/share/licenses/
}
}
libwebkit2gtk41_package() {
depends="${depends}"
short_desc="GTK+3 port of the WebKit2 browser engine (soup3)"
pkg_install() {
vmove usr/bin/WebKitWebDriver
vmove usr/libexec/webkit2gtk-4.1
vmove usr/lib/webkit2gtk-4.1
if [ "$build_option_gir" ]; then
vmove "usr/lib/girepository-1.0/*-4.1.typelib"
fi
vmove "usr/lib/*-4.1.so.*"
}
}
libwebkit2gtk41-devel_package() {
depends="gtk+3-devel libsoup3-devel libwebkit2gtk41>=${version}_${revision}"
short_desc="GTK+3 port of the WebKit2 browser engine (soup3) - development files"
pkg_install() {
vmove usr/include/webkitgtk-4.1
vmove "usr/lib/pkgconfig/*-4.1.pc"
if [ "$build_option_gir" ]; then
vmove "usr/share/gir-1.0/*-4.1.gir"
vmove "usr/share/gtk-doc/html/*-4.1"
fi
vmove "usr/lib/*-4.1.so"
}
}
libwebkit2gtk50_package() {
depends="${depends}"
short_desc="GTK4 port of the WebKit2 browser engine"
pkg_install() {
vmove usr/libexec/webkit2gtk-5.0
vmove usr/lib/webkit2gtk-5.0
if [ "$build_option_gir" ]; then
vmove "usr/lib/girepository-1.0/*-5.0.typelib"
fi
vmove "usr/lib/*-5.0.so.*"
}
}
libwebkit2gtk50-devel_package() {
depends="gtk4-devel libsoup3-devel libwebkit2gtk50>=${version}_${revision}"
short_desc="GTK4 port of the WebKit2 browser engine - development files"
pkg_install() {
vmove usr/include/webkitgtk-5.0
vmove "usr/lib/pkgconfig/*-5.0.pc"
if [ "$build_option_gir" ]; then
vmove "usr/share/gir-1.0/*-5.0.gir"
vmove "usr/share/gtk-doc/html/*-5.0"
fi
vmove "usr/lib/*-5.0.so"
}
}