diff options
author | Daniel Playfair Cal | 2020-05-31 14:38:44 +1000 |
---|---|---|
committer | Daniel Playfair Cal | 2020-05-31 14:38:44 +1000 |
commit | b061a8e9319c7d592d6b1744bb5e02151e940b3c (patch) | |
tree | 0a5f631be2f730f4574fb2534e4955725df0e288 | |
parent | 888699f69fc2089ea9d420b27c98829d33916339 (diff) | |
parent | aa09cee0eec6ffdb731012c1249482422e098f97 (diff) | |
download | aur-b061a8e9319c7d592d6b1744bb5e02151e940b3c.tar.gz |
83.0.4103.61-1
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 32 | ||||
-rw-r--r-- | chromium-widevine.patch | 13 | ||||
-rw-r--r-- | v8-remove-soon-to-be-removed-getAllFieldPositions.patch | 172 |
4 files changed, 195 insertions, 40 deletions
@@ -1,6 +1,6 @@ pkgbase = chromium-beta-ozone pkgdesc = Chromium built with patches for wayland support via Ozone (beta channel) - pkgver = 83.0.4103.44 + pkgver = 83.0.4103.61 pkgrel = 1 url = https://www.chromium.org/Home install = chromium.install @@ -17,7 +17,7 @@ pkgbase = chromium-beta-ozone makedepends = libpipewire02 makedepends = clang makedepends = lld - makedepends = gn-git + makedepends = gn makedepends = java-runtime-headless makedepends = python2-setuptools depends = gtk3 @@ -35,11 +35,13 @@ pkgbase = chromium-beta-ozone depends = json-glib depends = desktop-file-utils depends = hicolor-icon-theme + depends = icu depends = libxml2 depends = fontconfig + depends = harfbuzz depends = libvpx + depends = libjpeg depends = snappy - depends = ffmpeg depends = flac depends = libwebp depends = minizip @@ -53,15 +55,13 @@ pkgbase = chromium-beta-ozone optdepends = kwallet: for storing passwords in KWallet on KDE desktops provides = chromium conflicts = chromium - options = debug - options = !strip - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-83.0.4103.44.tar.xz + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-83.0.4103.61.tar.xz source = chromium-launcher-6.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v6.tar.gz - source = chromium-widevine.patch + source = v8-remove-soon-to-be-removed-getAllFieldPositions.patch source = chromium-skia-harmony.patch - sha256sums = 66db5e559db6d17db4427dfcb3a54b9707e8e6a8a72941c6c15f97ba654d6b50 + sha256sums = 4961f20c4ee6a94490e823f1b1c4128147068f1ce9cfc509e81815f2101405bc sha256sums = 04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1 - sha256sums = 709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070 + sha256sums = e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2 sha256sums = 771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1 pkgname = chromium-beta-ozone @@ -5,13 +5,12 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=chromium-beta-ozone -pkgver=83.0.4103.44 +pkgver=83.0.4103.61 pkgrel=1 _launcher_ver=6 pkgdesc="Chromium built with patches for wayland support via Ozone (beta channel)" arch=('x86_64') url="https://www.chromium.org/Home" -options=(debug !strip) license=('BSD') depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' 'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' @@ -19,7 +18,7 @@ depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' provides=('chromium') conflicts=('chromium') makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' - 'libpipewire02' 'clang' 'lld' 'gn-git' 'java-runtime-headless' + 'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless' 'python2-setuptools') optdepends=('pepper-flash: support for Flash content' 'libpipewire02: WebRTC desktop sharing under Wayland' @@ -29,38 +28,37 @@ optdepends=('pepper-flash: support for Flash content' install=chromium.install source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz - chromium-widevine.patch + v8-remove-soon-to-be-removed-getAllFieldPositions.patch chromium-skia-harmony.patch) -sha256sums=('66db5e559db6d17db4427dfcb3a54b9707e8e6a8a72941c6c15f97ba654d6b50' +sha256sums=('4961f20c4ee6a94490e823f1b1c4128147068f1ce9cfc509e81815f2101405bc' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - '709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070' + 'e042024423027ad3ef729a7e4709bdf9714aea49d64cfbbf46a645a05703abc2' '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1') # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py # Keys are the names in the above script; values are the dependencies in Arch declare -gA _system_libs=( - [ffmpeg]=ffmpeg + # [ffmpeg]=ffmpeg # broken with recent ffmpeg git [flac]=flac [fontconfig]=fontconfig [freetype]=freetype2 - #[harfbuzz-ng]=harfbuzz - #[icu]=icu + [harfbuzz-ng]=harfbuzz + [icu]=icu [libdrm]= - #[libjpeg]=libjpeg + [libjpeg]=libjpeg #[libpng]=libpng # https://crbug.com/752403#c10 [libvpx]=libvpx [libwebp]=libwebp [libxml]=libxml2 [libxslt]=libxslt [opus]=opus - #[re2]=re2 # Not possible with custom libcxx + # [re2]=re2 # Not possible with custom libcxx [snappy]=snappy [yasm]= [zlib]=minizip ) _unwanted_bundled_libs=( - ${!_system_libs[@]} - ${libjpeg_turbo} + $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/') ) depends+=(${_system_libs[@]}) @@ -92,9 +90,8 @@ prepare() { third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ third_party/libxml/chromium/*.cc - # Load bundled Widevine CDM if available (see chromium-widevine in the AUR) - # M79 is supposed to download it as a component but it doesn't seem to work - patch -Np1 -i ../chromium-widevine.patch + # https://crbug.com/v8/10393 + patch -Np1 -d v8 <../v8-remove-soon-to-be-removed-getAllFieldPositions.patch # https://crbug.com/skia/6663#c10 patch -Np0 -i ../chromium-skia-harmony.patch @@ -119,6 +116,7 @@ prepare() { find "third_party/$_lib" -type f \ \! -path "third_party/$_lib/chromium/*" \ \! -path "third_party/$_lib/google/*" \ + \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ \! -path 'third_party/yasm/run_yasm.py' \ \! -regex '.*\.\(gn\|gni\|isolate\)' \ -delete @@ -155,7 +153,6 @@ build() { 'use_glib=true' 'use_system_libwayland=true' 'use_vaapi=false' - 'use_jumbo_build=false' 'enable_nacl=false' 'enable_swiftshader=false' "google_api_key=\"${_google_api_key}\"" @@ -192,7 +189,6 @@ package() { cd "$srcdir/chromium-$pkgver" install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" - install -D out/Release/crashpad_handler "$pkgdir/usr/lib/chromium/crashpad_handler" install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver" diff --git a/chromium-widevine.patch b/chromium-widevine.patch deleted file mode 100644 index 32f0ae2fb5e6..000000000000 --- a/chromium-widevine.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn -index ed0e2f5208b..5b431a030d5 100644 ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -14,7 +14,7 @@ buildflag_header("buildflags") { - - flags = [ - "ENABLE_WIDEVINE=$enable_widevine", -- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", -+ "BUNDLE_WIDEVINE_CDM=true", - "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", - ] - } diff --git a/v8-remove-soon-to-be-removed-getAllFieldPositions.patch b/v8-remove-soon-to-be-removed-getAllFieldPositions.patch new file mode 100644 index 000000000000..41d1aced2607 --- /dev/null +++ b/v8-remove-soon-to-be-removed-getAllFieldPositions.patch @@ -0,0 +1,172 @@ +From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001 +From: Frank Tang <ftang@chromium.org> +Date: Fri, 3 Apr 2020 23:13:54 -0700 +Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions + +Needed to land ICU67.1 soon. + +Bug: v8:10393 +Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 +Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> +Commit-Queue: Frank Tang <ftang@chromium.org> +Cr-Commit-Position: refs/heads/master@{#67027} +--- + src/objects/js-number-format.cc | 77 +++++++++++++++++---------------- + 1 file changed, 39 insertions(+), 38 deletions(-) + +diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc +index ad831c5c36..bcd44031d5 100644 +--- a/src/objects/js-number-format.cc ++++ b/src/objects/js-number-format.cc +@@ -1241,44 +1241,33 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate, + } + + namespace { +-Maybe<icu::UnicodeString> IcuFormatNumber( ++Maybe<bool> IcuFormatNumber( + Isolate* isolate, + const icu::number::LocalizedNumberFormatter& number_format, +- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) { ++ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) { + // If it is BigInt, handle it differently. + UErrorCode status = U_ZERO_ERROR; +- icu::number::FormattedNumber formatted; + if (numeric_obj->IsBigInt()) { + Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj); + Handle<String> big_int_string; + ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, + BigInt::ToString(isolate, big_int), +- Nothing<icu::UnicodeString>()); +- formatted = number_format.formatDecimal( ++ Nothing<bool>()); ++ *formatted = number_format.formatDecimal( + {big_int_string->ToCString().get(), big_int_string->length()}, status); + } else { + double number = numeric_obj->IsNaN() + ? std::numeric_limits<double>::quiet_NaN() + : numeric_obj->Number(); +- formatted = number_format.formatDouble(number, status); ++ *formatted = number_format.formatDouble(number, status); + } + if (U_FAILURE(status)) { + // This happen because of icu data trimming trim out "unit". + // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing<icu::UnicodeString>()); +- } +- if (fp_iter) { +- formatted.getAllFieldPositions(*fp_iter, status); +- } +- icu::UnicodeString result = formatted.toString(status); +- if (U_FAILURE(status)) { +- THROW_NEW_ERROR_RETURN_VALUE(isolate, +- NewTypeError(MessageTemplate::kIcuError), +- Nothing<icu::UnicodeString>()); ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>()); + } +- return Just(result); ++ return Just(true); + } + + } // namespace +@@ -1289,10 +1278,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric( + Handle<Object> numeric_obj) { + DCHECK(numeric_obj->IsNumeric()); + +- Maybe<icu::UnicodeString> maybe_format = +- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); ++ icu::number::FormattedNumber formatted; ++ Maybe<bool> maybe_format = ++ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle<String>()); +- return Intl::ToString(isolate, maybe_format.FromJust()); ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString result = formatted.toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); ++ } ++ return Intl::ToString(isolate, result); + } + + namespace { +@@ -1405,12 +1400,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts( + } + + namespace { +-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, +- icu::FieldPositionIterator* fp_iter, ++Maybe<int> ConstructParts(Isolate* isolate, ++ icu::number::FormattedNumber* formatted, + Handle<JSArray> result, int start_index, + Handle<Object> numeric_obj, bool style_is_unit) { ++ UErrorCode status = U_ZERO_ERROR; ++ icu::UnicodeString formatted_text = formatted->toString(status); ++ if (U_FAILURE(status)) { ++ THROW_NEW_ERROR_RETURN_VALUE( ++ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>()); ++ } + DCHECK(numeric_obj->IsNumeric()); +- int32_t length = formatted.length(); ++ int32_t length = formatted_text.length(); + int index = start_index; + if (length == 0) return Just(index); + +@@ -1419,13 +1420,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + // other region covers some part of the formatted string. It's possible + // there's another field with exactly the same begin and end as this backdrop, + // in which case the backdrop's field_id of -1 will give it lower priority. +- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); ++ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); + + { +- icu::FieldPosition fp; +- while (fp_iter->next(fp)) { +- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), +- fp.getEndIndex())); ++ icu::ConstrainedFieldPosition cfp; ++ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); ++ while (formatted->nextPosition(cfp, status)) { ++ regions.push_back( ++ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); + } + } + +@@ -1447,7 +1449,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, + Handle<String> substring; + ASSIGN_RETURN_ON_EXCEPTION_VALUE( + isolate, substring, +- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), ++ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), + Nothing<int>()); + Intl::AddElement(isolate, result, index, field_type_string, substring); + ++index; +@@ -1467,20 +1469,19 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts( + number_format->icu_number_formatter().raw(); + CHECK_NOT_NULL(fmt); + +- icu::FieldPositionIterator fp_iter; +- Maybe<icu::UnicodeString> maybe_format = +- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); ++ icu::number::FormattedNumber formatted; ++ Maybe<bool> maybe_format = ++ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); + MAYBE_RETURN(maybe_format, Handle<JSArray>()); +- + UErrorCode status = U_ZERO_ERROR; ++ + bool style_is_unit = + Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status)); + CHECK(U_SUCCESS(status)); + + Handle<JSArray> result = factory->NewJSArray(0); +- Maybe<int> maybe_format_to_parts = +- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, +- numeric_obj, style_is_unit); ++ Maybe<int> maybe_format_to_parts = ConstructParts( ++ isolate, &formatted, result, 0, numeric_obj, style_is_unit); + MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>()); + + return result; |