From 77cd610d0b92405904905bd844ad37af339ce5ea Mon Sep 17 00:00:00 2001 From: Levon 'noptrix' Kayan Date: Sat, 22 Feb 2025 20:14:36 +0100 Subject: [PATCH] qt5-webkit: pkgrel++. --- packages/qt5-webkit/PKGBUILD | 18 +- .../qt5-webkit/qt5-webkit-glib-2.68.patch | 26 +++ packages/qt5-webkit/qt5-webkit-icu68.patch | 170 ++++++++++++++++++ packages/qt5-webkit/qt5-webkit-icu76.patch | 16 ++ .../webkit-offlineasm-warnings-ruby27.patch | 46 +++++ 5 files changed, 268 insertions(+), 8 deletions(-) create mode 100644 packages/qt5-webkit/qt5-webkit-glib-2.68.patch create mode 100644 packages/qt5-webkit/qt5-webkit-icu68.patch create mode 100644 packages/qt5-webkit/qt5-webkit-icu76.patch create mode 100644 packages/qt5-webkit/webkit-offlineasm-warnings-ruby27.patch diff --git a/packages/qt5-webkit/PKGBUILD b/packages/qt5-webkit/PKGBUILD index a309c70e2b0..4d8e11f7a6e 100644 --- a/packages/qt5-webkit/PKGBUILD +++ b/packages/qt5-webkit/PKGBUILD @@ -12,20 +12,21 @@ pkgname=qt5-webkit _pkgver=5.212.0-alpha4 _basever=5.15.3 pkgver=${_pkgver/-/} -pkgrel=21 +pkgrel=22 pkgdesc='Classes for a WebKit2 based implementation and a new QML API.' arch=('x86_64' 'aarch64') url='https://github.com/qtwebkit/qtwebkit' -license=('LGPL2.1') +license=('LGPL-2.1-only') source=("https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-$_pkgver/qtwebkit-$_pkgver.tar.xz" "https://src.fedoraproject.org/rpms/qt5-qtwebkit/raw/rawhide/f/qtwebkit-cstdint.patch" "https://src.fedoraproject.org/rpms/qt5-qtwebkit/raw/rawhide/f/qtwebkit-fix-build-gcc14.patch" https://src.fedoraproject.org/rpms/qt5-qtwebkit/raw/rawhide/f/webkit-offlineasm-warnings-ruby27.patch "qt5-webkit-icu75.patch::https://github.com/qtwebkit/qtwebkit/commit/756e1c8f23dc2720471298281c421c0076d02df8.patch" - 'icu68.patch' - 'glib-2.68.patch' 'qt5-webkit-python-3.9.patch' - 'qt5-webkit-bison-3.7.patch') + 'qt5-webkit-bison-3.7.patch' + 'qt5-webkit-icu76.patch' + 'qt5-webkit-icu68.patch' + 'qt5-webkit-glib-2.68.patch') depends=('qt5-location' 'qt5-sensors' 'qt5-webchannel' 'libwebp' 'glibc' 'glib2' 'libxcomposite' 'gst-plugins-base' 'hyphen' 'woff2' 'gcc-libs' 'zlib' 'libx11' 'sqlite' 'gst-plugins-base-libs' 'libjpeg-turbo' 'icu' @@ -39,10 +40,11 @@ sha512sums=('33f11270bd030599beff9c1983a6c5ff2d61f407cc8a6825f7f405d46f9184c720f '1d2ff7e5e0bab4670d24741237d5d4f4a9c3c072245e7437e62e3534c192107f32b321d60ef688d6456f7d4af98a7f7722f75fd1f5cdf0213491cb0bbba9c954' '1431c6329fb9ef86dbe929a4002881f6a511aa8a2be684a7c96ea7ea48af53b4f0d96bd8e8367289080bed674ba35cab002747cf3820a6831e60f7ab7a53d3cc' '8b2a23a51a1463893ab97904f385da6744f2619d46cb011795394030de5a6647b0a39b5837ee198fd3d2804530bb98ba346abbc2a67f31bbec2092930f527a90' - 'c4714b40d9b516698490cc3f587f7fefe8097545a2310e144be1dfa39549ad056bf7bd67f5f89334e54c3a9bb95136876a62d0a392991a872030c4dff0d7c820' - 'f8a49e24023431ac37cff2b5bdf6f88d632021eb777668404956a4c6e4f8744f256205093dc5077325a33ec2a050b6e159dcf5d8cf3c1dda7d26ec0b37db95c3' 'e4d4d4abfb8f2e9913c2f5cb7b3a73d5c613a8e8ced66ae1a7789faaa83a2bdf89ff29955d7e9b7bd7a0935ca2ddcad796cf371882e2bb38b4e69c1d528cfe75' - 'd90e3bd03090d468f6d73bcee949593a9266de8c5d29f2879c53efa757e7be449db16eb7a563c6279ed2554e549f2dc6321a40cf855d6290e5bdded8f18a90e4') + 'd90e3bd03090d468f6d73bcee949593a9266de8c5d29f2879c53efa757e7be449db16eb7a563c6279ed2554e549f2dc6321a40cf855d6290e5bdded8f18a90e4' + 'af1c426f92722cee124c0a0d3c7b6d036a50036d02d9e4ba5524206a617ab404728aeb02ac0d5de23ac1181fff14ed24dc8fe05b470eb37475829dfd4f0a7a70' + 'c4714b40d9b516698490cc3f587f7fefe8097545a2310e144be1dfa39549ad056bf7bd67f5f89334e54c3a9bb95136876a62d0a392991a872030c4dff0d7c820' + 'f8a49e24023431ac37cff2b5bdf6f88d632021eb777668404956a4c6e4f8744f256205093dc5077325a33ec2a050b6e159dcf5d8cf3c1dda7d26ec0b37db95c3') prepare() { cd "qtwebkit-$_pkgver" diff --git a/packages/qt5-webkit/qt5-webkit-glib-2.68.patch b/packages/qt5-webkit/qt5-webkit-glib-2.68.patch new file mode 100644 index 00000000000..3df60789638 --- /dev/null +++ b/packages/qt5-webkit/qt5-webkit-glib-2.68.patch @@ -0,0 +1,26 @@ +From 5b698ba3faffd4e198a45be9fe74f53307395e4b Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Wed, 7 Apr 2021 13:38:09 +0200 +Subject: [PATCH] Remove invalid g_object declarations to fix build with glib + >= 2.68 + +g_object_ref_sink is defined as a macro meanwhile and so the build fails. +Just remove the declarations, glib.h is included anyway. +--- + Source/WTF/wtf/glib/GRefPtr.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/Source/WTF/wtf/glib/GRefPtr.h b/Source/WTF/wtf/glib/GRefPtr.h +index 06133d82cb35..d9a1d2f145f5 100644 +--- a/Source/WTF/wtf/glib/GRefPtr.h ++++ b/Source/WTF/wtf/glib/GRefPtr.h +@@ -29,9 +29,6 @@ + #include + #include + +-extern "C" void g_object_unref(gpointer); +-extern "C" gpointer g_object_ref_sink(gpointer); +- + namespace WTF { + + enum GRefPtrAdoptType { GRefPtrAdopt }; diff --git a/packages/qt5-webkit/qt5-webkit-icu68.patch b/packages/qt5-webkit/qt5-webkit-icu68.patch new file mode 100644 index 00000000000..25f094d7f35 --- /dev/null +++ b/packages/qt5-webkit/qt5-webkit-icu68.patch @@ -0,0 +1,170 @@ +Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844 + +In file included from Source/WebCore/platform/text/TextAllInOne.cpp:31: +Source/WebCore/platform/text/TextCodecICU.cpp:311:42: error: use of undeclared identifier 'TRUE' + ucnv_setFallback(m_converterICU, TRUE); + ^ +In file included from Source/WebCore/platform/text/TextAllInOne.cpp:40: +In file included from Source/WebCore/platform/text/icu/UTextProvider.cpp:27: +Source/WebCore/platform/text/icu/UTextProvider.h:83:28: error: use of undeclared identifier 'TRUE' + isAccessible = TRUE; + ^ +Source/WebCore/platform/text/icu/UTextProvider.h:88:28: error: use of undeclared identifier 'FALSE' + isAccessible = FALSE; + ^ +Source/WebCore/platform/text/icu/UTextProvider.h:97:28: error: use of undeclared identifier 'TRUE' + isAccessible = TRUE; + ^ +Source/WebCore/platform/text/icu/UTextProvider.h:102:28: error: use of undeclared identifier 'FALSE' + isAccessible = FALSE; + ^ +In file included from Source/WebCore/platform/text/TextAllInOne.cpp:41: +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:103:20: error: use of undeclared identifier 'TRUE' + return TRUE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:108:20: error: use of undeclared identifier 'FALSE' + return FALSE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:114:20: error: use of undeclared identifier 'TRUE' + return TRUE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:119:20: error: use of undeclared identifier 'FALSE' + return FALSE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:147:12: error: use of undeclared identifier 'TRUE' + return TRUE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:339:16: error: use of undeclared identifier 'FALSE' + return FALSE; + ^ +Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:359:12: error: use of undeclared identifier 'TRUE' + return TRUE; + ^ +In file included from Source/WebCore/platform/text/TextAllInOne.cpp:42: +Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:128:16: error: use of undeclared identifier 'FALSE' + return FALSE; + ^ +Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:148:12: error: use of undeclared identifier 'TRUE' + return TRUE; + ^ + +--- Source/WebCore/platform/text/TextCodecICU.cpp.orig 2020-03-04 17:16:37 UTC ++++ Source/WebCore/platform/text/TextCodecICU.cpp +@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const + m_converterICU = ucnv_open(m_canonicalConverterName, &err); + ASSERT(U_SUCCESS(err)); + if (m_converterICU) +- ucnv_setFallback(m_converterICU, TRUE); ++ ucnv_setFallback(m_converterICU, true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err) +--- Source/WebCore/platform/text/icu/UTextProvider.h.orig 2020-03-04 17:16:37 UTC ++++ Source/WebCore/platform/text/icu/UTextProvider.h +@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +--- Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp.orig 2020-03-04 17:16:37 UTC ++++ Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t i + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t i + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UTe + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +--- Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp.orig 2020-03-04 17:16:37 UTC ++++ Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLeng + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) diff --git a/packages/qt5-webkit/qt5-webkit-icu76.patch b/packages/qt5-webkit/qt5-webkit-icu76.patch new file mode 100644 index 00000000000..9fecb68b0d4 --- /dev/null +++ b/packages/qt5-webkit/qt5-webkit-icu76.patch @@ -0,0 +1,16 @@ +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 7aefa1ba..562fd449 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -566,6 +566,11 @@ + + #endif /* PLATFORM(MAC) */ + ++/* 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_SHOW_CPLUSPLUS_API 0 ++#define U_SHOW_CPLUSPLUS_HEADER_API 0 ++ + #if PLATFORM(IOS) + + #define HAVE_NETWORK_EXTENSION 1 diff --git a/packages/qt5-webkit/webkit-offlineasm-warnings-ruby27.patch b/packages/qt5-webkit/webkit-offlineasm-warnings-ruby27.patch new file mode 100644 index 00000000000..d25c3b1d66c --- /dev/null +++ b/packages/qt5-webkit/webkit-offlineasm-warnings-ruby27.patch @@ -0,0 +1,46 @@ +From c7d19a492d97f9282a546831beb918e03315f6ef Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Wed, 15 Jan 2020 22:15:38 +0000 +Subject: [PATCH] Offlineasm warnings with newer Ruby versions + https://bugs.webkit.org/show_bug.cgi?id=206233 + +Reviewed by Yusuke Suzuki. + +Avoid a warning about using Object#=~ on Annotation instances, which +has been deprecated in Ruby 2.7. + +* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator +to Annotation instances, which do not define it. + + +Canonical link: https://commits.webkit.org/219400@main +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/ChangeLog | 13 +++++++++++++ + Source/JavaScriptCore/offlineasm/parser.rb | 6 +++--- + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb +index 791c81a9868d..f14c873e2dbd 100644 +--- a/Source/JavaScriptCore/offlineasm/parser.rb ++++ b/Source/JavaScriptCore/offlineasm/parser.rb +@@ -628,9 +628,7 @@ def parseSequence(final, comment) + firstCodeOrigin = @tokens[@idx].codeOrigin + list = [] + loop { +- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) +- break +- elsif @tokens[@idx].is_a? Annotation ++ if @tokens[@idx].is_a? Annotation + # This is the only place where we can encounter a global + # annotation, and hence need to be able to distinguish between + # them. +@@ -644,6 +642,8 @@ def parseSequence(final, comment) + list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string) + @annotation = nil + @idx += 2 # Consume the newline as well. ++ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) ++ break + elsif @tokens[@idx] == "\n" + # ignore + @idx += 1