MFH: r477294

www/chromium: Update to 68.0.3440.106

- Update amount of free disk space required to build chromium
- Implement GPU access set up for FreeBSD [1]
- Remove the incorrect sugestion in pkg-message and remove the fix-hanging-tabs.sh script because the bug of hanging tabs has been fixed in r337328 improving the chromium stability. Thanks to markj@ [2]

PR:		230450 [1], 212812 [2]
Reported by:	Oleh Hushchenkov <gor@clogic.com.ua>

Approved by:	ports-secteam (miwi)
This commit is contained in:
Carlos J. Puga Medina 2018-08-16 06:57:23 +00:00
parent 4b950c06d2
commit 299ef26fb5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q3/; revision=477309
13 changed files with 149 additions and 70 deletions

View File

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
PORTVERSION= 68.0.3440.84
PORTREVISION= 1
PORTVERSION= 68.0.3440.106
CATEGORIES?= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
@ -135,7 +134,7 @@ GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" \
.if !defined(GN_ONLY)
SUB_FILES= chromium-browser.desktop chrome pkg-message
SUB_LIST+= COMMENT="${COMMENT}" DATADIR="${DATADIR}"
SUB_LIST+= COMMENT="${COMMENT}"
OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS TEST
CODECS_DESC= Compile and enable patented codecs like H.264
@ -167,13 +166,13 @@ DEBUG_VARS= BUILDTYPE=Debug \
GN_ARGS+=is_debug=true \
GN_ARGS+=is_component_build=false \
GN_BOOTSTRAP_FLAGS+=--debug \
WANTSPACE="lots of free disk space (~ 12GB)"
WANTSPACE="lots of free disk space (~ 13GB)"
DEBUG_VARS_OFF= BUILDTYPE=Release \
GN_ARGS+=is_debug=false \
GN_ARGS+=is_official_build=true \
GN_ARGS+=symbol_level=0 \
GN_ARGS+=remove_webcore_debug_symbols=true \
WANTSPACE="a fair amount of free disk space (~ 5.8GB)"
WANTSPACE="a fair amount of free disk space (~ 6.5GB)"
DRIVER_BUILD_DEPENDS= git:devel/git
DRIVER_MAKE_ARGS= chromedriver
@ -298,7 +297,6 @@ do-install:
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \
${STAGEDIR}${DATADIR}/swiftshader
.endfor
${INSTALL_SCRIPT} ${FILESDIR}/fix-hanging-tabs.sh ${STAGEDIR}${DATADIR}
post-install-DEBUG-on:
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \

View File

@ -1,5 +1,5 @@
TIMESTAMP = 1533378824
SHA256 (chromium-68.0.3440.84.tar.xz) = 1031d167ae18d8a37f9291ff0e9a3dca2337c0fc1031f2c243d0327b14ecc9d9
SIZE (chromium-68.0.3440.84.tar.xz) = 630259488
SHA256 (chromium-68.0.3440.84-testdata.tar.xz) = bdd6906154d7c4a8477da2e8fd25b08eebe472104256e62ec2ab63050218ddd3
SIZE (chromium-68.0.3440.84-testdata.tar.xz) = 310285796
TIMESTAMP = 1533765819
SHA256 (chromium-68.0.3440.106.tar.xz) = 7021040635a0a0d47f699bdb22e3ef5c91482e4f51b428d1de3016da95f0e698
SIZE (chromium-68.0.3440.106.tar.xz) = 630289544
SHA256 (chromium-68.0.3440.106-testdata.tar.xz) = 2a736b339f7cbf9fd26901666f17f53b51f7191ed2f64ea65fb8afe638a1633b
SIZE (chromium-68.0.3440.106-testdata.tar.xz) = 310263984

View File

@ -1,45 +0,0 @@
#! /bin/sh -
#
# Chromium has a known problem of hanging tabs. The workaround for this
# problem is to mount ~/.cache/chromium as memory-fs. In order to do this,
# before you run Chromium, please run this script as root once for each user
# who uses Chromium.
#
# $FreeBSD$
set -e
# Make sure that the user specified both the user and the group.
if [ ${#} -ne 2 ]; then
printf 'Usage: %s user group\n' "${0}" >&2
exit 1
fi
user="${1}"
group="${2}"
home="$(awk -F: -v user="${user}" '{if ($1==user) print $6}' /etc/passwd)"
cachedir="${home}/.cache/chromium"
fstabrecord="md ${cachedir} mfs rw,late,-w${user}:${group},-s300m 2 0"
# Make sure that the provided user and group are valid.
if ! id "${user}" >/dev/null 2>&1; then
printf 'Invalid user "%s"\n' "${user}" >&2
exit 1
elif [ ! -d "${home}" ]; then
printf 'Cannot locate home directory of user "%s"\n' "${user}" >&2
exit 1
elif ! grep "^${group}:" /etc/group >/dev/null; then
printf 'Invalid group "%s"\n' "${group}" >&2
exit 1
fi
if grep "${fstabrecord}" /etc/fstab >/dev/null; then
printf 'Workaround already configured for user "%s"\n' "${user}" >&2
exit 1
fi
if [ ! -d "${cachedir}" ]; then
su -l "${user}" -c 'mkdir "${cachedir}"'
fi
printf '%s\n' "${fstabrecord}" >> /etc/fstab
mount "${cachedir}"

View File

@ -0,0 +1,41 @@
--- build/linux/unbundle/libwebp.gn.orig 2018-08-13 22:43:49.456935000 +0200
+++ build/linux/unbundle/libwebp.gn 2018-08-13 22:48:47.151901000 +0200
@@ -2,12 +2,34 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libwebp") {
+ packages = [
+ "libwebp",
+ "libwebpdemux",
+ "libwebpmux",
+ ]
+}
+
+shim_headers("libwebp_shim") {
+ root_path = "src"
+ headers = [
+ "webp/decode.h",
+ "webp/demux.h",
+ "webp/encode.h",
+ "webp/mux.h",
+ "webp/mux_types.h",
+ "webp/types.h",
+ ]
+}
+
source_set("libwebp_webp") {
- libs = [
- "webp",
- "webpdemux",
- "webpmux",
+ deps = [
+ ":libwebp_shim",
]
+ public_configs = [ ":system_libwebp" ]
}
group("libwebp") {

View File

@ -1,22 +1,31 @@
--- gpu/config/gpu_info_collector_freebsd.cc.orig 2018-07-20 13:47:10.021258000 +0200
+++ gpu/config/gpu_info_collector_freebsd.cc 2018-07-20 15:44:42.380444000 +0200
@@ -0,0 +1,20 @@
--- gpu/config/gpu_info_collector_freebsd.cc.orig 2018-08-13 21:50:38.978048000 +0200
+++ gpu/config/gpu_info_collector_freebsd.cc 2018-08-13 21:54:59.868827000 +0200
@@ -0,0 +1,29 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/trace_event/trace_event.h"
+#include "gpu/config/gpu_info_collector.h"
+#include "third_party/angle/src/gpu_info_util/SystemInfo.h"
+
+namespace gpu {
+
+bool CollectContextGraphicsInfo(GPUInfo* gpu_info) {
+ NOTIMPLEMENTED();
+ return false;
+ DCHECK(gpu_info);
+
+ TRACE_EVENT0("gpu", "gpu_info_collector::CollectGraphicsInfo");
+
+ return CollectGraphicsInfoGL(gpu_info);
+}
+
+bool CollectBasicGraphicsInfo(GPUInfo* gpu_info) {
+ NOTIMPLEMENTED();
+ return false;
+ DCHECK(gpu_info);
+
+ angle::SystemInfo system_info;
+ bool success = angle::GetSystemInfo(&system_info);
+ FillGPUInfoFromSystemInfo(gpu_info, &system_info);
+ return success;
+}
+
+

View File

@ -0,0 +1,11 @@
--- services/network/public/cpp/cors/cors_legacy.cc.orig 2018-08-15 14:32:14.128925000 +0200
+++ services/network/public/cpp/cors/cors_legacy.cc 2018-08-15 14:32:27.135579000 +0200
@@ -5,8 +5,6 @@
#include "services/network/public/cpp/cors/cors_legacy.h"
#include <algorithm>
-#include <string>
-#include <vector>
#include "url/gurl.h"
#include "url/url_util.h"

View File

@ -0,0 +1,10 @@
--- services/network/public/cpp/cors/cors_legacy.h.orig 2018-08-15 14:32:05.126217000 +0200
+++ services/network/public/cpp/cors/cors_legacy.h 2018-08-15 14:32:40.328286000 +0200
@@ -5,6 +5,7 @@
#ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
#define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
+#include <string>
#include <vector>
#include "base/component_export.h"

View File

@ -0,0 +1,12 @@
--- third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc.orig 2018-08-13 22:34:03.760055000 +0200
+++ third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc 2018-08-13 22:41:48.671075000 +0200
@@ -643,6 +643,9 @@
IntSize UvSize() const { return uv_size_; }
private:
+#if defined(USE_SYSTEM_LIBJPEG)
+ NO_SANITIZE_CFI_ICALL
+#endif
JSAMPARRAY AllocateSampleArray() {
// Some output color spaces don't need the sample array: don't allocate in that
// case.

View File

@ -0,0 +1,20 @@
--- third_party/blink/renderer/platform/image-encoders/image_encoder.cc.orig 2018-08-13 22:25:20.364425000 +0200
+++ third_party/blink/renderer/platform/image-encoders/image_encoder.cc 2018-08-13 22:28:52.206462000 +0200
@@ -4,6 +4,17 @@
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
+#include <basetsd.h> // Included before jpeglib.h because of INT32 clash
+#endif // OS_WIN
+#include <stdio.h> // Needed by jpeglib.h
+
+#include "jpeglib.h" // for JPEG_MAX_DIMENSION
+
+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
+
namespace blink {
bool ImageEncoder::Encode(Vector<unsigned char>* dst,

View File

@ -0,0 +1,11 @@
--- third_party/blink/renderer/platform/image-encoders/image_encoder.h.orig 2018-08-13 22:29:12.687720000 +0200
+++ third_party/blink/renderer/platform/image-encoders/image_encoder.h 2018-08-13 22:29:25.094079000 +0200
@@ -7,8 +7,6 @@
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION
-#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/encode/SkJpegEncoder.h"
#include "third_party/skia/include/encode/SkPngEncoder.h"

View File

@ -0,0 +1,13 @@
--- third_party/blink/renderer/platform/wtf/compiler.h.orig 2018-08-13 22:36:40.462317000 +0200
+++ third_party/blink/renderer/platform/wtf/compiler.h 2018-08-13 22:38:32.823279000 +0200
@@ -74,8 +74,10 @@
#if defined(__clang__)
#define NO_SANITIZE_UNRELATED_CAST \
__attribute__((no_sanitize("cfi-unrelated-cast", "vptr")))
+#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall")))
#else
#define NO_SANITIZE_UNRELATED_CAST
+#define NO_SANITIZE_CFI_ICALL
#endif
#endif /* WTF_Compiler_h */

View File

@ -12,10 +12,10 @@ to /etc/sysctl.conf:
FreeBSD 11.0-RELEASE and newer have this set by default.
--II--
Chromium has a known problem of hanging tabs. The workaround
for this problem is to mount ~/.cache/chromium as memory-fs.
In order to do this, before you run Chromium, please run the
following script as root once for each user who uses Chromium
(replace {user}/{group} with your user/group names):
Chromium has a known problem of hanging tabs. The bug has been fixed
in r337328. Therefore, it is recommended to upgrade the system after
the correction date.
# %%DATADIR%%/fix-hanging-tabs.sh {user} {group}
# svn diff -c337328 --summarize svn://svn.freebsd.org/base
See PR 212812 for further details.

View File

@ -3,7 +3,6 @@ bin/chrome
%%DATADIR%%/chrome-wrapper
%%DATADIR%%/chrome_100_percent.pak
%%DATADIR%%/chrome_200_percent.pak
%%DATADIR%%/fix-hanging-tabs.sh
%%DATADIR%%/font_service.service
%%DATADIR%%/headless_lib.pak
%%DATADIR%%/icudtl.dat