[SCM] qtwebengine packaging branch, experimental, updated. debian/5.7.1+dfsg-6.1-22-gd477cb8
Simon Quigley
tsimonq2-guest at moszumanska.debian.org
Wed Jun 28 03:58:22 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtwebengine.git;a=commitdiff;h=dd996d7
The following commit has been merged in the experimental branch:
commit dd996d77becbd08c3e132be0d0b44a29e0e07ebf
Author: Alexander Volkov <a.volkov at rusbitech.ru>
Date: Wed Jun 21 12:27:12 2017 +0300
Use Fedora patches to build with system icu and nspr
---
debian/patches/no-icudtl-dat.patch | 27 +++
debian/patches/series | 3 +
debian/patches/system-icu-utf.patch | 387 ++++++++++++++++++++++++++++++++
debian/patches/system-nspr-prtime.patch | 75 +++++++
4 files changed, 492 insertions(+)
diff --git a/debian/patches/no-icudtl-dat.patch b/debian/patches/no-icudtl-dat.patch
new file mode 100644
index 0000000..96a1583
--- /dev/null
+++ b/debian/patches/no-icudtl-dat.patch
@@ -0,0 +1,27 @@
+--- a/src/core/web_engine_library_info.cpp
++++ b/src/core/web_engine_library_info.cpp
+@@ -254,24 +254,7 @@
+ #if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD)
+ return getResourcesPath(frameworkBundle());
+ #else
+- static bool initialized = false;
+ static QString potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources");
+- if (!initialized) {
+- initialized = true;
+- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
+- qWarning("Qt WebEngine ICU data not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath));
+- potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath);
+- }
+- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
+- qWarning("Qt WebEngine ICU data not found at %s. Trying application directory...", qPrintable(potentialResourcesPath));
+- potentialResourcesPath = QCoreApplication::applicationDirPath();
+- }
+- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
+- qWarning("Qt WebEngine ICU data not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath));
+- potentialResourcesPath = fallbackDir();
+- }
+- }
+-
+ return potentialResourcesPath;
+ #endif
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 71707fc..c305320 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,6 @@
add_mips_support.patch
linux-pri.patch
system-re2.patch
+no-icudtl-dat.patch
+system-nspr-prtime.patch
+system-icu-utf.patch
diff --git a/debian/patches/system-icu-utf.patch b/debian/patches/system-icu-utf.patch
new file mode 100644
index 0000000..1c905e4
--- /dev/null
+++ b/debian/patches/system-icu-utf.patch
@@ -0,0 +1,387 @@
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2017-06-08 10:52:51.565409865 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn 2017-06-08 11:13:47.297983554 +0200
+@@ -834,8 +834,6 @@
+ "third_party/dmg_fp/dmg_fp.h",
+ "third_party/dmg_fp/dtoa_wrapper.cc",
+ "third_party/dmg_fp/g_fmt.cc",
+- "third_party/icu/icu_utf.cc",
+- "third_party/icu/icu_utf.h",
+ "third_party/superfasthash/superfasthash.c",
+ "threading/non_thread_safe.h",
+ "threading/non_thread_safe_impl.cc",
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc 2017-06-08 11:02:19.933803953 +0200
+@@ -18,7 +18,7 @@
+
+ #if defined(OS_MACOSX)
+ #include "base/mac/scoped_cftyperef.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #endif
+
+ #if defined(OS_WIN)
+@@ -1156,9 +1156,9 @@
+ int* index) {
+ int codepoint = 0;
+ while (*index < length && codepoint == 0) {
+- // CBU8_NEXT returns a value < 0 in error cases. For purposes of string
++ // U8_NEXT returns a value < 0 in error cases. For purposes of string
+ // comparison, we just use that value and flag it with DCHECK.
+- CBU8_NEXT(string, *index, length, codepoint);
++ U8_NEXT(string, *index, length, codepoint);
+ DCHECK_GT(codepoint, 0);
+ if (codepoint > 0) {
+ // Check if there is a subtable for this upper byte.
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc 2017-06-08 11:05:52.045814002 +0200
+@@ -16,7 +16,7 @@
+ #include "base/strings/stringprintf.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #include "base/values.h"
+
+ namespace base {
+@@ -630,21 +630,21 @@
+
+ while (CanConsume(1)) {
+ int start_index = index_;
+- pos_ = start_pos_ + index_; // CBU8_NEXT is postcrement.
+- CBU8_NEXT(start_pos_, index_, length, next_char);
++ pos_ = start_pos_ + index_; // U8_NEXT is postcrement.
++ U8_NEXT(start_pos_, index_, length, next_char);
+ if (next_char < 0 || !IsValidCharacter(next_char)) {
+ if ((options_ & JSON_REPLACE_INVALID_CHARACTERS) == 0) {
+ ReportError(JSONReader::JSON_UNSUPPORTED_ENCODING, 1);
+ return false;
+ }
+- CBU8_NEXT(start_pos_, start_index, length, next_char);
++ U8_NEXT(start_pos_, start_index, length, next_char);
+ string.Convert();
+ string.AppendString(kUnicodeReplacementString);
+ continue;
+ }
+
+ if (next_char == '"') {
+- --index_; // Rewind by one because of CBU8_NEXT.
++ --index_; // Rewind by one because of U8_NEXT.
+ out->Swap(&string);
+ return true;
+ }
+@@ -774,10 +774,10 @@
+
+ // If this is a high surrogate, consume the next code unit to get the
+ // low surrogate.
+- if (CBU16_IS_SURROGATE(code_unit16_high)) {
++ if (U16_IS_SURROGATE(code_unit16_high)) {
+ // Make sure this is the high surrogate. If not, it's an encoding
+ // error.
+- if (!CBU16_IS_SURROGATE_LEAD(code_unit16_high))
++ if (!U16_IS_SURROGATE_LEAD(code_unit16_high))
+ return false;
+
+ // Make sure that the token has more characters to consume the
+@@ -794,24 +794,24 @@
+
+ NextNChars(3);
+
+- if (!CBU16_IS_TRAIL(code_unit16_low)) {
++ if (!U16_IS_TRAIL(code_unit16_low)) {
+ return false;
+ }
+
+ uint32_t code_point =
+- CBU16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
++ U16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
+ if (!IsValidCharacter(code_point))
+ return false;
+
+ offset = 0;
+- CBU8_APPEND_UNSAFE(code_unit8, offset, code_point);
++ U8_APPEND_UNSAFE(code_unit8, offset, code_point);
+ } else {
+ // Not a surrogate.
+- DCHECK(CBU16_IS_SINGLE(code_unit16_high));
++ DCHECK(U16_IS_SINGLE(code_unit16_high));
+ if (!IsValidCharacter(code_unit16_high))
+ return false;
+
+- CBU8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
++ U8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
+ }
+
+ dest_string->append(code_unit8);
+@@ -828,9 +828,9 @@
+ } else {
+ char utf8_units[4] = { 0 };
+ int offset = 0;
+- CBU8_APPEND_UNSAFE(utf8_units, offset, point);
++ U8_APPEND_UNSAFE(utf8_units, offset, point);
+ dest->Convert();
+- // CBU8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
++ // U8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
+ // zero terminated at this point. |offset| contains the correct length.
+ dest->AppendString(std::string(utf8_units, offset));
+ }
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc 2017-06-08 11:02:19.934803939 +0200
+@@ -14,7 +14,7 @@
+ #include "base/strings/stringprintf.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+
+ namespace base {
+
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc 2017-06-08 11:02:21.774778002 +0200
+@@ -4,13 +4,13 @@
+
+ #include "base/strings/pattern.h"
+
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+
+ namespace base {
+
+ namespace {
+
+-static bool IsWildcard(base_icu::UChar32 character) {
++static bool IsWildcard(UChar32 character) {
+ return character == '*' || character == '?';
+ }
+
+@@ -37,9 +37,9 @@
+ // Check if the chars match, if so, increment the ptrs.
+ const CHAR* pattern_next = *pattern;
+ const CHAR* string_next = *string;
+- base_icu::UChar32 pattern_char = next(&pattern_next, pattern_end);
++ UChar32 pattern_char = next(&pattern_next, pattern_end);
+ if (pattern_char == next(&string_next, string_end) &&
+- pattern_char != CBU_SENTINEL) {
++ pattern_char != U_SENTINEL) {
+ *pattern = pattern_next;
+ *string = string_next;
+ } else {
+@@ -133,20 +133,20 @@
+ }
+
+ struct NextCharUTF8 {
+- base_icu::UChar32 operator()(const char** p, const char* end) {
+- base_icu::UChar32 c;
++ UChar32 operator()(const char** p, const char* end) {
++ UChar32 c;
+ int offset = 0;
+- CBU8_NEXT(*p, offset, end - *p, c);
++ U8_NEXT(*p, offset, end - *p, c);
+ *p += offset;
+ return c;
+ }
+ };
+
+ struct NextCharUTF16 {
+- base_icu::UChar32 operator()(const char16** p, const char16* end) {
+- base_icu::UChar32 c;
++ UChar32 operator()(const char16** p, const char16* end) {
++ UChar32 c;
+ int offset = 0;
+- CBU16_NEXT(*p, offset, end - *p, c);
++ U16_NEXT(*p, offset, end - *p, c);
+ *p += offset;
+ return c;
+ }
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc 2017-06-08 11:02:21.774778002 +0200
+@@ -8,7 +8,7 @@
+
+ #include "base/logging.h"
+ #include "base/strings/string_util.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+
+ namespace base {
+
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc 2017-06-08 11:02:21.775777988 +0200
+@@ -25,7 +25,7 @@
+ #include "base/memory/singleton.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #include "build/build_config.h"
+
+ namespace base {
+@@ -357,19 +357,19 @@
+ }
+ DCHECK_LE(byte_size,
+ static_cast<uint32_t>(std::numeric_limits<int32_t>::max()));
+- // Note: This cast is necessary because CBU8_NEXT uses int32_ts.
++ // Note: This cast is necessary because U8_NEXT uses int32_ts.
+ int32_t truncation_length = static_cast<int32_t>(byte_size);
+ int32_t char_index = truncation_length - 1;
+ const char* data = input.data();
+
+- // Using CBU8, we will move backwards from the truncation point
++ // Using U8, we will move backwards from the truncation point
+ // to the beginning of the string looking for a valid UTF8
+ // character. Once a full UTF8 character is found, we will
+ // truncate the string to the end of that character.
+ while (char_index >= 0) {
+ int32_t prev = char_index;
+- base_icu::UChar32 code_point = 0;
+- CBU8_NEXT(data, char_index, truncation_length, code_point);
++ UChar32 code_point = 0;
++ U8_NEXT(data, char_index, truncation_length, code_point);
+ if (!IsValidCharacter(code_point) ||
+ !IsValidCodepoint(code_point)) {
+ char_index = prev - 1;
+@@ -522,7 +522,7 @@
+
+ while (char_index < src_len) {
+ int32_t code_point;
+- CBU8_NEXT(src, char_index, src_len, code_point);
++ U8_NEXT(src, char_index, src_len, code_point);
+ if (!IsValidCharacter(code_point))
+ return false;
+ }
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2017-06-08 11:02:21.775777988 +0200
+@@ -4,7 +4,7 @@
+
+ #include "base/strings/utf_string_conversion_utils.h"
+
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+
+ namespace base {
+
+@@ -18,7 +18,7 @@
+ // use a signed type for code_point. But this function returns false
+ // on error anyway, so code_point_out is unsigned.
+ int32_t code_point;
+- CBU8_NEXT(src, *char_index, src_len, code_point);
++ U8_NEXT(src, *char_index, src_len, code_point);
+ *code_point_out = static_cast<uint32_t>(code_point);
+
+ // The ICU macro above moves to the next char, we want to point to the last
+@@ -33,16 +33,16 @@
+ int32_t src_len,
+ int32_t* char_index,
+ uint32_t* code_point) {
+- if (CBU16_IS_SURROGATE(src[*char_index])) {
+- if (!CBU16_IS_SURROGATE_LEAD(src[*char_index]) ||
++ if (U16_IS_SURROGATE(src[*char_index])) {
++ if (!U16_IS_SURROGATE_LEAD(src[*char_index]) ||
+ *char_index + 1 >= src_len ||
+- !CBU16_IS_TRAIL(src[*char_index + 1])) {
++ !U16_IS_TRAIL(src[*char_index + 1])) {
+ // Invalid surrogate pair.
+ return false;
+ }
+
+ // Valid surrogate pair.
+- *code_point = CBU16_GET_SUPPLEMENTARY(src[*char_index],
++ *code_point = U16_GET_SUPPLEMENTARY(src[*char_index],
+ src[*char_index + 1]);
+ (*char_index)++;
+ } else {
+@@ -76,30 +76,30 @@
+ }
+
+
+- // CBU8_APPEND_UNSAFE can append up to 4 bytes.
++ // U8_APPEND_UNSAFE can append up to 4 bytes.
+ size_t char_offset = output->length();
+ size_t original_char_offset = char_offset;
+- output->resize(char_offset + CBU8_MAX_LENGTH);
++ output->resize(char_offset + U8_MAX_LENGTH);
+
+- CBU8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
++ U8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+
+- // CBU8_APPEND_UNSAFE will advance our pointer past the inserted character, so
++ // U8_APPEND_UNSAFE will advance our pointer past the inserted character, so
+ // it will represent the new length of the string.
+ output->resize(char_offset);
+ return char_offset - original_char_offset;
+ }
+
+ size_t WriteUnicodeCharacter(uint32_t code_point, string16* output) {
+- if (CBU16_LENGTH(code_point) == 1) {
++ if (U16_LENGTH(code_point) == 1) {
+ // Thie code point is in the Basic Multilingual Plane (BMP).
+ output->push_back(static_cast<char16>(code_point));
+ return 1;
+ }
+ // Non-BMP characters use a double-character encoding.
+ size_t char_offset = output->length();
+- output->resize(char_offset + CBU16_MAX_LENGTH);
+- CBU16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+- return CBU16_MAX_LENGTH;
++ output->resize(char_offset + U16_MAX_LENGTH);
++ U16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
++ return U16_MAX_LENGTH;
+ }
+
+ // Generalized Unicode converter -----------------------------------------------
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-06-08 10:55:05.945934291 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-06-08 11:14:16.956570568 +0200
+@@ -472,7 +472,6 @@
+ 'base/task_scheduler/task_traits.cc',
+ 'base/third_party/dmg_fp/dtoa_wrapper.cc',
+ 'base/third_party/dmg_fp/g_fmt.cc',
+- 'base/third_party/icu/icu_utf.cc',
+ 'base/threading/non_thread_safe_impl.cc',
+ 'base/threading/post_task_and_reply_impl.cc',
+ 'base/threading/sequenced_task_runner_handle.cc',
+@@ -574,7 +573,7 @@
+ }
+
+ if is_linux:
+- libs.extend(['-lrt', '-lnspr4'])
++ libs.extend(['-lrt', '-lnspr4', '-licuuc'])
+ ldflags.extend(['-pthread'])
+
+ static_libraries['xdg_user_dirs'] = {
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/tools/gn/BUILD.gn
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-06-10 22:18:26.863178931 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-06-10 22:18:30.168114045 +0200
+@@ -277,6 +277,7 @@
+
+ libs = [
+ "nspr4",
++ "icuuc",
+ ]
+ }
+
+diff -ur qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc
+--- qtwebengine-opensource-src-5.9.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2017-05-18 16:51:44.000000000 +0200
++++ qtwebengine-opensource-src-5.9.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2017-06-08 11:02:21.776777974 +0200
+@@ -5,13 +5,13 @@
+ #include "ui/gfx/utf16_indexing.h"
+
+ #include "base/logging.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+
+ namespace gfx {
+
+ bool IsValidCodePointIndex(const base::string16& s, size_t index) {
+ return index == 0 || index == s.length() ||
+- !(CBU16_IS_TRAIL(s[index]) && CBU16_IS_LEAD(s[index - 1]));
++ !(U16_IS_TRAIL(s[index]) && U16_IS_LEAD(s[index - 1]));
+ }
+
+ ptrdiff_t UTF16IndexToOffset(const base::string16& s, size_t base, size_t pos) {
diff --git a/debian/patches/system-nspr-prtime.patch b/debian/patches/system-nspr-prtime.patch
new file mode 100644
index 0000000..cc4f1b5
--- /dev/null
+++ b/debian/patches/system-nspr-prtime.patch
@@ -0,0 +1,75 @@
+--- a/src/3rdparty/chromium/base/BUILD.gn
++++ b/src/3rdparty/chromium/base/BUILD.gn
+@@ -49,6 +49,9 @@
+ "-Wno-char-subscripts",
+ ]
+ }
++ ldflags = [
++ "-lnspr4",
++ ]
+ }
+
+ config("base_implementation") {
+@@ -833,8 +836,6 @@
+ "third_party/dmg_fp/g_fmt.cc",
+ "third_party/icu/icu_utf.cc",
+ "third_party/icu/icu_utf.h",
+- "third_party/nspr/prtime.cc",
+- "third_party/nspr/prtime.h",
+ "third_party/superfasthash/superfasthash.c",
+ "threading/non_thread_safe.h",
+ "threading/non_thread_safe_impl.cc",
+--- a/src/3rdparty/chromium/base/time/pr_time_unittest.cc
++++ b/src/3rdparty/chromium/base/time/pr_time_unittest.cc
+@@ -7,7 +7,7 @@
+
+ #include "base/compiler_specific.h"
+ #include "base/macros.h"
+-#include "base/third_party/nspr/prtime.h"
++#include <nspr/prtime.h>
+ #include "base/time/time.h"
+ #include "build/build_config.h"
+ #include "testing/gtest/include/gtest/gtest.h"
+--- a/src/3rdparty/chromium/base/time/time.cc
++++ b/src/3rdparty/chromium/base/time/time.cc
+@@ -14,7 +14,7 @@
+ #include "base/logging.h"
+ #include "base/macros.h"
+ #include "base/strings/stringprintf.h"
+-#include "base/third_party/nspr/prtime.h"
++#include <nspr/prtime.h>
+ #include "build/build_config.h"
+
+ namespace base {
+--- a/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
++++ b/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
+@@ -473,7 +473,6 @@
+ 'base/third_party/dmg_fp/dtoa_wrapper.cc',
+ 'base/third_party/dmg_fp/g_fmt.cc',
+ 'base/third_party/icu/icu_utf.cc',
+- 'base/third_party/nspr/prtime.cc',
+ 'base/threading/non_thread_safe_impl.cc',
+ 'base/threading/post_task_and_reply_impl.cc',
+ 'base/threading/sequenced_task_runner_handle.cc',
+@@ -575,7 +574,7 @@
+ }
+
+ if is_linux:
+- libs.extend(['-lrt'])
++ libs.extend(['-lrt', '-lnspr4'])
+ ldflags.extend(['-pthread'])
+
+ static_libraries['xdg_user_dirs'] = {
+--- a/src/3rdparty/chromium/tools/gn/BUILD.gn
++++ b/src/3rdparty/chromium/tools/gn/BUILD.gn
+@@ -274,6 +274,10 @@
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
++
++ libs = [
++ "nspr4",
++ ]
+ }
+
+ test("gn_unittests") {
--
qtwebengine packaging
More information about the pkg-kde-commits
mailing list