From 80def6f0a0a2f819899b044bed0fb0ade3f379bb Mon Sep 17 00:00:00 2001 From: Danny Rawlins Date: Sun, 15 Nov 2020 00:44:55 +1100 Subject: [PATCH] qtwebkit: icu 68 fix --- qtwebkit/.signature | 7 +- qtwebkit/Pkgfile | 20 +-- .../qtwebkit-5.212.0_pre20200309-icu-68.patch | 120 ++++++++++++++++++ 3 files changed, 136 insertions(+), 11 deletions(-) create mode 100644 qtwebkit/qtwebkit-5.212.0_pre20200309-icu-68.patch diff --git a/qtwebkit/.signature b/qtwebkit/.signature index a3d8af663..6f7da4375 100644 --- a/qtwebkit/.signature +++ b/qtwebkit/.signature @@ -1,5 +1,6 @@ untrusted comment: verify with /etc/ports/opt.pub -RWSE3ohX2g5d/eYsR8JAbmdV6MuRAV3ETqqohfT6KqRaVDUWdgLaPsjcqnloe46O5xg6ciYdaHDaFI9kBGnzGsS5+AcFaFa1sgM= -SHA256 (Pkgfile) = a74f3d676d846c2e2cff19594a2d5b0da84d32072bc848cd6d9671c9afe45aa6 +RWSE3ohX2g5d/fiLIH+Mex+q+e4Qt9DfW5vYJkyauVh8uHamwBWDxOEzlvGe+fcv2eJegPrCM+BP6fejvBcsmdCz9lfcO7oWWww= +SHA256 (Pkgfile) = 55114ec2f6c683b8c2a6b885bb94dd2eef43e25974848680d5e2524029f7a44b SHA256 (.footprint) = 839d04c7250b0262d6f81ad2c5ec4182e696bdb0a7c70c298afe2b0614269bc1 -SHA256 (qtwebkit-opensource-src-5.212.tar.xz) = 9a6ed083154c7ec850081102b299afa928ca7e48bbdf2b5f3ae152425e46eb17 +SHA256 (qtwebkit-opensource-src-5.212.tar.xz) = 10cbdaba60aac79d27016aa05bae9ab3ec7b0aed4df163debfbf8fddd66adc14 +SHA256 (qtwebkit-5.212.0_pre20200309-icu-68.patch) = 146829ab233c73e8c5e080babca12f9bfb193621fd3452da57721a0af447214a diff --git a/qtwebkit/Pkgfile b/qtwebkit/Pkgfile index c411898b5..791cc265a 100644 --- a/qtwebkit/Pkgfile +++ b/qtwebkit/Pkgfile @@ -1,20 +1,24 @@ # Description: QtWebKit for qt5. # URL: https://www.qt.io/ # Maintainer: Danny Rawlins, crux at romster dot me -# Depends on: hyphen icu qt5 ruby libxslt +# Depends on: hyphen icu qt5 ruby name=qtwebkit version=5.212 release=1 -source=(https://download.qt.io/snapshots/ci/qtwebkit/$version/latest/src/submodules/$name-opensource-src-$version.tar.xz) +source=(https://download.qt.io/snapshots/ci/qtwebkit/$version/latest/src/submodules/$name-opensource-src-$version.tar.xz + qtwebkit-5.212.0_pre20200309-icu-68.patch) build() { - cmake -S$name-opensource-src-$version -Bbuild -GNinja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \ - -DCMAKE_BUILD_TYPE=Release \ - -DPORT=Qt \ - -DENABLE_TOOLS=OFF + [ $(pkginfo -i | awk '/^icu / {split($2,a,"."); print a[1]}') -ge 68 ] && \ + patch -d $name-opensource-src-$version -p1 -i $SRC/qtwebkit-5.212.0_pre20200309-icu-68.patch + + cmake -S $name-opensource-src-$version -B build -G Ninja \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_CXX_FLAGS="$CXXFLAGS -DNDEBUG" \ + -D PORT=Qt \ + -D ENABLE_TOOLS=OFF cmake --build build DESTDIR=$PKG cmake --install build diff --git a/qtwebkit/qtwebkit-5.212.0_pre20200309-icu-68.patch b/qtwebkit/qtwebkit-5.212.0_pre20200309-icu-68.patch new file mode 100644 index 000000000..7de72ea61 --- /dev/null +++ b/qtwebkit/qtwebkit-5.212.0_pre20200309-icu-68.patch @@ -0,0 +1,120 @@ +--- a/Source/WebCore/platform/text/icu/UTextProvider.h ++++ b/Source/WebCore/platform/text/icu/UTextProvider.h +@@ -80,12 +80,12 @@ + // 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 @@ + // 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; + } + } +--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -100,23 +100,23 @@ + 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 @@ + + 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 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 @@ + 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) +--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -125,7 +125,7 @@ + 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 @@ + 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) +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -308,7 +308,7 @@ + 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)