summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Playfair Cal2020-05-31 14:38:44 +1000
committerDaniel Playfair Cal2020-05-31 14:38:44 +1000
commitb061a8e9319c7d592d6b1744bb5e02151e940b3c (patch)
tree0a5f631be2f730f4574fb2534e4955725df0e288
parent888699f69fc2089ea9d420b27c98829d33916339 (diff)
parentaa09cee0eec6ffdb731012c1249482422e098f97 (diff)
downloadaur-b061a8e9319c7d592d6b1744bb5e02151e940b3c.tar.gz
83.0.4103.61-1
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD32
-rw-r--r--chromium-widevine.patch13
-rw-r--r--v8-remove-soon-to-be-removed-getAllFieldPositions.patch172
4 files changed, 195 insertions, 40 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d5cdbba57429..08e73610a15f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 6a1c3cbc2448..92de3cae0fec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;