From 13ae8aba4868e106a9dab2e61c08c378193d2624 Mon Sep 17 00:00:00 2001 From: q66 Date: Wed, 14 Sep 2022 16:23:09 +0000 Subject: [PATCH] webkit2gtk: update to 2.36.7 --- .../webkit2gtk/patches/be-typedarray.patch | 54 ++++++------- srcpkgs/webkit2gtk/patches/reproducible.patch | 81 +++++++++++++++++++ srcpkgs/webkit2gtk/patches/x86-no-sse2.patch | 17 ++-- srcpkgs/webkit2gtk/template | 18 +---- 4 files changed, 119 insertions(+), 51 deletions(-) create mode 100644 srcpkgs/webkit2gtk/patches/reproducible.patch diff --git a/srcpkgs/webkit2gtk/patches/be-typedarray.patch b/srcpkgs/webkit2gtk/patches/be-typedarray.patch index f44b4e3a8ab..f21c8fb57e4 100644 --- a/srcpkgs/webkit2gtk/patches/be-typedarray.patch +++ b/srcpkgs/webkit2gtk/patches/be-typedarray.patch @@ -5,10 +5,10 @@ https://tenfourfox.tenderapp.com/discussions/problems/7505-problems-uploading-to Updated by @q66. diff --git a/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h b/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h -index 8b9e57d3..3802e0f2 100644 +index e76dada0..4de2e3ea 100644 --- a/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h +++ b/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h -@@ -186,3 +186,9 @@ +@@ -198,3 +198,9 @@ #else #define OFFLINE_ASM_HAVE_FAST_TLS 0 #endif @@ -19,10 +19,10 @@ index 8b9e57d3..3802e0f2 100644 +#define OFFLINE_ASM_BIG_ENDIAN 0 +#endif diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -index b8a0f205..7afc8f8f 100644 +index 22716f81..4f9374ce 100644 --- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm +++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -@@ -1667,7 +1667,11 @@ llintOpWithMetadata(op_get_by_val, OpGetByVal, macro (size, get, dispatch, metad +@@ -1732,7 +1732,11 @@ llintOpWithMetadata(op_get_by_val, OpGetByVal, macro (size, get, dispatch, metad .opGetByValNotDouble: subi ArrayStorageShape, t2 @@ -36,10 +36,10 @@ index b8a0f205..7afc8f8f 100644 loadi ArrayStorage::m_vector + TagOffset[t3, t1, 8], t2 loadi ArrayStorage::m_vector + PayloadOffset[t3, t1, 8], t1 diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm -index c7d1a204..4f33d06d 100644 +index c453351d..e61529e5 100644 --- a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm +++ b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm -@@ -1751,7 +1751,11 @@ llintOpWithMetadata(op_get_by_val, OpGetByVal, macro (size, get, dispatch, metad +@@ -1867,7 +1867,11 @@ llintOpWithMetadata(op_get_by_val, OpGetByVal, macro (size, get, dispatch, metad .opGetByValNotDouble: subi ArrayStorageShape, t2 @@ -53,20 +53,20 @@ index c7d1a204..4f33d06d 100644 get(m_dst, t0) loadq ArrayStorage::m_vector[t3, t1, 8], t2 diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h b/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h -index c22c55a0..bc1e55c3 100644 +index 86f48a02..1541b3a8 100644 --- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h +++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h -@@ -28,6 +28,7 @@ - #include "JSArrayBufferView.h" +@@ -29,6 +29,7 @@ #include "ThrowScope.h" #include "ToNativeFromValue.h" + #include +#include namespace JSC { -@@ -146,7 +147,18 @@ public: +@@ -147,7 +148,18 @@ public: - JSValue getIndexQuickly(unsigned i) const + JSValue getIndexQuickly(size_t i) const { +#if CPU(BIG_ENDIAN) + switch (Adaptor::typeValue) { @@ -82,9 +82,9 @@ index c22c55a0..bc1e55c3 100644 +#endif } - void setIndexQuicklyToNativeValue(unsigned i, typename Adaptor::Type value) -@@ -158,7 +170,20 @@ public: - void setIndexQuickly(unsigned i, JSValue value) + void setIndexQuicklyToNativeValue(size_t i, typename Adaptor::Type value) +@@ -159,7 +171,20 @@ public: + void setIndexQuickly(size_t i, JSValue value) { ASSERT(!value.isObject()); +#if CPU(BIG_ENDIAN) @@ -103,8 +103,8 @@ index c22c55a0..bc1e55c3 100644 +#endif } - bool setIndex(JSGlobalObject* globalObject, unsigned i, JSValue jsValue) -@@ -172,13 +197,56 @@ public: + bool setIndex(JSGlobalObject* globalObject, size_t i, JSValue jsValue) +@@ -173,18 +198,55 @@ public: if (isDetached() || i >= m_length) return false; @@ -125,9 +125,8 @@ index c22c55a0..bc1e55c3 100644 return true; } -- static ElementType toAdaptorNativeFromValue(JSGlobalObject* globalObject, JSValue jsValue) { return toNativeFromValue(globalObject, jsValue); } -+ static ElementType toAdaptorNativeFromValue(JSGlobalObject* globalObject, JSValue jsValue) -+ { + static ElementType toAdaptorNativeFromValue(JSGlobalObject* globalObject, JSValue jsValue) + { +#if CPU(BIG_ENDIAN) + switch (Adaptor::typeValue) { + case TypeFloat32: @@ -138,13 +137,13 @@ index c22c55a0..bc1e55c3 100644 + return flipBytes(toNativeFromValue(globalObject, jsValue)); + } +#else -+ return toNativeFromValue(globalObject, jsValue); + return toNativeFromValue(globalObject, jsValue); +#endif -+ } + } -- static std::optional toAdaptorNativeFromValueWithoutCoercion(JSValue jsValue) { return toNativeFromValueWithoutCoercion(jsValue); } -+ static std::optional toAdaptorNativeFromValueWithoutCoercion(JSValue jsValue) -+ { + static std::optional toAdaptorNativeFromValueWithoutCoercion(JSValue jsValue) + { +- return toNativeFromValueWithoutCoercion(jsValue); + auto opt = toNativeFromValueWithoutCoercion(jsValue); +#if CPU(BIG_ENDIAN) + switch (Adaptor::typeValue) { @@ -159,15 +158,14 @@ index c22c55a0..bc1e55c3 100644 + } +#endif + return opt; -+ } + } void sort() - { diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h -index 00492c0a..7bb150dc 100644 +index df0435f6..3017563c 100644 --- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h +++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h -@@ -208,9 +208,36 @@ ALWAYS_INLINE EncodedJSValue genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl +@@ -213,9 +213,36 @@ ALWAYS_INLINE EncodedJSValue genericTypedArrayViewProtoFuncIncludes(VM& vm, JSGl scope.assertNoExceptionExceptTermination(); RELEASE_ASSERT(!thisObject->isDetached()); diff --git a/srcpkgs/webkit2gtk/patches/reproducible.patch b/srcpkgs/webkit2gtk/patches/reproducible.patch new file mode 100644 index 00000000000..4d0776c1684 --- /dev/null +++ b/srcpkgs/webkit2gtk/patches/reproducible.patch @@ -0,0 +1,81 @@ +commit 7366988f033d29f2b2e2e68fedb8827ba09a2cc1 +Author: Daniel Kolesa +Date: Wed Jan 5 17:50:07 2022 +0100 + + reproducible build + +diff --git a/Source/WebCore/bindings/scripts/CodeGenerator.pm b/Source/WebCore/bindings/scripts/CodeGenerator.pm +index a604bfd3..c267b402 100644 +--- a/Source/WebCore/bindings/scripts/CodeGenerator.pm ++++ b/Source/WebCore/bindings/scripts/CodeGenerator.pm +@@ -324,7 +324,7 @@ sub MergeExtendedAttributesFromSupplemental + { + my ($object, $supplementalExtendedAttributes, $property, $context) = @_; + +- foreach my $extendedAttributeName (keys %{$supplementalExtendedAttributes}) { ++ foreach my $extendedAttributeName (sort keys %{$supplementalExtendedAttributes}) { + my $isAllowed = 0; + for my $contextAllowed (@{$idlAttributes->{$extendedAttributeName}->{"contextsAllowed"}}) { + if ($contextAllowed eq $context) { +diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm +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"); +- foreach my $structureFlag (sort (keys %structureFlags)) { ++ foreach my $structureFlag (sort (sort keys %structureFlags)) { + push(@headerContent, " | " . $structureFlag); + } + push(@headerContent, ";\n"); +@@ -7433,7 +7433,7 @@ sub WriteData + + my @includes = (); + my %implIncludeConditions = (); +- foreach my $include (keys %implIncludes) { ++ foreach my $include (sort keys %implIncludes) { + next if $headerIncludes{$include}; + next if $headerTrailingIncludes{$include}; + +@@ -7473,7 +7473,7 @@ sub WriteData + $contents = join "", @headerContentHeader; + + @includes = (); +- foreach my $include (keys %headerIncludes) { ++ foreach my $include (sort keys %headerIncludes) { + $include = "\"$include\"" unless $include =~ /^["<]/; # " + $include = SubstituteHeader($include); + push @includes, $include; +@@ -7487,7 +7487,7 @@ sub WriteData + $contents .= join "", @headerContent; + + @includes = (); +- foreach my $include (keys %headerTrailingIncludes) { ++ foreach my $include (sort keys %headerTrailingIncludes) { + $include = "\"$include\"" unless $include =~ /^["<]/; # " + push @includes, $include; + } +@@ -7560,7 +7560,7 @@ sub GeneratePrototypeDeclaration + if (%structureFlags) { + push(@$outputArray, "public:\n"); + push(@$outputArray, " static constexpr unsigned StructureFlags = Base::StructureFlags"); +- foreach my $structureFlag (sort (keys %structureFlags)) { ++ foreach my $structureFlag (sort (sort keys %structureFlags)) { + push(@$outputArray, " | " . $structureFlag); + } + push(@$outputArray, ";\n"); +diff --git a/Source/cmake/tools/scripts/version-stamp.pl b/Source/cmake/tools/scripts/version-stamp.pl +index 888a4502..57ab9b16 100644 +--- a/Source/cmake/tools/scripts/version-stamp.pl ++++ b/Source/cmake/tools/scripts/version-stamp.pl +@@ -75,7 +75,7 @@ my $VERSION_FILE = File::Spec->catfile(File::Spec->canonpath($intdir), 'include' + + open(VERSION_INFO, '<', $VERSION_FILE) or die "Unable to open $VERSION_FILE: $!\n"; + while (my $line = ) { +- foreach my $componentKey (keys %components) { ++ foreach my $componentKey (sort keys %components) { + if ($line !~ m/$componentKey/) { + next; + } diff --git a/srcpkgs/webkit2gtk/patches/x86-no-sse2.patch b/srcpkgs/webkit2gtk/patches/x86-no-sse2.patch index 2a439beb7e5..9ca02811bfe 100644 --- a/srcpkgs/webkit2gtk/patches/x86-no-sse2.patch +++ b/srcpkgs/webkit2gtk/patches/x86-no-sse2.patch @@ -1,11 +1,9 @@ - Source: Debian ---- a/Source/cmake/WebKitCompilerFlags.cmake 2020-12-15 15:29:50.240722972 +0700 -+++ b/Source/cmake/WebKitCompilerFlags.cmake 2020-12-15 15:29:59.659853014 +0700 -@@ -141,15 +141,6 @@ - if (CMAKE_COMPILER_IS_GNUCXX) +--- a/Source/cmake/WebKitCompilerFlags.cmake ++++ b/Source/cmake/WebKitCompilerFlags.cmake +@@ -162,15 +162,6 @@ if (COMPILER_IS_GCC_OR_CLANG) WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-expansion-to-defined) endif () -- + - # Force SSE2 fp on x86 builds. - if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING) - WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse) @@ -14,6 +12,7 @@ - message(FATAL_ERROR "SSE2 support is required to compile WebKit") - endif () - endif () - endif () - - if (COMPILER_IS_GCC_OR_CLANG AND NOT MSVC) +- + # Makes builds faster. The GCC manual warns about the possibility that the assembler being + # used may not support input from a pipe, but in practice the toolchains we support all do. + WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-pipe) diff --git a/srcpkgs/webkit2gtk/template b/srcpkgs/webkit2gtk/template index e103f2ce06c..d95506dd8d5 100644 --- a/srcpkgs/webkit2gtk/template +++ b/srcpkgs/webkit2gtk/template @@ -1,14 +1,14 @@ # Template file for 'webkit2gtk' # ping q66 before touching this pkgname=webkit2gtk -version=2.34.6 -revision=2 +version=2.36.7 +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 - -DUSE_SYSTEMD=OFF -DUSE_WOFF2=ON -DUSE_SOUP2=ON + -DENABLE_JOURNALD_LOG=OFF -DUSE_WOFF2=ON -DUSE_SOUP2=ON -DENABLE_GTKDOC=OFF -DUSE_WPE_RENDERER=ON -DENABLE_MINIBROWSER=$(vopt_if minibrowser ON OFF) -DENABLE_JIT=$(vopt_if jit ON OFF) @@ -37,7 +37,7 @@ maintainer="q66 " license="LGPL-2.1-or-later, BSD-2-Clause" homepage="https://webkitgtk.org/" distfiles="${homepage}/releases/webkitgtk-${version}.tar.xz" -checksum=6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6 +checksum=0c260cf2b32f0481d017670dfed1b61e554967cd067195606c9f9eb5fe731743 make_check=no build_options="gir wayland x11 bubblewrap jit sampling_profiler minibrowser @@ -59,16 +59,6 @@ export CXXFLAGS="$CFLAGS" # but this is run under our control export CCACHE_SLOPPINESS=time_macros,include_file_mtime -post_patch() { - # Reproducible build - # At least, be nice with ccache - vsed -i -e '/foreach my.*(keys/s/(keys/(sort keys/' \ - Source/WebCore/bindings/scripts/CodeGenerator.pm \ - Source/WebCore/bindings/scripts/CodeGeneratorJS.pm \ - Source/WebCore/css/makeprop.pl \ - Source/cmake/tools/scripts/version-stamp.pl -} - # detection + runtime if [ "$build_option_bubblewrap" ]; then hostmakedepends+=" bubblewrap xdg-dbus-proxy"