From 37bcd8a2357a6948aa4d788f6babe299e072c735 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sun, 10 Jan 2021 10:53:59 +0100 Subject: dev-qt: Security cleanup Bug: https://bugs.gentoo.org/754852 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Andreas Sturmlechner --- dev-qt/qtwebengine/Manifest | 2 - .../files/qtwebengine-5.15.1-icu-68.patch | 260 --------------------- dev-qt/qtwebengine/metadata.xml | 1 - dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild | 158 ------------- 4 files changed, 421 deletions(-) delete mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch delete mode 100644 dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild (limited to 'dev-qt/qtwebengine') diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 0beead995ee0..a509a377cd2b 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1,4 +1,2 @@ -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 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch deleted file mode 100644 index dbabd29d5b1b..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch +++ /dev/null @@ -1,260 +0,0 @@ -From 202158edd4643f11deaa79b6d88fed9bcdf47256 Mon Sep 17 00:00:00 2001 -From: Jimi Huotari -Date: Tue, 3 Nov 2020 01:10:53 +0200 -Subject: [PATCH] Fix compilation with system ICU 68 - -Public header files no longer define/use the macros FALSE and TRUE. - -- https://github.com/unicode-org/icu/commit/a18df7ba -- http://site.icu-project.org/download/68 -- https://bugs.gentoo.org/751997 - -Thanks to: Lars Wendler - ---- a/src/3rdparty/chromium/base/i18n/string_compare.cc -+++ b/src/3rdparty/chromium/base/i18n/string_compare.cc -@@ -18,8 +18,8 @@ - StringPiece16 rhs) { - UErrorCode error = U_ZERO_ERROR; - UCollationResult result = collator.compare( -- icu::UnicodeString(FALSE, lhs.data(), static_cast(lhs.length())), -- icu::UnicodeString(FALSE, rhs.data(), static_cast(rhs.length())), -+ icu::UnicodeString(false, lhs.data(), static_cast(lhs.length())), -+ icu::UnicodeString(false, rhs.data(), static_cast(rhs.length())), - error); - DCHECK(U_SUCCESS(error)); - return result; ---- a/src/3rdparty/chromium/base/i18n/time_formatting.cc -+++ b/src/3rdparty/chromium/base/i18n/time_formatting.cc -@@ -236,7 +236,7 @@ - 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, ---- 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 @@ - 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 @@ - 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 ---- a/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc -+++ b/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc -@@ -424,7 +424,7 @@ - // 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(input_length)); - UErrorCode status = U_ZERO_ERROR; - icu::UnicodeString output; ---- 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 -@@ -315,7 +315,7 @@ - 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(label.size())); - - // A punycode label with 'xn--' prefix is not subject to the URL -@@ -491,7 +491,7 @@ - Skeletons IDNSpoofChecker::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. -@@ -690,7 +690,7 @@ - base::StringPiece tld, - base::StringPiece16 tld_unicode) const { - icu::UnicodeString tld_string( -- FALSE /* isTerminated */, tld_unicode.data(), -+ false /* isTerminated */, tld_unicode.data(), - base::checked_cast(tld_unicode.size())); - if (cyrillic_letters_.containsSome(tld_string)) { - return true; ---- 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 @@ - 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; ---- 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 -@@ -168,12 +168,12 @@ - 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 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); ---- 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 @@ - text->chunkOffset = offset <= std::numeric_limits::max() - ? static_cast(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 @@ - text->chunkOffset = offset <= std::numeric_limits::max() - ? static_cast(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 @@ - 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 @@ - 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 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 @@ - DCHECK_EQ(new_context, kPriorContext); - TextUTF16SwitchToPriorContext(text, native_index, native_length, forward); - } -- return TRUE; -+ return true; - } - - static const struct UTextFuncs kTextUTF16Funcs = { ---- 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 @@ - DCHECK(U_SUCCESS(status)); - int32_t input_length = static_cast(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 = ---- 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 @@ - 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, ---- a/src/3rdparty/chromium/ui/base/l10n/formatter.cc -+++ b/src/3rdparty/chromium/ui/base/l10n/formatter.cc -@@ -232,7 +232,7 @@ - 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 @@ - << "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 @@ - base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id); - UErrorCode error = U_ZERO_ERROR; - std::unique_ptr 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; diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml index ea633503ac72..4c0b395c7e06 100644 --- a/dev-qt/qtwebengine/metadata.xml +++ b/dev-qt/qtwebengine/metadata.xml @@ -15,7 +15,6 @@ dev-qt/designer forms that display web pages. Enable physical position determination via dev-qt/qtpositioning - Combine source files to speed up build process. Use the system-wide media-video/ffmpeg instead of bundled. Use the system-wide dev-libs/icu diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild deleted file mode 100644 index bb6ba8d69f0a..000000000000 --- a/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# 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.0-ppc64.tar.xz )" - -if [[ ${QT5_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64 ~arm arm64 ~ppc64 x86" -fi - -IUSE="alsa bindist designer geolocation jumbo-build 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 -) - -src_prepare() { - if use ppc64; then - eapply "${WORKDIR}/${PN}-ppc64" - fi - - 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 -} - -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 -} -- cgit v1.2.3-65-gdbad