From 9d5415195a856aefd7515ba026136ea186dfc454 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Thu, 16 Jan 2020 10:13:27 +0300 Subject: webkit2gtk: totally steal Dylan's hard work --- testing/glib-networking/build | 16 ++++++--- testing/glib-networking/depends | 1 + testing/glib-networking/sources | 2 +- testing/libsoup/build | 17 +++++++--- testing/libsoup/depends | 4 +-- testing/libsoup/sources | 2 +- testing/libsoup/version | 2 +- testing/webkit2gtk/build | 49 ++++++++++++++------------- testing/webkit2gtk/checksums | 2 +- testing/webkit2gtk/depends | 21 ++++++------ testing/webkit2gtk/patches/fix-musl.patch | 56 +++++++++++++++---------------- testing/webkit2gtk/version | 2 +- 12 files changed, 96 insertions(+), 78 deletions(-) (limited to 'testing') diff --git a/testing/glib-networking/build b/testing/glib-networking/build index c8d88661..3175aa9a 100755 --- a/testing/glib-networking/build +++ b/testing/glib-networking/build @@ -1,8 +1,14 @@ #!/bin/sh -e -mkdir build -cd build +export DESTDIR="$1" -meson --prefix=/usr -Dlibproxy=disabled -Dopenssl=enabled .. -ninja -DESTDIR="$1" ninja install +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + -Dlibproxy=disabled \ + -Dopenssl=enabled \ + . output + +ninja -C output +ninja -C output install diff --git a/testing/glib-networking/depends b/testing/glib-networking/depends index df437910..6e1887bc 100644 --- a/testing/glib-networking/depends +++ b/testing/glib-networking/depends @@ -1,2 +1,3 @@ glib libressl +meson make diff --git a/testing/glib-networking/sources b/testing/glib-networking/sources index e2fe584d..b80dfdcf 100644 --- a/testing/glib-networking/sources +++ b/testing/glib-networking/sources @@ -1 +1 @@ -http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.62/glib-networking-2.62.3.tar.xz +https://ftp.gnome.org/pub/gnome/sources/glib-networking/2.62/glib-networking-2.62.3.tar.xz diff --git a/testing/libsoup/build b/testing/libsoup/build index bf08df95..4a70f168 100755 --- a/testing/libsoup/build +++ b/testing/libsoup/build @@ -1,9 +1,16 @@ #!/bin/sh -e -mkdir build -cd build +export DESTDIR="$1" -meson --prefix=/usr -Dvapi=disabled -Dgssapi=disabled .. -ninja +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + -Dtls_check=false \ + -Dvapi=disabled \ + -Dgssapi=disabled \ + -Dbrotli=disabled \ + . output -DESTDIR="$1" ninja install +ninja -C output +ninja -C output install diff --git a/testing/libsoup/depends b/testing/libsoup/depends index bb2385f9..fac3ad12 100644 --- a/testing/libsoup/depends +++ b/testing/libsoup/depends @@ -1,6 +1,6 @@ glib libpsl libxml2 -meson -samurai +meson make sqlite +zlib diff --git a/testing/libsoup/sources b/testing/libsoup/sources index c0d28289..99c35d59 100644 --- a/testing/libsoup/sources +++ b/testing/libsoup/sources @@ -1 +1 @@ -http://ftp.gnome.org/pub/gnome/sources/libsoup/2.68/libsoup-2.68.3.tar.xz +https://download.gnome.org/sources/libsoup/2.68/libsoup-2.68.3.tar.xz diff --git a/testing/libsoup/version b/testing/libsoup/version index 51f3a414..49f6e4ec 100644 --- a/testing/libsoup/version +++ b/testing/libsoup/version @@ -1 +1 @@ -2.68.3 1 +2.68.3 2 diff --git a/testing/webkit2gtk/build b/testing/webkit2gtk/build index 2e593ab6..67f29769 100755 --- a/testing/webkit2gtk/build +++ b/testing/webkit2gtk/build @@ -1,38 +1,41 @@ #!/bin/sh -e -patch -p1 < u16-fix.patch -patch -p0 < fix-musl.patch -patch -p1 < nogl.patch +for patch in *.patch; do + patch -p1 < "$patch" +done -mkdir build -cd build +# Remove gettext requirement. +sed -i 's/ngettext/printf/g' Tools/MiniBrowser/gtk/BrowserDownloadsBar.c +sed -i '/po_files *.po/d' Source/WebCore/platform/gtk/po/CMakeLists.txt +sed -i '/^GETTEXT_C/d' Source/WebCore/platform/gtk/po/CMakeLists.txt -CFLAGS="${CFLAGS} -Wno-expansion-to-defined" \ -CXXFLAGS="${CXXFLAGS} -Wno-expansion-to-defined" \ -cmake \ +export DESTDIR="$1" + +cmake -B build \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_SKIP_RPATH=ON \ - -DPORT=GTK \ -DLIB_INSTALL_DIR=/usr/lib \ - -DUSE_LIBHYPHEN=OFF \ - -DENABLE_MINIBROWSER=OFF \ - -DUSE_WOFF2=OFF \ - -DUSE_WPE_RENDERER=OFF \ - -DENABLE_INTROSPECTION=OFF \ - -DENABLE_INTL=OFF \ - -DUSE_LIBSECRET=OFF \ - -DUSE_OPENJPEG=OFF \ + -DPORT=GTK \ + -DCMAKE_SKIP_RPATH=ON \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -DENABLE_GEOLOCATION=OFF \ - -DENABLE_SPELLCHECK=OFF \ -DENABLE_GLES2=ON \ - -DENABLE_VIDEO=OFF \ + -DENABLE_INTL=OFF \ + -DENABLE_INTROSPECTION=OFF \ + -DENABLE_MINIBROWSER=OFF \ -DENABLE_OPENGL=OFF \ + -DENABLE_SPELLCHECK=OFF \ + -DENABLE_VIDEO=OFF \ -DENABLE_WEBGL=OFF \ -DENABLE_WEB_AUDIO=OFF \ + -DUSE_LIBHYPHEN=OFF \ -DUSE_LIBNOTIFY=OFF \ - -Wno-dev -G Ninja .. + -DUSE_LIBSECRET=OFF \ + -DUSE_OPENJPEG=OFF \ + -DUSE_WOFF2=OFF \ + -DUSE_WPE_RENDERER=OFF \ + -DENABLE_WEB_CRYPTO=OFF \ + -Wno-dev -ninja -DESTDIR="$1" ninja install +cmake --build build +cmake --install build diff --git a/testing/webkit2gtk/checksums b/testing/webkit2gtk/checksums index 9687e7ed..67b06834 100644 --- a/testing/webkit2gtk/checksums +++ b/testing/webkit2gtk/checksums @@ -1,4 +1,4 @@ 6b80f0637a80818559ac8fd50db3b394f41cb61904fb9b3ed65fa51635806512 webkitgtk-2.26.2.tar.xz c1abca4dbce87661b1fc378a84d3e9ed233b2b81872dcaf1bf7d2a0de0bc4c35 u16-fix.patch -7c0b0b8c63981b30d26893fd5aa0a226312b7d8b90b0a6e2100348c7d111a79e fix-musl.patch +b83f933a8e2309a8845010b8839043dd98a147a74609c6f16f51fea5728ad746 fix-musl.patch 5ba3114a3137917e6a8dac67f167177bbe39ee66b057cc2efb7a628739bda9c7 nogl.patch diff --git a/testing/webkit2gtk/depends b/testing/webkit2gtk/depends index 4c2e8760..9ac8adb4 100644 --- a/testing/webkit2gtk/depends +++ b/testing/webkit2gtk/depends @@ -1,14 +1,15 @@ -libsoup +gtk+3 +glib-networking cairo cmake -gettext -gtk+2 -gtk+3 -mesa -sqlite +gperf +harfbuzz-icu +libXslt +libgcrypt +libsoup libwebp -ruby -freetype-harfbuzz -libxslt -libtasn1 mesa +perl make +python +ruby +sqlite diff --git a/testing/webkit2gtk/patches/fix-musl.patch b/testing/webkit2gtk/patches/fix-musl.patch index be443121..a9479a69 100644 --- a/testing/webkit2gtk/patches/fix-musl.patch +++ b/testing/webkit2gtk/patches/fix-musl.patch @@ -4,59 +4,59 @@ Reason: fixing machine context access for musl libc; reduce stack/heap usage for Updated for latest webkit2gtk. ---- Source/JavaScriptCore/runtime/MachineContext.h -+++ Source/JavaScriptCore/runtime/MachineContext.h +--- a/Source/JavaScriptCore/runtime/MachineContext.h ++++ b/Source/JavaScriptCore/runtime/MachineContext.h @@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif - + -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) - + #if CPU(X86) return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); @@ -335,7 +335,7 @@ static inline void*& framePointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif - + -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) - + // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -482,7 +482,7 @@ static inline void*& instructionPointerImpl(mcontext_t& machineContext) #error Unknown Architecture #endif - + -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) - + // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -639,7 +639,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext) #error Unknown Architecture #endif - + -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) - + // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) @@ -756,7 +756,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext) #error Unknown Architecture #endif - + -#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) +#elif OS(FUCHSIA) || defined(__linux__) - + // The following sequence depends on glibc's sys/ucontext.h. #if CPU(X86) ---- Source/JavaScriptCore/runtime/Options.h -+++ Source/JavaScriptCore/runtime/Options.h +--- a/Source/JavaScriptCore/runtime/Options.h ++++ b/Source/JavaScriptCore/runtime/Options.h @@ -112,6 +112,16 @@ constexpr bool enableWebAssemblyStreamingApi = true; constexpr bool enableWebAssemblyStreamingApi = false; #endif - + +#if defined(__GLIBC__) +constexpr unsigned jscMaxPerThreadStack = 4 * MB; +constexpr unsigned jscSoftReservedZoneSize = 128 * KB; @@ -83,11 +83,11 @@ Updated for latest webkit2gtk. \ v(bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ v(unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \ ---- Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp -+++ Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp +--- a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp ++++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp @@ -728,7 +728,7 @@ int yydebug; #if YYERROR_VERBOSE - + # ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H +# if defined __linux__ && defined _STRING_H @@ -96,29 +96,29 @@ Updated for latest webkit2gtk. /* Return the length of YYSTR. */ @@ -743,7 +743,7 @@ static YYSIZE_T yystrlen(const char *yystr) # endif - + # ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in ---- Source/WTF/wtf/Platform.h -+++ Source/WTF/wtf/Platform.h +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h @@ -707,7 +707,7 @@ - + #endif /* OS(DARWIN) */ - + -#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) +#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) #define HAVE_MACHINE_CONTEXT 1 #endif - ---- Source/WebCore/xml/XPathGrammar.cpp -+++ Source/WebCore/xml/XPathGrammar.cpp + +--- a/Source/WebCore/xml/XPathGrammar.cpp ++++ b/Source/WebCore/xml/XPathGrammar.cpp @@ -966,7 +966,7 @@ #if YYERROR_VERBOSE - + # ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H +# if defined __linux__ && defined _STRING_H @@ -127,7 +127,7 @@ Updated for latest webkit2gtk. /* Return the length of YYSTR. */ @@ -989,7 +989,7 @@ # endif - + # ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE diff --git a/testing/webkit2gtk/version b/testing/webkit2gtk/version index d50b7c89..90b1a5c5 100644 --- a/testing/webkit2gtk/version +++ b/testing/webkit2gtk/version @@ -1 +1 @@ -2.26.2 1 + 2.26.2 1 -- cgit v1.2.3