webkitgtk: icu 68 fix

This commit is contained in:
Danny Rawlins 2020-11-15 01:25:32 +11:00
parent 80def6f0a0
commit e307b6c05d
3 changed files with 140 additions and 4 deletions

View File

@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
RWSE3ohX2g5d/ZwkOlc/5KcsxlBA4Nb2Ukpvcg6B5gQugXXSwbyvZ1BqlYJOcK1RgWAR0iFNXVdrrzcBIG3TybF7yAeore10Ugc=
SHA256 (Pkgfile) = 709ae3935e8714017bd937fb2de6204faacc16ede4a3cd1f6193bc0d86b05565
SHA256 (.footprint) = e8689fde7df02e6c84c61abaa82f57f6b94fb30ae4901c7cf74087f81170d77a
RWSE3ohX2g5d/TW29AO77TGejGu+SVjgcVoyqmytkJffrx9wmThZmQBsezlXW2UbbLjEF6wu/oX/GyhBFO93N/tKSaTOog1G0gA=
SHA256 (Pkgfile) = 459a6675d0f73bb0f530deef8775b954edeba0f3557a61e2ec8dbd193e1f5db4
SHA256 (.footprint) = 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
SHA256 (webkitgtk-2.30.2.tar.xz) = c467e0bc2bc610c2570928e3fd63cedaadc4719cbf9b04aa99f79dd71ad5682a
SHA256 (bug-218522.patch) = 904dfc225355b1463b25b772a53e7e247acc94bcadc38b7d1d029323b9674ffa

View File

@ -7,9 +7,13 @@
name=webkitgtk
version=2.30.2
release=1
source=(https://webkitgtk.org/releases/$name-$version.tar.xz)
source=(https://webkitgtk.org/releases/$name-$version.tar.xz
bug-218522.patch)
build() {
[ $(pkginfo -i | awk '/^icu / {split($2,a,"."); print a[1]}') -ge 68 ] && \
patch -d $name-$version -p1 -i $SRC/bug-218522.patch
# Make sure we do not have ccache masquerade directory in PATH.
[ -e '/usr/bin/ccache' ] && PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"

131
webkitgtk/bug-218522.patch Normal file
View File

@ -0,0 +1,131 @@
--- a/Source/WTF/wtf/text/icu/UTextProvider.h
+++ a/Source/WTF/wtf/text/icu/UTextProvider.h
@@ -79,12 +79,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int
// 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 {
@@ -93,12 +93,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int
// 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/WTF/wtf/text/icu/UTextProviderLatin1.cpp
+++ a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp
@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward)
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 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward)
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)
@@ -337,7 +337,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UText* text)
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))
@@ -357,7 +357,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBo
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/WTF/wtf/text/icu/UTextProviderUTF16.cpp
+++ a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp
@@ -126,7 +126,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLength(UText* text)
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))
@@ -146,7 +146,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBoo
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
+++ a/Source/WebCore/platform/text/TextCodecICU.cpp
@@ -194,7 +194,7 @@ void TextCodecICU::createICUConverter() const
UErrorCode error = U_ZERO_ERROR;
m_converter = ICUConverterPtr { ucnv_open(m_canonicalConverterName, &error), ucnv_close };
if (m_converter)
- ucnv_setFallback(m_converter.get(), TRUE);
+ ucnv_setFallback(m_converter.get(), true);
}
int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& error)
--- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+++ a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
@@ -402,7 +402,7 @@ DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::~DrawingMonitor()
int DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::webViewDrawCallback(DrawingAreaProxyCoordinatedGraphics::DrawingMonitor* monitor)
{
monitor->didDraw();
- return FALSE;
+ return false;
}
void DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::start(WTF::Function<void(CallbackBase::Error)>&& callback)