extra/chromium to 87.0.4280.88-1

This commit is contained in:
Kevin Mihelich 2020-12-03 04:25:02 +00:00
parent f3850b25bb
commit 8da126f4ef
4 changed files with 107 additions and 40 deletions

View file

@ -15,7 +15,7 @@ buildarch=12
highmem=1
pkgname=chromium
pkgver=87.0.4280.66
pkgver=87.0.4280.88
pkgrel=1
_launcher_ver=6
_gcc_patchset=9
@ -34,17 +34,16 @@ optdepends=('libpipewire02: WebRTC desktop sharing under Wayland'
'kdialog: needed for file dialogs in KDE'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: for storing passwords in KWallet on KDE desktops')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
chromium-skia-harmony.patch
subpixel-anti-aliasing-in-FreeType-2.8.1.patch
0001-crashpad-include-limits.patch
chromium-81.0.4044.122-Fix-sandbox-Aw-snap-for-syscalls-403-and-407.patch)
sha256sums=('29a8e4ea82edec2fdcf34ece68323bec7ab90f3d5669e6b77f58cff9c278f741'
sha256sums=('3e4645328735ef60db78d1a313efb3770a3edeaede90d076414df52f567a09c0'
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
'c99934bcd2f3ae8ea9620f5f59a94338b2cf739647f04c28c8a551d9083fa7e9'
'771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1'
'1e2913e21c491d546e05f9b4edf5a6c7a22d89ed0b36ef692ca6272bcd5faec6'
'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10'
'4837f797a910795bf3161805a3302d5f3701573ca90da8af32b2f4aa62510d20')
@ -106,14 +105,12 @@ prepare() {
third_party/libxml/chromium/*.cc
# Upstream fixes
patch -Np1 -d third_party/skia <../subpixel-anti-aliasing-in-FreeType-2.8.1.patch
# Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../patches/chromium-87-ServiceWorkerContainerHost-crash.patch
patch -Np1 -i ../patches/chromium-87-openscreen-include.patch
# https://crbug.com/skia/6663#c10
patch -Np0 -i ../chromium-skia-harmony.patch
# Force script incompatible with Python 3 to use /usr/bin/python2
sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
@ -197,7 +194,7 @@ build() {
CFLAGS+=' -Wno-unknown-warning-option'
CXXFLAGS+=' -Wno-unknown-warning-option'
gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
gn gen out/Release --args="${_flags[*]}" --script-executable=python2
ninja -C out/Release chrome chrome_sandbox chromedriver
}

View file

@ -1,14 +0,0 @@
--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000
+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000
@@ -128,9 +128,9 @@ public:
: fGetVarDesignCoordinates(nullptr)
, fGetVarAxisFlags(nullptr)
, fLibrary(nullptr)
- , fIsLCDSupported(false)
+ , fIsLCDSupported(true)
, fLightHintingIsYOnly(false)
- , fLCDExtra(0)
+ , fLCDExtra(2)
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;

View file

@ -1,16 +0,0 @@
post_upgrade() {
if (($(vercmp $2 42.0.2311.90-1) < 0)); then
echo ':: This Chromium package no longer supports custom flags passed via the'
echo ' /etc/chromium/default file (or any other files under /etc/chromium/).'
echo
echo ' The new /usr/bin/chromium launcher script will automatically detect'
echo ' Pepper Flash (if installed) and pass the correct flags to Chromium.'
echo
echo ' If you need to pass extra command-line arguments to Chromium, you'
echo ' can put them in a "chromium-flags.conf" file under $HOME/.config/'
echo ' (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
echo ' quoting rules apply but no further parsing is performed.'
fi
}
# vim:set ts=2 sw=2 et:

View file

@ -0,0 +1,100 @@
From f25787b72c20e97cdeb74e037dc1ff56a88b45c6 Mon Sep 17 00:00:00 2001
From: Ben Wagner <bungeman@google.com>
Date: Tue, 1 Dec 2020 20:22:00 -0500
Subject: [PATCH] Subpixel anti-aliasing in FreeType 2.8.1+
FreeType 2.8.1 and later always provide some form of subpixel
anti-aliasing.
Bug: skia:10950,skia:6663
Change-Id: I666cc942e73b73073cdabf900c25faa10d9aaf0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339861
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
---
src/ports/SkFontHost_FreeType.cpp | 33 ++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 990eff4f5e..c0aeb792da 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -32,6 +32,7 @@
#include "src/utils/SkMatrix22.h"
#include <memory>
+#include <tuple>
#include <ft2build.h>
#include FT_ADVANCES_H
@@ -147,13 +148,16 @@ public:
// *reinterpret_cast<void**>(&procPtr) = dlsym(self, "proc");
// because clang has not implemented DR573. See http://clang.llvm.org/cxx_dr_status.html .
- FT_Int major, minor, patch;
- FT_Library_Version(fLibrary, &major, &minor, &patch);
+ using Version = std::tuple<FT_Int, FT_Int, FT_Int>;
+ Version version;
+ FT_Library_Version(fLibrary, &std::get<0>(version),
+ &std::get<1>(version),
+ &std::get<2>(version));
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070100
fGetVarDesignCoordinates = FT_Get_Var_Design_Coordinates;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -166,7 +170,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070200
FT_Set_Default_Properties(fLibrary);
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 1))) {
+ if (Version(2,7,1) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -185,7 +189,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080000
fLightHintingIsYOnly = true;
#else
- if (major > 2 || ((major == 2 && minor > 8) || (major == 2 && minor == 8 && patch >= 0))) {
+ if (Version(2,8,0) <= version) {
fLightHintingIsYOnly = true;
}
#endif
@@ -194,7 +198,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080100
fGetVarAxisFlags = FT_Get_Var_Axis_Flags;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -204,11 +208,18 @@ public:
}
#endif
- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
- // The default has changed over time, so this doesn't mean the same thing to all users.
- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
- fIsLCDSupported = true;
- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
+ fIsLCDSupported =
+ // Subpixel anti-aliasing may be unfiltered until the LCD filter is set.
+ // Newer versions may still need this, so this test with side effects must come first.
+ // The default has changed over time, so this doesn't mean the same thing to all users.
+ (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) ||
+
+ // In 2.8.1 and later FreeType always provides some form of subpixel anti-aliasing.
+ ((SK_FREETYPE_MINIMUM_RUNTIME_VERSION) >= 0x02080100) ||
+ (Version(2,8,1) <= version);
+
+ if (fIsLCDSupported) {
+ fLCDExtra = 2; // Using a filter may require up to one full pixel to each side.
}
}
~FreeTypeLibrary() {