gnu: QtWebKit: Fix building with ICU 68.
* gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/qt.scm (qtwebkit)[source]: Use it Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
This commit is contained in:
		
							parent
							
								
									f5fda6eeab
								
							
						
					
					
						commit
						fc137ffe09
					
				
					 3 changed files with 154 additions and 0 deletions
				
			
		|  | @ -1658,6 +1658,7 @@ dist_patch_DATA =						\ | ||||||
|   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 |   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | ||||||
|   %D%/packages/patches/qtwebkit-pbutils-include.patch		\
 |   %D%/packages/patches/qtwebkit-pbutils-include.patch		\
 | ||||||
|   %D%/packages/patches/qtwebkit-fix-building-with-python-3.9.patch	\
 |   %D%/packages/patches/qtwebkit-fix-building-with-python-3.9.patch	\
 | ||||||
|  |   %D%/packages/patches/qtwebkit-fix-building-with-icu-68.patch	\
 | ||||||
|   %D%/packages/patches/randomjungle-disable-static-build.patch	\
 |   %D%/packages/patches/randomjungle-disable-static-build.patch	\
 | ||||||
|   %D%/packages/patches/rapicorn-isnan.patch			\
 |   %D%/packages/patches/rapicorn-isnan.patch			\
 | ||||||
|   %D%/packages/patches/rapidjson-gcc-compat.patch		\
 |   %D%/packages/patches/rapidjson-gcc-compat.patch		\
 | ||||||
|  |  | ||||||
							
								
								
									
										152
									
								
								gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,152 @@ | ||||||
|  | Fix building with ICU > 68. | ||||||
|  | 
 | ||||||
|  | https://bugs.gentoo.org/753260 | ||||||
|  | 
 | ||||||
|  | Patch adapted from Gentoo: | ||||||
|  | 
 | ||||||
|  | https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=335f29d266c5b169ff1e781f9851a3a203f3198c | ||||||
|  | 
 | ||||||
|  | From 335f29d266c5b169ff1e781f9851a3a203f3198c Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Andreas Sturmlechner <asturm@gentoo.org> | ||||||
|  | Date: Fri, 6 Nov 2020 09:22:15 +0100 | ||||||
|  | Subject: dev-qt/qtwebkit: Fix build with ICU-68 | ||||||
|  | 
 | ||||||
|  | Thanks-to: Lars Wendler <polynomial-c@gentoo.org> | ||||||
|  | Closes: https://bugs.gentoo.org/753260 | ||||||
|  | Package-Manager: Portage-3.0.9, Repoman-3.0.2 | ||||||
|  | Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> | ||||||
|  | ---
 | ||||||
|  |  .../qtwebkit-5.212.0_pre20200309-icu-68.patch      | 120 +++++++++++++++++++++ | ||||||
|  |  1 file changed, 120 insertions(+) | ||||||
|  |  create mode 100644 dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-icu-68.patch | ||||||
|  | 
 | ||||||
|  | (limited to 'dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-icu-68.patch') | ||||||
|  | 
 | ||||||
|  | diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp
 | ||||||
|  | index dd6ff06..e0f4bd7 100644
 | ||||||
|  | --- a/Source/WebCore/platform/text/TextCodecICU.cpp
 | ||||||
|  | +++ b/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) | ||||||
|  | diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h
 | ||||||
|  | index c254fc4..6d1e1cb 100644
 | ||||||
|  | --- a/Source/WebCore/platform/text/icu/UTextProvider.h
 | ||||||
|  | +++ b/Source/WebCore/platform/text/icu/UTextProvider.h
 | ||||||
|  | @@ -80,12 +80,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 { | ||||||
|  | @@ -94,12 +94,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; | ||||||
|  |          } | ||||||
|  |      } | ||||||
|  | diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
 | ||||||
|  | index cd6852c..6a864b1 100644
 | ||||||
|  | --- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
 | ||||||
|  | +++ b/Source/WebCore/platform/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) | ||||||
|  | @@ -336,7 +336,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)) | ||||||
|  | @@ -356,7 +356,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) | ||||||
|  | diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
 | ||||||
|  | index 7aaac48..9ae0d36 100644
 | ||||||
|  | --- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
 | ||||||
|  | +++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
 | ||||||
|  | @@ -125,7 +125,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)) | ||||||
|  | @@ -145,7 +145,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) | ||||||
|  | @ -2625,6 +2625,7 @@ different kinds of sliders, and much more.") | ||||||
|          (base32 |          (base32 | ||||||
|           "1rm9sjkabxna67dl7myx9d9vpdyfxfdhrk9w7b94srkkjbd2d8cw")) |           "1rm9sjkabxna67dl7myx9d9vpdyfxfdhrk9w7b94srkkjbd2d8cw")) | ||||||
|         (patches (search-patches "qtwebkit-pbutils-include.patch" |         (patches (search-patches "qtwebkit-pbutils-include.patch" | ||||||
|  |                                  "qtwebkit-fix-building-with-icu-68.patch" | ||||||
|                                  "qtwebkit-fix-building-with-python-3.9.patch")))) |                                  "qtwebkit-fix-building-with-python-3.9.patch")))) | ||||||
|     (build-system cmake-build-system) |     (build-system cmake-build-system) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|  |  | ||||||
		Reference in a new issue