qtwebkit: icu 68 fix

This commit is contained in:
Danny Rawlins 2020-11-15 00:44:55 +11:00
parent c1f3d78fc4
commit 80def6f0a0
3 changed files with 136 additions and 11 deletions

View File

@ -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

View File

@ -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

View File

@ -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<int32_t>::max());
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(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<int32_t>::max());
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(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<int32_t>(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<int32_t>(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<int32_t>(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)