diff options
-rw-r--r-- | nonprism/webkit2gtk/PKGBUILD | 57 | ||||
-rw-r--r-- | nonprism/webkit2gtk/unhide-deprecated-api.patch | 12 | ||||
-rw-r--r-- | nonprism/webkit2gtk/webkitgtk-2.24.2-no-sse2.patch | 67 | ||||
-rw-r--r-- | nonprism/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch | 50 |
4 files changed, 84 insertions, 102 deletions
diff --git a/nonprism/webkit2gtk/PKGBUILD b/nonprism/webkit2gtk/PKGBUILD index b90927799..57b6f39d5 100644 --- a/nonprism/webkit2gtk/PKGBUILD +++ b/nonprism/webkit2gtk/PKGBUILD @@ -14,8 +14,8 @@ pkgname=webkit2gtk -pkgver=2.32.0 -pkgrel=2 +pkgver=2.36.3 +pkgrel=1 pkgrel+=.nonprism1 pkgdesc="Web content engine for GTK" pkgdesc+=", without geoclue2 support" @@ -31,40 +31,48 @@ depends=(cairo fontconfig freetype2 libgcrypt glib2 gtk3 harfbuzz harfbuzz-icu gst-plugins-base-libs libmanette) makedepends=(cmake ninja gtk-doc python ruby gobject-introspection wayland-protocols systemd gst-plugins-bad gperf) -#makedepends=(${makedepends[@]/geoclue/}) optdepends=('gst-plugins-good: media decoding' 'gst-plugins-bad: media decoding' 'gst-libav: nonfree media decoding') -source=($url/releases/webkitgtk-$pkgver.tar.xz{,.asc} - unhide-deprecated-api.patch) -source_i686=(webkitgtk-2.24.2-no-sse2.patch) -sha256sums=('9d7df4dae9ada2394257565acc2a68ace9308c4c61c3fcc00111dc1f11076bf0' - 'SKIP' - '48ee7bee0b50776c8153c20b96854bd5086e0a7d04e621fd57ea7fc6c690c3a2') -sha256sums_i686=('e95391eceeb29d0ebc57d6b867afd7cd95ed92683edeb28c6a7a5048b5a9b85b') +options=(debug) +source=($url/releases/webkitgtk-$pkgver.tar.xz{,.asc}) +source_i686=(webkitgtk-2.36.3-no-sse2.arch32.patch) +sha256sums=('732fcf8c4ec644b8ed28b46ebbd7c1ebab9d9e0afea9bdf5e5d12786afc478d1' + 'SKIP') +sha256sums_i686=('58a724b7f1092a9049186a3b8c61689c31558b6c2b587c827cec04219397adac') validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos <cgarcia@igalia.com> '5AA3BC334FD7E3369E7C77B291C559DBE4C9123B') # Adrián Pérez de Castro <aperez@igalia.com> + prepare() { cd webkitgtk-$pkgver case "$CARCH" in - i686) - # disable SSE2 on 486 and 686 - source+=('webkitgtk-2.24.2-no-sse2.patch') - sha256sums+=('e95391eceeb29d0ebc57d6b867afd7cd95ed92683edeb28c6a7a5048b5a9b85b') - options+=(!debug) - patch -p1 < ../webkitgtk-2.24.2-no-sse2.patch - ;; - esac + i686) + options+=(!debug) - # Use deprecated API for ubrk_safeClone until ICU 69 is officially supported - patch -Np1 -i ../unhide-deprecated-api.patch + # disable SSE2 on 486 and 686 + echo "applying webkitgtk-2.36.3-no-sse2.arch32.patch" + patch -Rp1 -i "$srcdir"/webkitgtk-2.36.3-no-sse2.arch32.patch + ;; + esac } build() { -# CFLAGS+=" $CPPFLAGS" -# CXXFLAGS+=" $CPPFLAGS" + # Produce minimal debug info: 4.3 GB of debug data makes the + # build too slow and is too much to package for debuginfod + CFLAGS+=' -g1' + CXXFLAGS+=' -g1' + local parabola_options=( -DENABLE_GEOLOCATION=OFF ) + case "$CARCH" in + i686) + # linker runs out of memory on 32-bit + LDFLAGS+=" -Wl,--no-keep-memory" + + # do not build JIT code on non-pentium4 (breaks in micro-optimizations) + parabola_options+=( -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF ) + ;; + esac cmake -S webkitgtk-$pkgver -B build -G Ninja \ ${parabola_options[@]} \ @@ -74,7 +82,8 @@ build() { -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_LIBEXECDIR=lib \ -DCMAKE_SKIP_RPATH=ON \ - -DENABLE_GTKDOC=ON \ + -DUSE_SOUP2=ON \ + -DENABLE_GTKDOC=OFF \ -DENABLE_MINIBROWSER=ON cmake --build build } @@ -86,6 +95,8 @@ package() { DESTDIR="$pkgdir" cmake --install build + rm -r "$pkgdir/usr/bin" + cd webkitgtk-$pkgver find Source -name 'COPYING*' -or -name 'LICENSE*' -print0 | sort -z | while IFS= read -d $'\0' -r _f; do diff --git a/nonprism/webkit2gtk/unhide-deprecated-api.patch b/nonprism/webkit2gtk/unhide-deprecated-api.patch deleted file mode 100644 index 1133632b2..000000000 --- a/nonprism/webkit2gtk/unhide-deprecated-api.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h -index 6fa104c82992..8c8640c3dee7 100644 ---- a/Source/WTF/wtf/Platform.h -+++ b/Source/WTF/wtf/Platform.h -@@ -113,7 +113,6 @@ - - /* FIXME: This does not belong in Platform.h and should instead be included in another mechanism (compiler option, prefix header, config.h, etc) */ - /* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */ --#define U_HIDE_DEPRECATED_API 1 - #define U_SHOW_CPLUSPLUS_API 0 - #ifdef __cplusplus - #define UCHAR_TYPE char16_t diff --git a/nonprism/webkit2gtk/webkitgtk-2.24.2-no-sse2.patch b/nonprism/webkit2gtk/webkitgtk-2.24.2-no-sse2.patch deleted file mode 100644 index 5bcfb603d..000000000 --- a/nonprism/webkit2gtk/webkitgtk-2.24.2-no-sse2.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -rauN webkitgtk-2.24.2/Source/ThirdParty/ANGLE/src/image_util/loadimage.cpp webkitgtk-2.24.2-no-sse2-patch/Source/ThirdParty/ANGLE/src/image_util/loadimage.cpp ---- webkitgtk-2.24.2/Source/ThirdParty/ANGLE/src/image_util/loadimage.cpp 2019-02-12 12:21:03.000000000 +0100 -+++ webkitgtk-2.24.2-no-sse2-patch/Source/ThirdParty/ANGLE/src/image_util/loadimage.cpp 2019-06-12 09:39:11.959999956 +0200 -@@ -12,6 +12,8 @@ - #include "common/platform.h" - #include "image_util/imageformats.h" - -+#include <stdio.h> -+ - namespace angle - { - -@@ -28,6 +30,8 @@ - #if defined(ANGLE_USE_SSE) - if (gl::supportsSSE2()) - { -+ fprintf(stderr,"SSE2 detected but Webkit compiled without SSE2 support!\n"); -+ - __m128i zeroWide = _mm_setzero_si128(); - - for (size_t z = 0; z < depth; z++) - -diff -rauN webkitgtk-2.24.2/Source/WebCore/platform/audio/SincResampler.cpp webkitgtk-2.24.2-no-sse2-patch/Source/WebCore/platform/audio/SincResampler.cpp ---- webkitgtk-2.24.2/Source/WebCore/platform/audio/SincResampler.cpp 2019-02-12 12:21:18.000000000 +0100 -+++ webkitgtk-2.24.2-no-sse2-patch/Source/WebCore/platform/audio/SincResampler.cpp 2019-06-12 09:36:23.089999961 +0200 -@@ -36,6 +36,7 @@ - #include <wtf/MathExtras.h> - - #if CPU(X86_SSE2) -+#error No SSE2 - #include <emmintrin.h> - #endif - -diff -rauN webkitgtk-2.24.2/Source/WebCore/platform/audio/VectorMath.cpp webkitgtk-2.24.2-no-sse2-patch/Source/WebCore/platform/audio/VectorMath.cpp ---- webkitgtk-2.24.2/Source/WebCore/platform/audio/VectorMath.cpp 2019-02-12 12:21:18.000000000 +0100 -+++ webkitgtk-2.24.2-no-sse2-patch/Source/WebCore/platform/audio/VectorMath.cpp 2019-06-12 09:09:37.576666644 +0200 -@@ -33,6 +33,7 @@ - #endif - - #if CPU(X86_SSE2) -+#error No SSE2 - #include <emmintrin.h> - #endif - -diff -rauN webkitgtk-2.24.2/Source/WTF/wtf/Platform.h webkitgtk-2.24.2-no-sse2-patch/Source/WTF/wtf/Platform.h ---- webkitgtk-2.24.2/Source/WTF/wtf/Platform.h 2019-03-05 16:32:47.000000000 +0100 -+++ webkitgtk-2.24.2-no-sse2-patch/Source/WTF/wtf/Platform.h 2019-06-12 09:47:05.889999955 +0200 -@@ -124,7 +124,7 @@ - #define WTF_CPU_KNOWN 1 - - #if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2) --#define WTF_CPU_X86_SSE2 1 -+/* #define WTF_CPU_X86_SSE2 1 */ - #endif - - #endif -diff -rauN webkitgtk-2.24.2/Source/WTF/wtf/text/ASCIIFastPath.h webkitgtk-2.24.2-no-sse2-patch/Source/WTF/wtf/text/ASCIIFastPath.h ---- webkitgtk-2.24.2/Source/WTF/wtf/text/ASCIIFastPath.h 2019-02-12 12:21:17.000000000 +0100 -+++ webkitgtk-2.24.2-no-sse2-patch/Source/WTF/wtf/text/ASCIIFastPath.h 2019-06-12 09:35:37.626666634 +0200 -@@ -27,6 +27,7 @@ - #include <wtf/text/LChar.h> - - #if CPU(X86_SSE2) -+#error No SSE2 - #include <emmintrin.h> - #endif - diff --git a/nonprism/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch b/nonprism/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch new file mode 100644 index 000000000..63a098a76 --- /dev/null +++ b/nonprism/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch @@ -0,0 +1,50 @@ +diff -rauN webkitgtk-2.36.3/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.36.3-no-sse2-patch/Source/cmake/WebKitCompilerFlags.cmake +--- webkitgtk-2.36.3/Source/cmake/WebKitCompilerFlags.cmake 2022-06-02 08:44:07.302049344 +0200 ++++ webkitgtk-2.36.3-no-sse2-patch/Source/cmake/WebKitCompilerFlags.cmake 2022-06-02 08:32:46.169362098 +0200 +@@ -163,13 +163,13 @@ + endif () + + # Force SSE2 fp on x86 builds. +-# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING) +-# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse) +-# include(DetectSSE2) +-# if (NOT SSE2_SUPPORT_FOUND) +-# message(FATAL_ERROR "SSE2 support is required to compile WebKit") +-# endif () +-# endif () ++ if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING) ++ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse) ++ include(DetectSSE2) ++ if (NOT SSE2_SUPPORT_FOUND) ++ message(FATAL_ERROR "SSE2 support is required to compile WebKit") ++ endif () ++ endif () + + # 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. +diff -rauN webkitgtk-2.36.3/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.36.3-no-sse2-patch/Source/ThirdParty/ANGLE/src/common/platform.h +--- webkitgtk-2.36.3/Source/ThirdParty/ANGLE/src/common/platform.h 2022-06-02 08:45:17.042348743 +0200 ++++ webkitgtk-2.36.3-no-sse2-patch/Source/ThirdParty/ANGLE/src/common/platform.h 2022-06-02 08:32:46.189362180 +0200 +@@ -97,8 +97,8 @@ + # include <intrin.h> + # define ANGLE_USE_SSE + #elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) +-//# include <x86intrin.h> +-//# define ANGLE_USE_SSE ++# include <x86intrin.h> ++# define ANGLE_USE_SSE + #endif + + // Mips and arm devices need to include stddef for size_t. +diff -rauN webkitgtk-2.36.3/Source/WTF/wtf/PlatformCPU.h webkitgtk-2.36.3-no-sse2-patch/Source/WTF/wtf/PlatformCPU.h +--- webkitgtk-2.36.3/Source/WTF/wtf/PlatformCPU.h 2022-06-02 08:46:55.912771827 +0200 ++++ webkitgtk-2.36.3-no-sse2-patch/Source/WTF/wtf/PlatformCPU.h 2022-06-02 08:32:45.789360661 +0200 +@@ -99,7 +99,7 @@ + #define WTF_CPU_KNOWN 1 + + #if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2) +-/* #define WTF_CPU_X86_SSE2 1 */ ++#define WTF_CPU_X86_SSE2 1 + #endif + + #endif |