53.0.2785.92

This commit is contained in:
Tom Callaway 2016-09-07 15:13:21 -04:00
parent 2fd8ecc863
commit 0df9641b97
7 changed files with 388 additions and 22 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@
/policy_templates.zip
/chromium-52.0.2743.82-clean.tar.xz
/chromium-52.0.2743.116-clean.tar.xz
/chromium-53.0.2785.92-clean.tar.xz

View File

@ -2,6 +2,7 @@
Description="Chrome Remote Desktop host daemon"
[Service]
Environment=HOME=%h
ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground
ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop
ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload

View File

@ -0,0 +1,11 @@
diff -up chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c
--- chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix 2016-09-06 15:20:06.094396255 -0400
+++ chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c 2016-09-06 15:20:16.893187930 -0400
@@ -56,6 +56,7 @@
* [including the GNU Public Licence.] */
#include <string.h>
+#include <time.h>
#include <sys/stat.h>
#include <sys/types.h>

View File

@ -0,0 +1,252 @@
diff -up chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn.gnsystem 2016-09-06 13:27:56.018365168 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libjpeg.gn 2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,9 @@
+# Copyright 2016 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.
+
+source_set("libjpeg") {
+ libs = [
+ "jpeg",
+ ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/libpng.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libpng.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libpng.gn.gnsystem 2016-09-06 13:27:56.018365168 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libpng.gn 2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,25 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libpng") {
+ packages = [ "libpng" ]
+}
+
+shim_headers("libpng_shim") {
+ root_path = "include"
+ headers = [
+ "png.h",
+ "pngconf.h",
+ ]
+}
+
+source_set("libpng") {
+ deps = [
+ ":libpng_shim",
+ ]
+ public_configs = [ ":system_libpng" ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/libusb.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/libusb.gn
--- chromium-53.0.2785.92/build/linux/unbundle/libusb.gn.gnsystem 2016-09-06 13:27:56.019365149 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/libusb.gn 2016-09-06 13:27:56.018365168 -0400
@@ -0,0 +1,24 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libusb") {
+ packages = [ "libusb-1.0" ]
+}
+
+shim_headers("libusb_shim") {
+ root_path = "src/libusb"
+ headers = [
+ "libusb.h",
+ ]
+}
+
+source_set("libusb") {
+ deps = [
+ ":libusb_shim",
+ ]
+ public_configs = [ ":system_libusb" ]
+}
diff -up chromium-53.0.2785.92/build/linux/unbundle/opus.gn.gnsystem chromium-53.0.2785.92/build/linux/unbundle/opus.gn
--- chromium-53.0.2785.92/build/linux/unbundle/opus.gn.gnsystem 2016-09-06 13:27:56.019365149 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/opus.gn 2016-09-06 13:31:11.546589545 -0400
@@ -0,0 +1,161 @@
+# Copyright 2016 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.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+import("//testing/test.gni")
+
+pkg_config("system_opus") {
+ packages = [ "opus" ]
+}
+
+shim_headers("opus_shim") {
+ root_path = "src/include"
+ headers = [
+ "opus_custom.h",
+ "opus_defines.h",
+ "opus_multistream.h",
+ "opus_types.h",
+ "opus.h",
+ ]
+}
+
+source_set("opus") {
+ deps = [
+ ":opus_shim",
+ ]
+ public_configs = [ ":system_opus" ]
+}
+
+config("opus_test_config") {
+ include_dirs = [
+ "src/celt",
+ "src/silk",
+ ]
+
+ if (is_win) {
+ defines = [ "inline=__inline" ]
+ }
+ if (is_android) {
+ libs = [ "log" ]
+ }
+ if (is_clang) {
+ cflags = [ "-Wno-absolute-value" ]
+ }
+}
+
+executable("opus_compare") {
+ sources = [
+ "src/src/opus_compare.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+executable("opus_demo") {
+ sources = [
+ "src/src/opus_demo.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+test("test_opus_api") {
+ sources = [
+ "src/tests/test_opus_api.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_encode") {
+ sources = [
+ "src/tests/test_opus_encode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+# GN orders flags on a target before flags from configs. The default config
+# adds -Wall, and this flag have to be after -Wall -- so they need to
+# come from a config and can't be on the target directly.
+config("test_opus_decode_config") {
+ # test_opus_decode passes a null pointer to opus_decode() for an argument
+ # marked as requiring a non-null value by the nonnull function attribute,
+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid
+ # a compilation error if -Werror is specified.
+ if (is_posix) {
+ cflags = [ "-Wno-nonnull" ]
+ }
+}
+
+test("test_opus_decode") {
+ sources = [
+ "src/tests/test_opus_decode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ":test_opus_decode_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_padding") {
+ sources = [
+ "src/tests/test_opus_padding.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
diff -up chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py
--- chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py.gnsystem 2016-09-02 15:02:02.000000000 -0400
+++ chromium-53.0.2785.92/build/linux/unbundle/replace_gn_files.py 2016-09-06 13:27:56.020365130 -0400
@@ -21,9 +21,13 @@ REPLACEMENTS = {
'flac': 'third_party/flac/BUILD.gn',
'harfbuzz-ng': 'third_party/harfbuzz-ng/BUILD.gn',
'libevent': 'base/third_party/libevent/BUILD.gn',
+ 'libjpeg': 'third_party/libjpeg/BUILD.gn',
+ 'libpng': 'third_party/libpng/BUILD.gn',
+ 'libusb': 'third_party/libusb/BUILD.gn',
'libwebp': 'third_party/libwebp/BUILD.gn',
'libxml': 'third_party/libxml/BUILD.gn',
'libxslt': 'third_party/libxslt/BUILD.gn',
+ 'opus': 'third_party/opus/BUILD.gn',
'snappy': 'third_party/snappy/BUILD.gn',
'yasm': 'third_party/yasm/yasm_assemble.gni',
'zlib': 'third_party/zlib/BUILD.gn',

View File

@ -0,0 +1,28 @@
diff -up chromium-53.0.2785.92/tools/gn/BUILD.gn.lastcommitfix chromium-53.0.2785.92/tools/gn/BUILD.gn
--- chromium-53.0.2785.92/tools/gn/BUILD.gn.lastcommitfix 2016-09-06 13:50:17.540459136 -0400
+++ chromium-53.0.2785.92/tools/gn/BUILD.gn 2016-09-06 13:50:27.380269110 -0400
@@ -259,7 +259,6 @@ executable("gn") {
deps = [
":gn_lib",
- ":last_commit_position",
"//base",
"//build/config/sanitizers:deps",
"//build/win:default_exe_manifest",
diff -up chromium-53.0.2785.92/tools/gn/gn_main.cc.lastcommitfix chromium-53.0.2785.92/tools/gn/gn_main.cc
--- chromium-53.0.2785.92/tools/gn/gn_main.cc.lastcommitfix 2016-09-06 13:49:34.620288177 -0400
+++ chromium-53.0.2785.92/tools/gn/gn_main.cc 2016-09-06 13:49:47.316042652 -0400
@@ -12,13 +12,7 @@
#include "tools/gn/standard_out.h"
#include "tools/gn/switches.h"
-// Only the GN-generated build makes this header for now.
-// TODO(brettw) consider adding this if we need it in GYP.
-#if defined(GN_BUILD)
-#include "tools/gn/last_commit_position.h"
-#else
#define LAST_COMMIT_POSITION "UNKNOWN"
-#endif
namespace {

View File

@ -1,6 +1,12 @@
# NEVER EVER EVER turn this on in official builds
%global freeworld 0
# gn is the new new new buildtool. *sigh*
%global use_gn 0
# Leave this alone, please.
%global target out/Release
# %%{nil} for Stable; -beta for Beta; -dev for Devel
# dash in -beta and -dev is intentional !
%global chromium_channel %{nil}
@ -61,7 +67,7 @@ BuildRequires: libicu-devel >= 5.4
%global bundleicu 1
%endif
%global bundlere2 0
%global bundlere2 1
# Chromium breaks on wayland, hidpi, and colors with gtk3 enabled.
%global gtk3 0
@ -86,8 +92,8 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id 449907151817-8vnlfih032ni8c4jjps9int9t86k546t.apps.googleusercontent.com
Name: chromium%{chromium_channel}
Version: 52.0.2743.116
Release: 11%{?dist}
Version: 53.0.2785.92
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser
Url: http://www.chromium.org/Home
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@ -109,14 +115,10 @@ Patch4: chromium-46.0.2490.71-notest.patch
Patch6: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch
# Ignore broken nacl open fd counter
Patch7: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch
# Fixups for gcc6
Patch8: chromium-48.0.2564.103-gcc6.patch
# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a)
Patch9: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch
# Fix re2 unbundle gyp
Patch10: chromium-50.0.2661.94-unbundle-re2-fix.patch
# Fix PNGImageDecoder code
Patch11: chromium-52.0.2723.2-PNGImageDecoder-fix-cast.patch
# Ignore deprecations in cups 2.2
# https://bugs.chromium.org/p/chromium/issues/detail?id=622493
Patch12: chromium-52.0.2743.82-cups22.patch
@ -133,6 +135,13 @@ Patch18: chromium-52.0.2743.82-master-prefs-path.patch
# Disable MADV_FREE (if set by glibc)
# https://bugzilla.redhat.com/show_bug.cgi?id=1361157
Patch19: chromium-52.0.2743.116-unset-madv_free.patch
# Use gn system files
Patch20: chromium-53.0.2785.92-gn-system.patch
# Fix last commit position issue
# https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/7nlJv486bD4
Patch21: chromium-53.0.2785.92-last-commit-position.patch
# Fix issue where timespec is not defined when sys/stat.h is included.
Patch22: chromium-53.0.2785.92-boringssl-time-fix.patch
### Chromium Tests Patches ###
Patch100: chromium-46.0.2490.86-use_system_opus.patch
@ -191,7 +200,6 @@ BuildRequires: gperf
BuildRequires: libatomic
BuildRequires: libcap-devel
BuildRequires: libdrm-devel
BuildRequires: libexif-devel
BuildRequires: libgcrypt-devel
BuildRequires: libudev-devel
BuildRequires: libusb-devel
@ -238,10 +246,8 @@ BuildRequires: dbus-glib-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: flac-devel
BuildRequires: hwdata
BuildRequires: jsoncpp-devel
BuildRequires: kernel-headers
BuildRequires: libevent-devel
BuildRequires: libexif-devel
BuildRequires: libffi-devel
%if 0%{?bundleicu}
# If this is true, we're using the bundled icu.
@ -270,8 +276,6 @@ BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a
BuildRequires: libxslt-devel
# Same here, it seems.
# BuildRequires: libyuv-devel
BuildRequires: minizip-devel
BuildRequires: nspr-devel
%if %{bundleopus}
# Do nothing
%else
@ -296,7 +300,6 @@ Requires: re2 >= 20160401
BuildRequires: re2-devel >= 20160401
%endif
BuildRequires: speech-dispatcher-devel
BuildRequires: speex-devel = 1.2
BuildRequires: yasm
BuildRequires: pkgconfig(gnome-keyring-1)
# remote desktop needs this
@ -500,10 +503,8 @@ members of the Chromium and WebDriver teams.
%patch4 -p1 -b .notest
%patch6 -p1 -b .gnu-inline
%patch7 -p1 -b .ignore-fd-count
# %%patch8 -p1 -b .gcc6
%patch9 -p1 -b .modern-libusbx
%patch10 -p1 -b .unbundle-fix
%patch11 -p1 -b .fixcast
%patch12 -p1 -b .cups22
%patch14 -p1 -b .morealiases
%patch15 -p1 -b .sandboxpie
@ -511,6 +512,9 @@ members of the Chromium and WebDriver teams.
%patch17 -p1 -b .armfix
%patch18 -p1 -b .etc
%patch19 -p1 -b .madv_free
%patch20 -p1 -b .gnsystem
%patch21 -p1 -b .lastcommit
%patch22 -p1 -b .timefix
### Chromium Tests Patches ###
%patch100 -p1 -b .use_system_opus
@ -613,6 +617,36 @@ ln -s ../../out/Release/gen/sdk/linux_x86 linux_x86
popd
%endif
CHROMIUM_BROWSER_GN_DEFINES=""
%ifarch x86_64
CHROMIUM_BROWSER_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_BROWSER_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"'
CHROMIUM_BROWSER_GN_DEFINES+=' is_clang=false use_sysroot=false use_gio=true use_pulseaudio=true icu_use_data_file_flag=true'
%if 0%{?nonacl}
CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false'
%endif
%if %{freeworld}
CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chromium" proprietary_codecs=false'
%endif
%if 0%{?shared}
CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=false'
%endif
CHROMIUM_BROWSER_GN_DEFINES+=' remove_webcore_debug_symbols=true enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_hotwording=false use_aura=true enable_hidpi=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_webrtc=true enable_widevine=true'
%if 0%{gtk3}
CHROMIUM_BROWSER_GN_DEFINES+=' use_gtk3=true'
%else
CHROMIUM_BROWSER_GN_DEFINES+=' use_gtk3=false'
%endif
CHROMIUM_BROWSER_GN_DEFINES+=' extra_cflags="-fno-delete-null-pointer-checks" treat_warnings_as_errors=false'
export CHROMIUM_BROWSER_GN_DEFINES
export CHROMIUM_BROWSER_GYP_DEFINES="\
%ifarch x86_64
-Dtarget_arch=x64 \
@ -661,9 +695,7 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Duse_system_icu=1 \
%endif
-Dicu_use_data_file_flag=1 \
-Duse_system_jsoncpp=1 \
-Duse_system_libevent=1 \
-Duse_system_libexif=1 \
-Duse_system_libjpeg=1 \
-Duse_system_libpng=1 \
%if %{bundlelibusbx}
@ -673,8 +705,6 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
%endif
-Duse_system_libxml=1 \
-Duse_system_libxslt=1 \
-Duse_system_minizip=1 \
-Duse_system_nspr=1 \
%if %{bundleopus}
-Duse_system_opus=0 \
%else
@ -685,7 +715,6 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
%else
-Duse_system_re2=1 \
%endif
-Duse_system_speex=1 \
-Duse_system_libsrtp=0 \
-Duse_system_xdg_utils=1 \
-Duse_system_yasm=1 \
@ -797,11 +826,13 @@ build/linux/unbundle/remove_bundled_libraries.py \
'chrome/third_party/mozilla_security_manager' \
'courgette/third_party' \
'native_client/src/third_party/dlmalloc' \
'native_client/src/third_party/valgrind' \
'net/third_party/mozilla_security_manager' \
'net/third_party/nss' \
'third_party/WebKit' \
'third_party/analytics' \
'third_party/angle' \
'third_party/angle/src/common/third_party/numerics' \
'third_party/angle/src/third_party/compiler' \
'third_party/angle/src/third_party/libXNVCtrl' \
'third_party/angle/src/third_party/murmurhash' \
@ -814,6 +845,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/catapult/tracing/third_party/d3' \
'third_party/catapult/tracing/third_party/gl-matrix' \
'third_party/catapult/tracing/third_party/jszip' \
'third_party/catapult/tracing/third_party/mannwhitneyu' \
'third_party/catapult/third_party/py_vulcanize' \
'third_party/catapult/third_party/py_vulcanize/third_party/rcssmin' \
'third_party/catapult/third_party/py_vulcanize/third_party/rjsmin' \
@ -894,6 +926,41 @@ ln -s %{python_sitearch}/markupsafe third_party/markupsafe
# Fix hardcoded path in remoting code
sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc
export PATH=$PATH:%{_builddir}/depot_tools
%if %{use_gn}
build/linux/unbundle/replace_gn_files.py --system-libraries \
flac \
%if 0%{?bundleharfbuzz}
%else
harfbuzz-ng \
%endif
%if 0%{?bundleicu}
%else
icu \
%endif
libevent \
libjpeg \
libpng \
%if %{bundlelibusbx}
%else
libusb \
%endif
libxml \
libxslt \
%if %{bundleopus}
%else
opus \
%endif
%if 0%{?bundlere2}
%else
re2 \
%endif
yasm
tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "$CHROMIUM_BROWSER_GN_DEFINES"
%{target}/gn gen --args="$CHROMIUM_BROWSER_GN_DEFINES" %{target}
%else
# Update gyp files according to our configuration
# If you will change something in the configuration please update it
# for build/gyp_chromium as well (and vice versa).
@ -905,6 +972,7 @@ build/gyp_chromium \
-Drelease_extra_cflags="-O1 -fno-inline-functions -fno-inline" \
%endif
$CHROMIUM_BROWSER_GYP_DEFINES
%endif
%if %{bundlelibusbx}
# no hackity hack hack
@ -1605,6 +1673,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/chromedriver
%changelog
* Wed Sep 7 2016 Tom Callaway <spot@fedoraproject.org> 53.0.2785.92-1
- add basic framework for gn tooling (disabled because it doesn't work yet)
- update to 53.0.2785.92
- fix HOME environment issue in chrome-remote-desktop service file
* Mon Aug 29 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.116-11
- conditionalize Requires: u2f-hidraw-policy so that it is only used on Fedora
- use bundled harfbuzz on EL7

View File

@ -1,3 +1,3 @@
49a7f897775cce21d2b69968b8af1cea depot_tools.git-master.tar.gz
5d68885e80dec938f68f033a51639e57 chromium-52.0.2743.116-clean.tar.xz
c0a1a388c4fb32be8e4afb5ace9e801a policy_templates.zip
8280c0644492bac9f59f4e25ed11d309 policy_templates.zip
40aa0cc4407dc8a198aedc29532abeee chromium-53.0.2785.92-clean.tar.xz