diff --git a/testing/glib-networking/build b/testing/glib-networking/build new file mode 100755 index 00000000..3175aa9a --- /dev/null +++ b/testing/glib-networking/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +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/checksums b/testing/glib-networking/checksums new file mode 100644 index 00000000..b94bd162 --- /dev/null +++ b/testing/glib-networking/checksums @@ -0,0 +1 @@ +8ca1f86f23a76b5c7640624f7d5490705c78e81375e1741c9a1c41ce7f8f7ff7 glib-networking-2.62.3.tar.xz diff --git a/testing/glib-networking/depends b/testing/glib-networking/depends new file mode 100644 index 00000000..6e1887bc --- /dev/null +++ b/testing/glib-networking/depends @@ -0,0 +1,3 @@ +glib +libressl +meson make diff --git a/testing/glib-networking/sources b/testing/glib-networking/sources new file mode 100644 index 00000000..b80dfdcf --- /dev/null +++ b/testing/glib-networking/sources @@ -0,0 +1 @@ +https://ftp.gnome.org/pub/gnome/sources/glib-networking/2.62/glib-networking-2.62.3.tar.xz diff --git a/testing/glib-networking/version b/testing/glib-networking/version new file mode 100644 index 00000000..9609cbd8 --- /dev/null +++ b/testing/glib-networking/version @@ -0,0 +1 @@ +2.62.3 1 diff --git a/testing/harfbuzz-icu/build b/testing/harfbuzz-icu/build new file mode 100755 index 00000000..ea56dc49 --- /dev/null +++ b/testing/harfbuzz-icu/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +# Will store the built package's files to +# allow us to cherry-pick the ICU related files. +mkdir -p tmp + +./configure \ + --prefix=/usr \ + --with-glib=yes \ + --with-icu=yes + +make +make DESTDIR="$PWD/tmp" install + +install -Dt "$1/usr/lib" tmp/usr/lib/libharfbuzz-icu* +install -Dt "$1/usr/lib/pkgconfig" tmp/usr/lib/pkgconfig/harfbuzz-icu.pc +install -Dt "$1/usr/include/harfbuzz" tmp/usr/include/harfbuzz/hb-icu.h diff --git a/testing/harfbuzz-icu/checksums b/testing/harfbuzz-icu/checksums new file mode 100644 index 00000000..38e71e71 --- /dev/null +++ b/testing/harfbuzz-icu/checksums @@ -0,0 +1 @@ +9413b8d96132d699687ef914ebb8c50440efc87b3f775d25856d7ec347c03c12 harfbuzz-2.6.4.tar.xz diff --git a/testing/harfbuzz-icu/depends b/testing/harfbuzz-icu/depends new file mode 100644 index 00000000..1d81ce54 --- /dev/null +++ b/testing/harfbuzz-icu/depends @@ -0,0 +1,2 @@ +freetype-harfbuzz +icu diff --git a/testing/harfbuzz-icu/sources b/testing/harfbuzz-icu/sources new file mode 100644 index 00000000..a0c0b6cc --- /dev/null +++ b/testing/harfbuzz-icu/sources @@ -0,0 +1 @@ +https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-2.6.4.tar.xz diff --git a/testing/harfbuzz-icu/version b/testing/harfbuzz-icu/version new file mode 100644 index 00000000..c689264b --- /dev/null +++ b/testing/harfbuzz-icu/version @@ -0,0 +1 @@ +2.6.4 1 diff --git a/testing/icu/build b/testing/icu/build new file mode 100755 index 00000000..6caa70ff --- /dev/null +++ b/testing/icu/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +source/configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/icu/checksums b/testing/icu/checksums new file mode 100644 index 00000000..088608b7 --- /dev/null +++ b/testing/icu/checksums @@ -0,0 +1 @@ +53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948 icu4c-65_1-src.tgz diff --git a/testing/icu/sources b/testing/icu/sources new file mode 100644 index 00000000..038dd59d --- /dev/null +++ b/testing/icu/sources @@ -0,0 +1 @@ +http://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz diff --git a/testing/icu/version b/testing/icu/version new file mode 100644 index 00000000..52a28145 --- /dev/null +++ b/testing/icu/version @@ -0,0 +1 @@ +65.1 1 diff --git a/testing/libXslt/build b/testing/libXslt/build new file mode 100755 index 00000000..6daf22f8 --- /dev/null +++ b/testing/libXslt/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/libXslt/checksums b/testing/libXslt/checksums new file mode 100644 index 00000000..a4e52d58 --- /dev/null +++ b/testing/libXslt/checksums @@ -0,0 +1 @@ +98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f libxslt-1.1.34.tar.gz diff --git a/testing/libXslt/depends b/testing/libXslt/depends new file mode 100644 index 00000000..eb89cd58 --- /dev/null +++ b/testing/libXslt/depends @@ -0,0 +1 @@ +libxml2 diff --git a/testing/libXslt/sources b/testing/libXslt/sources new file mode 100644 index 00000000..a25df5f8 --- /dev/null +++ b/testing/libXslt/sources @@ -0,0 +1 @@ +https://fossies.org/linux/www/libxslt-1.1.34.tar.gz diff --git a/testing/libXslt/version b/testing/libXslt/version new file mode 100644 index 00000000..618d8e27 --- /dev/null +++ b/testing/libXslt/version @@ -0,0 +1 @@ +1.1.34 1 diff --git a/testing/libpsl/build b/testing/libpsl/build new file mode 100755 index 00000000..6daf22f8 --- /dev/null +++ b/testing/libpsl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/libpsl/checksums b/testing/libpsl/checksums new file mode 100644 index 00000000..96e852b9 --- /dev/null +++ b/testing/libpsl/checksums @@ -0,0 +1 @@ +41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12 libpsl-0.21.0.tar.gz diff --git a/testing/libpsl/depends b/testing/libpsl/depends new file mode 100644 index 00000000..29c6b764 --- /dev/null +++ b/testing/libpsl/depends @@ -0,0 +1,2 @@ +icu +python make diff --git a/testing/libpsl/sources b/testing/libpsl/sources new file mode 100644 index 00000000..8024918a --- /dev/null +++ b/testing/libpsl/sources @@ -0,0 +1 @@ +https://github.com/rockdaboot/libpsl/releases/download/libpsl-0.21.0/libpsl-0.21.0.tar.gz diff --git a/testing/libpsl/version b/testing/libpsl/version new file mode 100644 index 00000000..351346bd --- /dev/null +++ b/testing/libpsl/version @@ -0,0 +1 @@ +0.21.0 1 diff --git a/testing/libsoup/build b/testing/libsoup/build new file mode 100755 index 00000000..4a70f168 --- /dev/null +++ b/testing/libsoup/build @@ -0,0 +1,16 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + -Dtls_check=false \ + -Dvapi=disabled \ + -Dgssapi=disabled \ + -Dbrotli=disabled \ + . output + +ninja -C output +ninja -C output install diff --git a/testing/libsoup/checksums b/testing/libsoup/checksums new file mode 100644 index 00000000..e471a0b2 --- /dev/null +++ b/testing/libsoup/checksums @@ -0,0 +1 @@ +534bb08e35b0ff3702f3adfde87d3441e27c12f9f5ec351f056fe04cba02bafb libsoup-2.68.3.tar.xz diff --git a/testing/libsoup/depends b/testing/libsoup/depends new file mode 100644 index 00000000..fac3ad12 --- /dev/null +++ b/testing/libsoup/depends @@ -0,0 +1,6 @@ +glib +libpsl +libxml2 +meson make +sqlite +zlib diff --git a/testing/libsoup/sources b/testing/libsoup/sources new file mode 100644 index 00000000..99c35d59 --- /dev/null +++ b/testing/libsoup/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/libsoup/2.68/libsoup-2.68.3.tar.xz diff --git a/testing/libsoup/version b/testing/libsoup/version new file mode 100644 index 00000000..51f3a414 --- /dev/null +++ b/testing/libsoup/version @@ -0,0 +1 @@ +2.68.3 1 diff --git a/testing/webkit2gtk/build b/testing/webkit2gtk/build new file mode 100755 index 00000000..9cdbeca4 --- /dev/null +++ b/testing/webkit2gtk/build @@ -0,0 +1,41 @@ +#!/bin/sh -e + +for patch in *.patch; do + patch -p1 < "$patch" +done + +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 +# rm -rf Source/WebCore/platform/gtk/po + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_INSTALL_DIR=/usr/lib \ + -DPORT=GTK \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DENABLE_GEOLOCATION=OFF \ + -DENABLE_GLES2=ON \ + -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 \ + -DUSE_LIBSECRET=OFF \ + -DUSE_OPENJPEG=OFF \ + -DUSE_WOFF2=OFF \ + -DUSE_WPE_RENDERER=OFF \ + -DENABLE_WEB_CRYPTO=OFF \ + -Wno-dev + +cmake --build build +cmake --install build diff --git a/testing/webkit2gtk/checksums b/testing/webkit2gtk/checksums new file mode 100644 index 00000000..67b06834 --- /dev/null +++ b/testing/webkit2gtk/checksums @@ -0,0 +1,4 @@ +6b80f0637a80818559ac8fd50db3b394f41cb61904fb9b3ed65fa51635806512 webkitgtk-2.26.2.tar.xz +c1abca4dbce87661b1fc378a84d3e9ed233b2b81872dcaf1bf7d2a0de0bc4c35 u16-fix.patch +b83f933a8e2309a8845010b8839043dd98a147a74609c6f16f51fea5728ad746 fix-musl.patch +5ba3114a3137917e6a8dac67f167177bbe39ee66b057cc2efb7a628739bda9c7 nogl.patch diff --git a/testing/webkit2gtk/depends b/testing/webkit2gtk/depends new file mode 100644 index 00000000..9ac8adb4 --- /dev/null +++ b/testing/webkit2gtk/depends @@ -0,0 +1,15 @@ +gtk+3 +glib-networking +cairo +cmake +gperf +harfbuzz-icu +libXslt +libgcrypt +libsoup +libwebp +mesa +perl make +python +ruby +sqlite diff --git a/testing/webkit2gtk/patches/fix-musl.patch b/testing/webkit2gtk/patches/fix-musl.patch new file mode 100644 index 00000000..a9479a69 --- /dev/null +++ b/testing/webkit2gtk/patches/fix-musl.patch @@ -0,0 +1,136 @@ +Source: @q66, @pullmoll +Original upstream: Alpine Linux +Reason: fixing machine context access for musl libc; reduce stack/heap usage for jsc; fix some overly restrictive __GLIBC__ checks + +Updated for latest webkit2gtk. + +--- 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) +--- 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; ++constexpr unsigned jscReservedZoneSize = 64 * KB; ++#else ++constexpr unsigned jscMaxPerThreadStack = 80 * KB; ++constexpr unsigned jscSoftReservedZoneSize = 32 * KB; ++constexpr unsigned jscReservedZoneSize = 16 * KB; ++#endif ++ + #define JSC_OPTIONS(v) \ + v(bool, useKernTCSM, true, Normal, "Note: this needs to go before other options since they depend on this value.") \ + v(bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \ +@@ -126,9 +136,9 @@ constexpr bool enableWebAssemblyStreamingApi = false; + \ + v(bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ + \ +- v(unsigned, maxPerThreadStackUsage, 4 * MB, Normal, "Max allowed stack usage by the VM") \ +- v(unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ +- v(unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ ++ v(unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, Normal, "Max allowed stack usage by the VM") \ ++ v(unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \ ++ v(unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \ + \ + v(bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ + v(unsigned, jitMemoryReservationSize, 0, Normal, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \ +--- 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 + # define yystrlen strlen + # else + /* 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 +--- 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 + +--- 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 + # define yystrlen strlen + # else + /* 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 + # define yystpcpy stpcpy + # else + /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in diff --git a/testing/webkit2gtk/patches/nogl.patch b/testing/webkit2gtk/patches/nogl.patch new file mode 100644 index 00000000..72e5a53b --- /dev/null +++ b/testing/webkit2gtk/patches/nogl.patch @@ -0,0 +1,10 @@ +--- webkitgtk-2.26.2/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h ++++ webkitgtk-2.26.2-patched/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h +@@ -212,7 +212,6 @@ + inline void LayerTreeHost::cancelPendingLayerFlush() { } + inline void LayerTreeHost::setRootCompositingLayer(WebCore::GraphicsLayer*) { } + inline void LayerTreeHost::setViewOverlayRootLayer(WebCore::GraphicsLayer*) { } +-inline void LayerTreeHost::invalidate() { } + inline void LayerTreeHost::scrollNonCompositedContents(const WebCore::IntRect&) { } + inline void LayerTreeHost::forceRepaint() { } + inline bool LayerTreeHost::forceRepaintAsync(CallbackID) { return false; } diff --git a/testing/webkit2gtk/patches/u16-fix.patch b/testing/webkit2gtk/patches/u16-fix.patch new file mode 100644 index 00000000..5ce7d9ae --- /dev/null +++ b/testing/webkit2gtk/patches/u16-fix.patch @@ -0,0 +1,37 @@ +--- webkitgtk-2.26.2/Source/WTF/wtf/URLHelpers.cpp ++++ webkitgtk-2.26.2-patched/Source/WTF/wtf/URLHelpers.cpp +@@ -301,7 +301,7 @@ + Optional previousCodePoint; + while (i < length) { + UChar32 c; +- U16_NEXT(buffer, i, length, c) ++ U16_NEXT(buffer, i, length, c); + UErrorCode error = U_ZERO_ERROR; + UScriptCode script = uscript_getScript(c, &error); + if (error != U_ZERO_ERROR) { +--- webkitgtk-2.26.2/Source/WebCore/dom/Document.cpp ++++ webkitgtk-2.26.2-patched/Source/WebCore/dom/Document.cpp +@@ -4944,12 +4944,12 @@ + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -5009,7 +5009,7 @@ + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; diff --git a/testing/webkit2gtk/sources b/testing/webkit2gtk/sources new file mode 100644 index 00000000..5453bf36 --- /dev/null +++ b/testing/webkit2gtk/sources @@ -0,0 +1,4 @@ +https://webkitgtk.org/releases/webkitgtk-2.26.2.tar.xz +patches/u16-fix.patch +patches/fix-musl.patch +patches/nogl.patch diff --git a/testing/webkit2gtk/version b/testing/webkit2gtk/version new file mode 100644 index 00000000..90b1a5c5 --- /dev/null +++ b/testing/webkit2gtk/version @@ -0,0 +1 @@ + 2.26.2 1