diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-11-28 20:40:51 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-11-28 20:40:51 +0000 |
commit | 9c417bacd51da6d8b57fa9f37425161d30d4b95b (patch) | |
tree | 47c9d6e4243f39a1f48afd54c969b65b00a5c649 /dev-qt/qtwebengine | |
parent | d934827bf44b7cfcf6711964418148fa60877668 (diff) |
gentoo resync : 28.11.2020
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r-- | dev-qt/qtwebengine/Manifest | 4 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68.patch | 302 | ||||
-rw-r--r-- | dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild | 171 |
3 files changed, 477 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 1ec2c5d4394e..342cdb894374 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1,6 +1,10 @@ AUX qtwebengine-5.15.0-disable-fatal-warnings.patch 414 BLAKE2B 531523ee8c85d6ac51637b3bfd4fbcd56476e1231103c0db62b7c27ace4d5e070becb97beb74526806101c138669adc81a00eefe319ff96582df4743ecabcef8 SHA512 4e3ae727f2738bcc011c9fdd27593d9689206573ff7f17a51fd78d3aa25d427b899af78c098c278f6e7ab4ce88bf415e7382a8a635dd880448a75e6756abc680 AUX qtwebengine-5.15.1-icu-68.patch 11095 BLAKE2B e493a91a340a18a485eae80e65e74086ec708b72cc8aea4dcb9deebd3722128c7c5e68a9eef7c405912112d6fc29e187df9c8b9a95c5ab0827dc21beba072c1e SHA512 2f3ea6491575faa9af290392ddb5e03687819c424556def82c70a7a4b7bb2e4e099293aab347790035bcf40391789caaea4af7db9cf6733f64f26fdba51288e4 +AUX qtwebengine-5.15.2-icu-68.patch 15373 BLAKE2B 3b7ef4b096f8a593e711c74c64a0a770c0a2bd0fc3af0a2bc4b28fd9999358b06affce062ececf0b0c6f5092a4f6cb243ecc3decd00eb3f69292ad6393bf1bca SHA512 159c1553702b505a1e59ff18b3ac0340c7e0534a98b45ef2a70ab645d10bbb569c47bccb9d5a58d0f413b86abf29f9706af0ff5800029617a0575d6a759edbc3 DIST qtwebengine-5.15.0-ppc64.tar.xz 48156 BLAKE2B 6901b04ca869e6980e7f624000dd292fad2b514d8b1853d2796a11fa0e1b1c3a80f284cc1e3c242133b6886bb56329430229645af1ad8cac927371e3941b9fab SHA512 c2613a8d889bb9d7184a65ab6127c8329a945386f23cb860219b8e161d0a43683fa66f69d8d1441f5920fa370fda7c4629865fa452be9ab8a8b1515e5f93504b +DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc DIST qtwebengine-everywhere-src-5.15.1.tar.xz 278488056 BLAKE2B f369e435510644b36a7305a1a2b907f09f533f995c0c1a367a801cb9f277f66914f4511f20926ed4c865e9e5ec921c12d4406191706d263320a861250cebb3a0 SHA512 651520fcf89681b06c57f1992223f06ecbe3750a88ffae7a94a339503957e09d327ee1ae7e4bce88bfb09131b3b9c9abfc44f7bccb9c50d286181eaf306991a4 +DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756 EBUILD qtwebengine-5.15.1.ebuild 4699 BLAKE2B e9f480e98756f802987a7befeb2aafa0651416786586f6d6f4cf130e5bf02e3df894db02d599b86f5bd5aec55262632ec9873c59bd4e7977b441bec44c6a7ef0 SHA512 0ee21b4ca87663c14a7e1f3804c972a0374de3089df265235bad839bec234d476c102173bfb1889f2acf21d49407c5eb47e8fe3c15d7b7558a850490fc4261df +EBUILD qtwebengine-5.15.2.ebuild 5227 BLAKE2B 94cf7fe699a1fcc61b29379574318635e06ec86b15884addfd86e6a583432caa48b4a0695316e93201b0e4441249f9ec87f227595efe3546afbed817de5291fb SHA512 76afdc713f3835e0336fb79ffbbf9dd98f73ee11dfab9d0c219a835f864a0e40337fea49db307cf69d81ca20cc22ae5b2f0e4168582919de69abf69b0d07a627 MISC metadata.xml 1269 BLAKE2B f95392929bcecbce9334108e3446d631e2a91d1aceb0fa6347496d2d0eeaff8cff55e08b7c3bb39fb8b51667988a6cc2b8e500143f2ebe0d78e6985a6f7af3c1 SHA512 7949854cf55f26750ded6787ce295762af7fd16600f8b251b25e1c9dd4d643338ed4c3b2a8a3405a2c427ed8b5a9ad13a8566a640161768d4dbf6db7e54811a3 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68.patch new file mode 100644 index 000000000000..4b31703090fe --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68.patch @@ -0,0 +1,302 @@ +From 9236b21c883360482bd2c06929bfdecbc47f186c Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Mon, 16 Nov 2020 13:16:13 +0100 +Subject: Fix build with system ICU 68 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: QTBUG-88116 +Change-Id: I935babf51c2670fad7cc7950a2fe07eb2829c4cb +Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> +--- + chromium/base/i18n/string_compare.cc | 4 ++-- + chromium/base/i18n/time_formatting.cc | 2 +- + .../components/autofill/core/common/autofill_regexes.cc | 8 ++++---- + .../spellcheck/renderer/spellcheck_worditerator.cc | 2 +- + .../url_formatter/spoof_checks/idn_spoof_checker.cc | 4 ++-- + .../url_formatter/spoof_checks/skeleton_generator.cc | 2 +- + chromium/services/service_manager/zygote/zygote_linux.cc | 2 +- + .../blink/renderer/platform/text/locale_icu.cc | 4 ++-- + .../renderer/platform/text/text_break_iterator_icu.cc | 16 ++++++++-------- + .../blink/renderer/platform/text/unicode_utilities.cc | 2 +- + .../blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +- + chromium/ui/base/l10n/formatter.cc | 6 +++--- + 12 files changed, 27 insertions(+), 27 deletions(-) + +diff --git a/chromium/base/i18n/string_compare.cc b/chromium/base/i18n/string_compare.cc +index 6cd59b98f49..a5fa502b53f 100644 +--- a/src/3rdparty/chromium/base/i18n/string_compare.cc ++++ b/src/3rdparty/chromium/base/i18n/string_compare.cc +@@ -18,8 +18,8 @@ UCollationResult CompareString16WithCollator(const icu::Collator& collator, + StringPiece16 rhs) { + UErrorCode error = U_ZERO_ERROR; + UCollationResult result = collator.compare( +- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())), +- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())), ++ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())), ++ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())), + error); + DCHECK(U_SUCCESS(error)); + return result; +diff --git a/chromium/base/i18n/time_formatting.cc b/chromium/base/i18n/time_formatting.cc +index 1a6c1389ba0..106dd0e5b47 100644 +--- a/src/3rdparty/chromium/base/i18n/time_formatting.cc ++++ b/src/3rdparty/chromium/base/i18n/time_formatting.cc +@@ -236,7 +236,7 @@ bool TimeDurationFormatWithSeconds(const TimeDelta time, + icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE); + measure_format.formatMeasures(measures, 3, formatted, ignore, status); + *out = i18n::UnicodeStringToString16(formatted); +- return U_SUCCESS(status) == TRUE; ++ return U_SUCCESS(status) == true; + } + + string16 DateIntervalFormat(const Time& begin_time, +diff --git a/chromium/components/autofill/core/common/autofill_regexes.cc b/chromium/components/autofill/core/common/autofill_regexes.cc +index b141cb2d0f6..a8a688d50c7 100644 +--- a/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc ++++ b/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc +@@ -43,7 +43,7 @@ class AutofillRegexes { + icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) { + auto it = matchers_.find(pattern); + if (it == matchers_.end()) { +- const icu::UnicodeString icu_pattern(FALSE, pattern.data(), ++ const icu::UnicodeString icu_pattern(false, pattern.data(), + pattern.length()); + + UErrorCode status = U_ZERO_ERROR; +@@ -70,20 +70,20 @@ bool MatchesPattern(const base::string16& input, + base::AutoLock lock(*g_lock); + + icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern); +- icu::UnicodeString icu_input(FALSE, input.data(), input.length()); ++ icu::UnicodeString icu_input(false, input.data(), input.length()); + matcher->reset(icu_input); + + UErrorCode status = U_ZERO_ERROR; + UBool matched = matcher->find(0, status); + DCHECK(U_SUCCESS(status)); + +- if (matched == TRUE && match) { ++ if (matched == true && match) { + icu::UnicodeString match_unicode = matcher->group(0, status); + DCHECK(U_SUCCESS(status)); + *match = base::i18n::UnicodeStringToString16(match_unicode); + } + +- return matched == TRUE; ++ return matched == true; + } + + } // namespace autofill +diff --git a/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc b/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc +index 8fe8a6df381..e3a65580c08 100644 +--- a/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc ++++ b/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc +@@ -424,7 +424,7 @@ bool SpellcheckWordIterator::Normalize(size_t input_start, + // spellchecker and we need manual normalization as well. The normalized + // text does not have to be NUL-terminated since its characters are copied to + // string16, which adds a NUL character when we need. +- icu::UnicodeString input(FALSE, &text_[input_start], ++ icu::UnicodeString input(false, &text_[input_start], + base::checked_cast<int32_t>(input_length)); + UErrorCode status = U_ZERO_ERROR; + icu::UnicodeString output; +diff --git a/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc b/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc +index 1964793fd3e..c4e01026c38 100644 +--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc ++++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc +@@ -347,7 +347,7 @@ bool IDNSpoofChecker::SafeToDisplayAsUnicode( + if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS)) + return false; + +- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(), ++ icu::UnicodeString label_string(false /* isTerminated */, label.data(), + base::checked_cast<int32_t>(label.size())); + + // A punycode label with 'xn--' prefix is not subject to the URL +@@ -677,7 +677,7 @@ bool IDNSpoofChecker::IsWholeScriptConfusableAllowedForTLD( + base::StringPiece tld, + base::StringPiece16 tld_unicode) { + icu::UnicodeString tld_string( +- FALSE /* isTerminated */, tld_unicode.data(), ++ false /* isTerminated */, tld_unicode.data(), + base::checked_cast<int32_t>(tld_unicode.size())); + // Allow if the TLD contains any letter from the script, in which case it's + // likely to be a TLD in that script. +diff --git a/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc b/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc +index 41485914007..b8c1c2f547a 100644 +--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc ++++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc +@@ -117,7 +117,7 @@ SkeletonGenerator::~SkeletonGenerator() = default; + Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) { + Skeletons skeletons; + size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 : 0); +- icu::UnicodeString host(FALSE, hostname.data(), hostname_length); ++ icu::UnicodeString host(false, hostname.data(), hostname_length); + // If input has any characters outside Latin-Greek-Cyrillic and [0-9._-], + // there is no point in getting rid of diacritics because combining marks + // attached to non-LGC characters are already blocked. +diff --git a/chromium/services/service_manager/zygote/zygote_linux.cc b/chromium/services/service_manager/zygote/zygote_linux.cc +index aa601ab28d7..920438e5b50 100644 +--- a/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc ++++ b/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc +@@ -564,7 +564,7 @@ base::ProcessId Zygote::ReadArgsAndFork(base::PickleIterator iter, + if (!iter.ReadString16(&timezone_id)) + return -1; + icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone( +- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length()))); ++ icu::UnicodeString(false, timezone_id.data(), timezone_id.length()))); + + if (!iter.ReadInt(&numfds)) + return -1; +diff --git a/chromium/third_party/blink/renderer/platform/text/locale_icu.cc b/chromium/third_party/blink/renderer/platform/text/locale_icu.cc +index abff1b1d809..57f1286d4e4 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc +@@ -169,12 +169,12 @@ static String GetDateFormatPattern(const UDateFormat* date_format) { + return g_empty_string; + + UErrorCode status = U_ZERO_ERROR; +- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status); ++ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status); + if (status != U_BUFFER_OVERFLOW_ERROR || !length) + return g_empty_string; + StringBuffer<UChar> buffer(length); + status = U_ZERO_ERROR; +- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status); ++ udat_toPattern(date_format, true, buffer.Characters(), length, &status); + if (U_FAILURE(status)) + return g_empty_string; + return String::Adopt(buffer); +diff --git a/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc b/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc +index a257cd75ccf..898d0c47bb1 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc +@@ -311,13 +311,13 @@ static inline bool TextInChunkOrOutOfRange(UText* text, + text->chunkOffset = offset <= std::numeric_limits<int32_t>::max() + ? static_cast<int32_t>(offset) + : 0; +- is_accessible = TRUE; ++ is_accessible = true; + return true; + } + if (native_index >= native_length && + text->chunkNativeLimit == native_length) { + text->chunkOffset = text->chunkLength; +- is_accessible = FALSE; ++ is_accessible = false; + return true; + } + } else { +@@ -330,12 +330,12 @@ static inline bool TextInChunkOrOutOfRange(UText* text, + text->chunkOffset = offset <= std::numeric_limits<int32_t>::max() + ? static_cast<int32_t>(offset) + : 0; +- is_accessible = TRUE; ++ is_accessible = true; + return true; + } + if (native_index <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- is_accessible = FALSE; ++ is_accessible = false; + return true; + } + } +@@ -346,7 +346,7 @@ static UBool TextLatin1Access(UText* text, + int64_t native_index, + UBool forward) { + if (!text->context) +- return FALSE; ++ return false; + int64_t native_length = TextNativeLength(text); + UBool is_accessible; + if (TextInChunkOrOutOfRange(text, native_index, native_length, forward, +@@ -370,7 +370,7 @@ static UBool TextLatin1Access(UText* text, + DCHECK_EQ(new_context, kPriorContext); + TextLatin1SwitchToPriorContext(text, native_index, native_length, forward); + } +- return TRUE; ++ return true; + } + + static const struct UTextFuncs kTextLatin1Funcs = { +@@ -510,7 +510,7 @@ static void TextUTF16SwitchToPriorContext(UText* text, + + static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) { + if (!text->context) +- return FALSE; ++ return false; + int64_t native_length = TextNativeLength(text); + UBool is_accessible; + if (TextInChunkOrOutOfRange(text, native_index, native_length, forward, +@@ -532,7 +532,7 @@ static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) { + DCHECK_EQ(new_context, kPriorContext); + TextUTF16SwitchToPriorContext(text, native_index, native_length, forward); + } +- return TRUE; ++ return true; + } + + static const struct UTextFuncs kTextUTF16Funcs = { +diff --git a/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc b/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc +index 2cefd5390b6..b8c4515dc13 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc +@@ -300,7 +300,7 @@ void NormalizeCharactersIntoNFCForm(const UChar* characters, + DCHECK(U_SUCCESS(status)); + int32_t input_length = static_cast<int32_t>(length); + // copy-on-write. +- icu::UnicodeString normalized(FALSE, characters, input_length); ++ icu::UnicodeString normalized(false, characters, input_length); + // In the vast majority of cases, input is already NFC. Run a quick check + // to avoid normalizing the entire input unnecessarily. + int32_t normalized_prefix_length = +diff --git a/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +index 810d1cd9181..9074b640fff 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +@@ -326,7 +326,7 @@ void TextCodecICU::CreateICUConverter() const { + DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING) + << "ICU ambiguous alias warning for encoding: " << encoding_.GetName(); + if (converter_icu_) +- ucnv_setFallback(converter_icu_, TRUE); ++ ucnv_setFallback(converter_icu_, true); + } + + int TextCodecICU::DecodeToBuffer(UChar* target, +diff --git a/chromium/ui/base/l10n/formatter.cc b/chromium/ui/base/l10n/formatter.cc +index 486a3a029cb..d7a41724628 100644 +--- a/src/3rdparty/chromium/ui/base/l10n/formatter.cc ++++ b/src/3rdparty/chromium/ui/base/l10n/formatter.cc +@@ -232,7 +232,7 @@ void Formatter::Format(Unit unit, + int value, + icu::UnicodeString* formatted_string) const { + DCHECK(simple_format_[unit]); +- DCHECK(formatted_string->isEmpty() == TRUE); ++ DCHECK(formatted_string->isEmpty() == true); + UErrorCode error = U_ZERO_ERROR; + FormatNumberInPlural(*simple_format_[unit], + value, formatted_string, &error); +@@ -248,7 +248,7 @@ void Formatter::Format(TwoUnits units, + << "Detailed() not implemented for your (format, length) combination!"; + DCHECK(detailed_format_[units][1]) + << "Detailed() not implemented for your (format, length) combination!"; +- DCHECK(formatted_string->isEmpty() == TRUE); ++ DCHECK(formatted_string->isEmpty() == true); + UErrorCode error = U_ZERO_ERROR; + FormatNumberInPlural(*detailed_format_[units][0], value_1, + formatted_string, &error); +@@ -281,7 +281,7 @@ std::unique_ptr<icu::MessageFormat> Formatter::InitFormat( + base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id); + UErrorCode error = U_ZERO_ERROR; + std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat( +- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error)); ++ icu::UnicodeString(false, pattern.data(), pattern.length()), error)); + DCHECK(U_SUCCESS(error)); + if (format.get()) + return format; +-- +cgit v1.2.1 + diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild new file mode 100644 index 000000000000..ae2669805a14 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) +inherit multiprocessing python-any-r1 qt5-build + +DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications" + +# patchset based on https://github.com/chromium-ppc64le releases +SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +IUSE="alsa bindist designer geolocation kerberos pulseaudio +system-ffmpeg +system-icu widgets" +REQUIRED_USE="designer? ( widgets )" + +RDEPEND=" + app-arch/snappy:= + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtcore-${PV} + ~dev-qt/qtdeclarative-${PV} + ~dev-qt/qtgui-${PV} + ~dev-qt/qtnetwork-${PV} + ~dev-qt/qtprintsupport-${PV} + ~dev-qt/qtwebchannel-${PV}[qml] + dev-libs/expat + dev-libs/libevent:= + dev-libs/libxml2[icu] + dev-libs/libxslt + dev-libs/re2:= + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:0= + >=media-libs/libvpx-1.5:=[svc(+)] + media-libs/libwebp:= + media-libs/mesa[egl,X(+)] + media-libs/opus + sys-apps/dbus + sys-apps/pciutils + sys-libs/zlib[minizip] + virtual/libudev + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXScrnSaver + x11-libs/libXtst + alsa? ( media-libs/alsa-lib ) + designer? ( ~dev-qt/designer-${PV} ) + geolocation? ( ~dev-qt/qtpositioning-${PV} ) + kerberos? ( virtual/krb5 ) + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( media-video/ffmpeg:0= ) + system-icu? ( >=dev-libs/icu-60.2:= ) + widgets? ( + ~dev-qt/qtdeclarative-${PV}[widgets] + ~dev-qt/qtwidgets-${PV} + ) +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=app-arch/gzip-1.7 + dev-util/gperf + dev-util/ninja + dev-util/re2c + sys-devel/bison +" + +PATCHES=( + "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446 + "${FILESDIR}/${P}-icu-68.patch" # bug 751997, QTBUG-88116 +) + +src_prepare() { + # QTBUG-88657 - jumbo-build is broken + #if ! use jumbo-build; then + sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \ + src/buildtools/config/common.pri || die + #fi + + # bug 630834 - pass appropriate options to ninja when building GN + sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \ + -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + + # bug 620444 - ensure local headers are used + find "${S}" -type f -name "*.pr[fio]" | \ + xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die + + if use system-icu; then + # Sanity check to ensure that bundled copy of ICU is not used. + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. + local file + while read file; do + echo "#error This file should not be used!" > "${file}" || die + done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null) + fi + + qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri + qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri + + qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro + + qt_use_disable_mod widgets widgets src/src.pro + + qt5-build_src_prepare + + # we need to generate ppc64 stuff because upstream does not ship it yet + if use ppc64; then + einfo "Patching for ppc64le and generating build files" + eapply "${WORKDIR}/${PN}-ppc64" + pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die + mkdir -vp source/config/linux/ppc64 || die + mkdir -p source/libvpx/test || die + touch source/libvpx/test/test.mk || die + # generate_gni.sh runs git at the end of process, prevent it. + git() { : ; } + export -f git + ./generate_gni.sh || die + unset git + popd >/dev/null || die + fi +} + +src_configure() { + export NINJA_PATH=/usr/bin/ninja + export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}" + + local myqmakeargs=( + -- + -no-build-qtpdf + -printing-and-pdf + -system-opus + -system-webp + $(usex alsa '-alsa' '-no-alsa') + $(usex bindist '-no-proprietary-codecs' '-proprietary-codecs') + $(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation') + $(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos') + $(usex pulseaudio '-pulseaudio' '-no-pulseaudio') + $(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg') + $(usex system-icu '-webengine-icu' '-no-webengine-icu') + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + + # bug 601472 + if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + fi +} |