diff --git a/.abf.yml b/.abf.yml index 318dfed..59dafc4 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,6 +1,5 @@ sources: "icons.tar.bz2": a835954af164bf38f8ea4ea80608839bed7800a3 - gn-binaries.tar.xz: 312d6a6addabeed98f3357d34dbc87ccfd43026b - depot_tools.tar.xz: 082b7f9a4dfa7eb03900755b4866aef2d73543a5 new-system-icons.tar.xz: 89339b8b3b05359a8745ed7968fe148902a2fa28 - chromium-53.0.2785.92.tar.xz: b9cfc8694ab89590b28da56ee535ef44f345be68 + depot_tools.tar.xz: 082b7f9a4dfa7eb03900755b4866aef2d73543a5 + chromium-54.0.2840.100.tar.xz: bf51814c569110714a4b1266f96c5bbc45af1a80 diff --git a/BUILD.gn b/BUILD.gn new file mode 100644 index 0000000..78f7b57 --- /dev/null +++ b/BUILD.gn @@ -0,0 +1,19 @@ +import("//build/toolchain/gcc_toolchain.gni") + +gcc_toolchain("default") { + cc = getenv("CC") + cxx = getenv("CXX") + ar = getenv("AR") + nm = getenv("NM") + ld = cxx + + extra_cflags = getenv("CFLAGS") + extra_cppflags = getenv("CPPFLAGS") + extra_cxxflags = getenv("CXXFLAGS") + extra_ldflags = getenv("LDFLAGS") + + toolchain_args = { + current_cpu = current_cpu + current_os = current_os + } +} diff --git a/arm-webrtc-fix.patch b/arm-webrtc-fix.patch deleted file mode 100644 index e5d237d..0000000 --- a/arm-webrtc-fix.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- third_party/webrtc/system_wrappers/source/cpu_features.cc.orig 2014-01-15 18:38:50.331954791 -0700 -+++ third_party/webrtc/system_wrappers/source/cpu_features.cc 2014-01-15 18:38:37.902004379 -0700 -@@ -18,6 +18,47 @@ - - #include "webrtc/typedefs.h" - -+#include -+#ifdef __arm__ -+#include -+#include -+#include -+#include -+#endif -+ -+#ifdef __arm__ -+uint64_t WebRtc_GetCPUFeaturesARM() { -+ static bool detected = false; -+ static uint64_t have_neon = 0; -+ -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ if (!detected) { -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ fd = open("/proc/self/auxv", O_RDONLY); -+ if (fd >= 0) { -+ while (read(fd, &auxv, sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) { -+ if (auxv.a_type == AT_HWCAP) { -+ have_neon = (auxv.a_un.a_val & HWCAP_NEON) ? kCPUFeatureNEON : 0; -+ break; -+ } -+ } -+ close (fd); -+ } else { -+ have_neon = 0; -+ } -+ detected = true; -+ } -+ -+ return 0 | have_neon; // others here as we need them -+} -+#endif -+ - // No CPU feature is available => straight C path. - int GetCPUInfoNoASM(CPUFeature feature) { - (void)feature; diff --git a/chromium-52-pdfium-system-libtiff-libpng.patch b/chromium-52-pdfium-system-libtiff-libpng.patch new file mode 100644 index 0000000..6b83b50 --- /dev/null +++ b/chromium-52-pdfium-system-libtiff-libpng.patch @@ -0,0 +1,519 @@ +diff -up chromium-54.0.2840.16/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/BUILD.gn +--- chromium-54.0.2840.16/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/BUILD.gn 2016-09-12 13:47:03.205588975 +0200 +@@ -14,7 +14,6 @@ config("pdfium_common_config") { + "third_party/freetype/include/freetype", + ] + defines = [ +- "OPJ_STATIC", + "PNG_PREFIX", + "PNG_USE_READ_MACROS", + ] +@@ -553,7 +552,7 @@ static_library("fxcodec") { + deps = [ + "third_party:fx_lcms2", + "third_party:fx_libopenjpeg", +- "third_party:fx_zlib", ++ "//third_party/zlib:zlib", + + # This is a generic JPEG library dependency. + "//third_party:jpeg", +diff -up chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/codec_int.h +--- chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/codec_int.h 2016-09-12 13:47:03.205588975 +0200 +@@ -16,7 +16,7 @@ + + #include "core/fxcodec/include/fx_codec.h" + #include "core/fxcodec/jbig2/JBig2_Context.h" +-#include "third_party/libopenjpeg20/openjpeg.h" ++#include + + class CPDF_ColorSpace; + +diff -up chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_flate.cpp.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_flate.cpp +--- chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_flate.cpp.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_flate.cpp 2016-09-12 13:47:03.205588975 +0200 +@@ -11,7 +11,7 @@ + + #include "core/fxcodec/include/fx_codec.h" + #include "core/fxcrt/include/fx_ext.h" +-#include "third_party/zlib_v128/zlib.h" ++#include + + extern "C" { + static void* my_alloc_func(void* opaque, +diff -up chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp +--- chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_jpx_opj.cpp 2016-09-12 13:47:03.206588962 +0200 +@@ -13,7 +13,7 @@ + #include "core/fxcodec/include/fx_codec.h" + #include "core/fxcrt/include/fx_safe_types.h" + #include "third_party/lcms2-2.6/include/lcms2.h" +-#include "third_party/libopenjpeg20/openjpeg.h" ++#include + + static void fx_error_callback(const char* msg, void* client_data) { + (void)client_data; +@@ -752,7 +752,7 @@ FX_BOOL CJPX_Decoder::Init(const unsigne + image = nullptr; + return FALSE; + } +- image->pdfium_use_colorspace = !!m_ColorSpace; ++// image->pdfium_use_colorspace = !!m_ColorSpace; + + if (!parameters.nb_tile_to_decode) { + if (!opj_set_decode_area(l_codec, image, parameters.DA_x0, parameters.DA_y0, +diff -up chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_png.cpp.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_png.cpp +--- chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_png.cpp.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_png.cpp 2016-09-12 13:47:03.207588950 +0200 +@@ -10,10 +10,7 @@ + #include "core/fxcodec/include/fx_codec.h" + #include "core/fxge/include/fx_dib.h" + +-extern "C" { +-#undef FAR +-#include "third_party/libpng16/png.h" +-} ++#include + + static void _png_error_data(png_structp png_ptr, png_const_charp error_msg) { + if (png_get_error_ptr(png_ptr)) { +diff -up chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_tiff.cpp.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_tiff.cpp +--- chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_tiff.cpp.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/core/fxcodec/codec/fx_codec_tiff.cpp 2016-09-12 13:47:03.206588962 +0200 +@@ -9,7 +9,7 @@ + #include "core/fxge/include/fx_dib.h" + + extern "C" { +-#include "third_party/libtiff/tiffiop.h" ++#include + } + + class CCodec_TiffContext { +@@ -139,7 +139,7 @@ TIFF* tiff_open(void* context, const cha + tiff_write, tiff_seek, tiff_close, tiff_get_size, + tiff_map, tiff_unmap); + if (tif) { +- tif->tif_fd = (int)(intptr_t)context; ++ (void)TIFFSetFileno(tif, (int)(intptr_t)context); + } + return tif; + } +diff -up chromium-54.0.2840.16/third_party/pdfium/skia/BUILD.gn.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/skia/BUILD.gn +--- chromium-54.0.2840.16/third_party/pdfium/skia/BUILD.gn.pdfium-system-libtiff-libpng 2016-09-09 00:03:48.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/skia/BUILD.gn 2016-09-12 13:47:03.206588962 +0200 +@@ -355,7 +355,7 @@ component("skia") { + + deps = [ + ":skia_opts", +- "../third_party:fx_zlib", ++ "//third_party/zlib:zlib", + ] + + if (is_linux) { +diff -up chromium-54.0.2840.16/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/third_party/BUILD.gn +--- chromium-54.0.2840.16/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng 2016-09-12 13:47:03.207588950 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/third_party/BUILD.gn 2016-09-12 13:56:06.995752607 +0200 +@@ -5,6 +5,7 @@ + import("//build/config/arm.gni") + import("//build_overrides/build.gni") + import("../pdfium.gni") ++import("//build/config/linux/pkg_config.gni") + + group("third_party") { + deps = [ +@@ -267,197 +267,34 @@ static_library("jpeg") { + ] + } + +-config("fx_libopenjpeg_warnings") { +- visibility = [ ":*" ] +- if (is_win) { +- cflags = [ +- # Signed/unsigned comparisons. +- "/wd4018", +- ] +- } ++pkg_config("openjpeg_config") { ++ packages = [ ++ "libopenjp2", ++ ] + } + +-static_library("fx_libopenjpeg") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- ":pdfium_third_party_config", +- +- # Must be after no_chromium_code for warning flags to be ordered correctly. +- ":fx_libopenjpeg_warnings", +- ] +- sources = [ +- "libopenjpeg20/bio.c", +- "libopenjpeg20/cio.c", +- "libopenjpeg20/dwt.c", +- "libopenjpeg20/event.c", +- "libopenjpeg20/function_list.c", +- "libopenjpeg20/image.c", +- "libopenjpeg20/invert.c", +- "libopenjpeg20/j2k.c", +- "libopenjpeg20/jp2.c", +- "libopenjpeg20/mct.c", +- "libopenjpeg20/mqc.c", +- "libopenjpeg20/openjpeg.c", +- "libopenjpeg20/opj_clock.c", +- "libopenjpeg20/pi.c", +- "libopenjpeg20/raw.c", +- "libopenjpeg20/t1.c", +- "libopenjpeg20/t2.c", +- "libopenjpeg20/tcd.c", +- "libopenjpeg20/tgt.c", +- ] ++source_set("fx_libopenjpeg") { ++ public_configs = [ ":openjpeg_config" ] + } + +-static_library("fx_lpng") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- ":pdfium_third_party_config", ++pkg_config("fx_libpng_config") { ++ packages = [ ++ "libpng", + ] +- sources = [ +- "libpng16/png.c", +- "libpng16/png.h", +- "libpng16/pngconf.h", +- "libpng16/pngdebug.h", +- "libpng16/pngerror.c", +- "libpng16/pngget.c", +- "libpng16/pnginfo.h", +- "libpng16/pnglibconf.h", +- "libpng16/pngmem.c", +- "libpng16/pngpread.c", +- "libpng16/pngprefix.h", +- "libpng16/pngpriv.h", +- "libpng16/pngread.c", +- "libpng16/pngrio.c", +- "libpng16/pngrtran.c", +- "libpng16/pngrutil.c", +- "libpng16/pngset.c", +- "libpng16/pngstruct.h", +- "libpng16/pngtrans.c", +- "libpng16/pngwio.c", +- "libpng16/pngwrite.c", +- "libpng16/pngwtran.c", +- "libpng16/pngwutil.c", +- ] +- +- defines = [] +- cflags = [] +- +- if (current_cpu == "x86" || current_cpu == "x64") { +- sources += [ +- "libpng16/contrib/intel/filter_sse2_intrinsics.c", +- "libpng16/contrib/intel/intel_init.c", +- ] +- defines += [ "PNG_INTEL_SSE_OPT=1" ] +- } else if ((current_cpu == "arm" || current_cpu == "arm64") && arm_use_neon) { +- sources += [ +- "libpng16/arm/arm_init.c", +- "libpng16/arm/filter_neon_intrinsics.c", +- ] +- defines += [ +- "PNG_ARM_NEON_OPT=2", +- "PNG_ARM_NEON_IMPLEMENTATION=1", +- ] +- } +- +- if (is_win) { +- # Unary minus applied to unsigned type. +- cflags += [ "/wd4146" ] +- } + } + +-if (pdf_enable_xfa) { +- static_library("fx_tiff") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- ":pdfium_third_party_config", +- ] +- if (is_win) { +- # Need to undefine the macro since it is redefined in +- # tif_ojpeg.c and tif_jpeg.c. +- configs -= [ "//build/config/win:lean_and_mean" ] +- } +- deps = [ +- "//third_party:jpeg", +- ] +- sources = [ +- "libtiff/tif_aux.c", +- "libtiff/tif_close.c", +- "libtiff/tif_codec.c", +- "libtiff/tif_color.c", +- "libtiff/tif_compress.c", +- "libtiff/tif_dir.c", +- "libtiff/tif_dirinfo.c", +- "libtiff/tif_dirread.c", +- "libtiff/tif_dirwrite.c", +- "libtiff/tif_dumpmode.c", +- "libtiff/tif_error.c", +- "libtiff/tif_extension.c", +- "libtiff/tif_fax3.c", +- "libtiff/tif_fax3sm.c", +- "libtiff/tif_flush.c", +- "libtiff/tif_getimage.c", +- "libtiff/tif_jpeg.c", +- "libtiff/tif_luv.c", +- "libtiff/tif_lzw.c", +- "libtiff/tif_next.c", +- "libtiff/tif_ojpeg.c", +- "libtiff/tif_open.c", +- "libtiff/tif_packbits.c", +- "libtiff/tif_pixarlog.c", +- "libtiff/tif_predict.c", +- "libtiff/tif_print.c", +- "libtiff/tif_read.c", +- "libtiff/tif_strip.c", +- "libtiff/tif_swab.c", +- "libtiff/tif_thunder.c", +- "libtiff/tif_tile.c", +- "libtiff/tif_version.c", +- "libtiff/tif_warning.c", +- "libtiff/tif_write.c", +- "libtiff/tif_zip.c", +- "libtiff/tiffiop.h", +- "libtiff/tiffvers.h", +- ] +- } ++source_set("fx_lpng") { ++ public_configs = [ ":fx_libpng_config" ] + } + +-# TODO(dsinclair): Remove if fixed upstream. https://crbug.com/507712 +-config("fx_zlib_warnings") { +- visibility = [ ":*" ] +- if (is_clang) { +- cflags = [ "-Wno-shift-negative-value" ] +- } ++config("fx_tiff_config") { ++ libs = [ "tiff" ] + } + +-static_library("fx_zlib") { +- configs -= [ "//build/config/compiler:chromium_code" ] +- configs += [ +- "//build/config/compiler:no_chromium_code", +- ":pdfium_third_party_config", +- +- # Must be after no_chromium_code for warning flags to be ordered correctly. +- ":fx_zlib_warnings", +- ] +- sources = [ +- "zlib_v128/adler32.c", +- "zlib_v128/compress.c", +- "zlib_v128/crc32.c", +- "zlib_v128/deflate.c", +- "zlib_v128/gzclose.c", +- "zlib_v128/gzlib.c", +- "zlib_v128/gzread.c", +- "zlib_v128/gzwrite.c", +- "zlib_v128/infback.c", +- "zlib_v128/inffast.c", +- "zlib_v128/inflate.c", +- "zlib_v128/inftrees.c", +- "zlib_v128/trees.c", +- "zlib_v128/uncompr.c", +- "zlib_v128/zutil.c", +- ] ++if (pdf_enable_xfa) { ++ source_set("fx_tiff") { ++ public_configs = [ ":fx_tiff_config" ] ++ } + } + + # Can not be a static library due to lack of .cc files. +diff -up chromium-54.0.2840.16/third_party/pdfium/third_party/third_party.gyp.pdfium-system-libtiff-libpng chromium-54.0.2840.16/third_party/pdfium/third_party/third_party.gyp +--- chromium-54.0.2840.16/third_party/pdfium/third_party/third_party.gyp.pdfium-system-libtiff-libpng 2016-09-09 00:03:49.000000000 +0200 ++++ chromium-54.0.2840.16/third_party/pdfium/third_party/third_party.gyp 2016-09-12 13:57:09.603965515 +0200 +@@ -156,6 +156,47 @@ + }, + }, + { ++ 'target_name': 'fx_lpng', ++ 'type': 'none', ++ 'dependencies': [ ++ '../../zlib/zlib.gyp:zlib', ++ ], ++ 'direct_dependent_settings': { ++ 'cflags': [ ++ ' iterator( +- new BreakIterator(base::string16(), rule)); ++ std::unique_ptr iterator( ++ new base::i18n::BreakIterator(base::string16(), rule)); + if (!iterator->Init()) { + // Since we're not passing in any text, the only reason this could fail + // is if we fail to parse the rules. Since the rules are hardcoded, +@@ -388,7 +388,7 @@ SpellcheckWordIterator::WordIteratorStat + const size_t start = iterator_->prev(); + const size_t length = iterator_->pos() - start; + switch (iterator_->GetWordBreakStatus()) { +- case BreakIterator::IS_WORD_BREAK: { ++ case base::i18n::BreakIterator::IS_WORD_BREAK: { + if (Normalize(start, length, word_string)) { + *word_start = start; + *word_length = length; +@@ -396,7 +396,7 @@ SpellcheckWordIterator::WordIteratorStat + } + break; + } +- case BreakIterator::IS_SKIPPABLE_WORD: { ++ case base::i18n::BreakIterator::IS_SKIPPABLE_WORD: { + *word_string = iterator_->GetString(); + *word_start = start; + *word_length = length; +@@ -404,7 +404,7 @@ SpellcheckWordIterator::WordIteratorStat + } + // |iterator_| is RULE_BASED so the break status should never be + // IS_LINE_OR_CHAR_BREAK. +- case BreakIterator::IS_LINE_OR_CHAR_BREAK: { ++ case base::i18n::BreakIterator::IS_LINE_OR_CHAR_BREAK: { + NOTREACHED(); + break; + } diff --git a/chromium-53-ffmpeg-no-deprecation-errors.patch b/chromium-53-ffmpeg-no-deprecation-errors.patch new file mode 100644 index 0000000..78c780e --- /dev/null +++ b/chromium-53-ffmpeg-no-deprecation-errors.patch @@ -0,0 +1,22 @@ +--- chromium-53.0.2785.46/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2016-08-05 00:05:10.000000000 +0200 ++++ chromium-53.0.2785.46/build/linux/unbundle/ffmpeg.gn 2016-08-09 21:22:45.143683293 +0200 +@@ -13,6 +13,12 @@ + ] + } + ++config("ffmpeg_deprecations") { ++ if (is_linux) { ++ cflags = [ "-Wno-error=deprecated-declarations" ] ++ } ++} ++ + shim_headers("ffmpeg_shim") { + root_path = "." + headers = [ +@@ -26,5 +32,5 @@ + deps = [ + ":ffmpeg_shim", + ] +- public_configs = [ ":system_ffmpeg" ] ++ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ] + } diff --git a/chromium-53-gn-system-icu-jsoncpp.patch b/chromium-53-gn-system-icu-jsoncpp.patch new file mode 100644 index 0000000..f662dcc --- /dev/null +++ b/chromium-53-gn-system-icu-jsoncpp.patch @@ -0,0 +1,42 @@ +diff -up chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn.gn-system-icu-jsoncpp chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn +--- chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn.gn-system-icu-jsoncpp 2016-10-01 16:21:27.343107786 +0200 ++++ chromium-55.0.2873.0/build/linux/unbundle/jsoncpp.gn 2016-10-01 16:21:27.343107786 +0200 +@@ -0,0 +1,27 @@ ++# 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") ++ ++shim_headers("jsoncpp_shim") { ++ root_path = "source/include" ++ headers = [ ++ "json/assertions.h", ++ "json/autolink.h", ++ "json/config.h", ++ "json/features.h", ++ "json/forwards.h", ++ "json/json.h", ++ "json/reader.h", ++ "json/value.h", ++ "json/writer.h" ++ ] ++ ++source_set("jsoncpp") { ++ deps = [ ++ ":jsoncpp_shim", ++ ] ++ libs = [ "jsoncpp" ] ++} +diff -up chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py.gn-system-icu-jsoncpp chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py +--- chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py.gn-system-icu-jsoncpp 2016-10-01 16:21:27.343107786 +0200 ++++ chromium-55.0.2873.0/build/linux/unbundle/replace_gn_files.py 2016-10-01 17:17:38.913721403 +0200 +@@ -21,6 +21,7 @@ REPLACEMENTS = { + 'flac': 'third_party/flac/BUILD.gn', + 'harfbuzz-ng': 'third_party/harfbuzz-ng/BUILD.gn', + 'icu': 'third_party/icu/BUILD.gn', ++ 'jsoncpp' : 'third_party/jsoncpp/BUILD.gn', + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn', + 'libpng': 'third_party/libpng/BUILD.gn', diff --git a/chromium-53-gn-system-opus.patch b/chromium-53-gn-system-opus.patch new file mode 100644 index 0000000..f8590a8 --- /dev/null +++ b/chromium-53-gn-system-opus.patch @@ -0,0 +1,58 @@ +diff -up chromium-53.0.2785.46/build/linux/unbundle/opus.gn.gn-system-opus chromium-53.0.2785.46/build/linux/unbundle/opus.gn +--- chromium-53.0.2785.46/build/linux/unbundle/opus.gn.gn-system-opus 2016-08-09 23:46:12.808470292 +0200 ++++ chromium-53.0.2785.46/build/linux/unbundle/opus.gn 2016-08-09 23:53:16.660141755 +0200 +@@ -0,0 +1,43 @@ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++shim_headers("opus_shim") { ++ root_path = "src/include" ++ headers = [ ++ "opus_custom.h", ++ "opus_defines.h", ++ "opus_multistream.h", ++ "opus_types.h", ++ "opus.h", ++ ] ++} ++ ++pkg_config("system_opus") { ++ packages = [ "opus" ] ++} ++ ++source_set("opus") { ++ public_configs = [ ":system_opus" ] ++ deps = [ ++ ":opus_shim", ++ ] ++} ++ ++source_set("opus_compare") { ++} ++ ++source_set("opus_demo") { ++} ++ ++source_set("test_opus_api") { ++} ++ ++source_set("test_opus_decode") { ++} ++ ++source_set("test_opus_encode") { ++} ++ ++source_set("test_opus_padding") { ++} ++ +diff -up chromium-53.0.2785.46/build/linux/unbundle/replace_gn_files.py.gn-system-opus chromium-53.0.2785.46/build/linux/unbundle/replace_gn_files.py +--- chromium-53.0.2785.46/build/linux/unbundle/replace_gn_files.py.gn-system-opus 2016-08-09 23:46:12.797470430 +0200 ++++ chromium-53.0.2785.46/build/linux/unbundle/replace_gn_files.py 2016-08-09 23:46:12.808470292 +0200 +@@ -29,6 +29,7 @@ + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', + 'libxslt': 'third_party/libxslt/BUILD.gn', ++ 'opus': 'third_party/opus/BUILD.gn', + 're2': 'third_party/re2/BUILD.gn', + 'snappy': 'third_party/snappy/BUILD.gn', + 'yasm': 'third_party/yasm/yasm_assemble.gni', diff --git a/chromium-53-link-libgio-libpci-libudev-libbrlapi.patch b/chromium-53-link-libgio-libpci-libudev-libbrlapi.patch new file mode 100644 index 0000000..5ff6377 --- /dev/null +++ b/chromium-53-link-libgio-libpci-libudev-libbrlapi.patch @@ -0,0 +1,195 @@ +diff -up chromium-53.0.2785.92/build/linux/libbrlapi/BUILD.gn.link_libgio chromium-53.0.2785.92/build/linux/libbrlapi/BUILD.gn +--- chromium-53.0.2785.92/build/linux/libbrlapi/BUILD.gn.link_libgio 2016-09-02 21:02:02.000000000 +0200 ++++ chromium-53.0.2785.92/build/linux/libbrlapi/BUILD.gn 2016-09-09 14:26:52.224691284 +0200 +@@ -2,6 +2,10 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++declare_args() { ++ linux_link_libbrlapi = false ++} ++ + import("//tools/generate_library_loader/generate_library_loader.gni") + + config("brlapi_config") { +@@ -15,6 +19,7 @@ generate_library_loader("libbrlapi") { + output_cc = "libbrlapi_loader.cc" + header = "" + config = ":brlapi_config" ++ link_directly = linux_link_libbrlapi + + functions = [ + "brlapi_getHandleSize", +diff -up chromium-53.0.2785.92/build/linux/libgio/BUILD.gn.link_libgio chromium-53.0.2785.92/build/linux/libgio/BUILD.gn +--- chromium-53.0.2785.92/build/linux/libgio/BUILD.gn.link_libgio 2016-09-02 21:02:02.000000000 +0200 ++++ chromium-53.0.2785.92/build/linux/libgio/BUILD.gn 2016-09-09 14:23:38.667124632 +0200 +@@ -2,6 +2,10 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++declare_args() { ++ linux_link_libgio = false ++} ++ + import("//tools/generate_library_loader/generate_library_loader.gni") + + # This generates a target named "libgio". +@@ -11,6 +15,7 @@ generate_library_loader("libgio") { + output_cc = "libgio_loader.cc" + header = "" + config = "//build/linux:gio_config" ++ link_directly = linux_link_libgio + + functions = [ + "glib_check_version", +diff -up chromium-53.0.2785.92/build/linux/libpci/BUILD.gn.link_libgio chromium-53.0.2785.92/build/linux/libpci/BUILD.gn +--- chromium-53.0.2785.92/build/linux/libpci/BUILD.gn.link_libgio 2016-09-02 21:02:02.000000000 +0200 ++++ chromium-53.0.2785.92/build/linux/libpci/BUILD.gn 2016-09-09 14:24:25.124540583 +0200 +@@ -2,14 +2,24 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++declare_args() { ++ linux_link_libpci = false ++} ++ ++config("libpci_config") { ++ libs = [ "pci" ] ++} ++ + import("//tools/generate_library_loader/generate_library_loader.gni") + +-# This generates a target named "libpci". +-generate_library_loader("libpci") { ++# This generates a target named "libpci_loader". ++generate_library_loader("libpci_loader") { + name = "LibPciLoader" + output_h = "libpci.h" + output_cc = "libpci_loader.cc" + header = "" ++ link_directly = linux_link_libpci ++ use_extern_c = true + + functions = [ + "pci_alloc", +@@ -20,3 +30,10 @@ + "pci_lookup_name", + ] + } ++ ++source_set("libpci") { ++ public_deps = [ ":libpci_loader" ] ++ if (linux_link_libpci) { ++ public_configs = [ ":libpci_config" ] ++ } ++} +diff -up chromium-53.0.2785.92/build/linux/libudev/BUILD.gn.link_libgio chromium-53.0.2785.92/build/linux/libudev/BUILD.gn +--- chromium-53.0.2785.92/build/linux/libudev/BUILD.gn.link_libgio 2016-09-02 21:02:02.000000000 +0200 ++++ chromium-53.0.2785.92/build/linux/libudev/BUILD.gn 2016-09-09 14:25:52.512441968 +0200 +@@ -2,6 +2,14 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++declare_args() { ++ linux_link_libudev = false ++} ++ ++config("libudev_config") { ++ libs = [ "udev" ] ++} ++ + import("//tools/generate_library_loader/generate_library_loader.gni") + + libudev_functions = [ +@@ -43,6 +51,7 @@ + output_h = "libudev0.h" + output_cc = "libudev0_loader.cc" + header = "\"third_party/libudev/libudev0.h\"" ++ link_directly = linux_link_libudev + + functions = libudev_functions + } +@@ -53,6 +62,7 @@ + output_h = "libudev1.h" + output_cc = "libudev1_loader.cc" + header = "\"third_party/libudev/libudev1.h\"" ++ link_directly = linux_link_libudev + + functions = libudev_functions + } +@@ -62,4 +72,5 @@ + ":udev0_loader", + ":udev1_loader", + ] ++ public_configs = [ ":libudev_config" ] + } +diff -up chromium-53.0.2785.92/tools/generate_library_loader/generate_library_loader.gni.link_libgio chromium-53.0.2785.92/tools/generate_library_loader/generate_library_loader.gni +--- chromium-53.0.2785.92/tools/generate_library_loader/generate_library_loader.gni.link_libgio 2016-09-02 21:02:26.000000000 +0200 ++++ chromium-53.0.2785.92/tools/generate_library_loader/generate_library_loader.gni 2016-09-09 14:22:50.905725074 +0200 +@@ -35,20 +35,21 @@ + rebase_path(output_cc), + "--header", + invoker.header, +- +- # Note GYP build exposes a per-target variable to control this, which, if +- # manually set to true, will disable dlopen(). Its not clear this is +- # needed, so here we just leave off. If this can be done globally, we can +- # expose one switch for this value, otherwise we need to add a template +- # param for this. +- "--link-directly=0", + ] ++ if (invoker.link_directly) { ++ args += [ "--link-directly=1", ] ++ } else { ++ args += [ "--link-directly=0", ] ++ } + if (defined(invoker.bundled_header)) { + args += [ + "--bundled-header", + invoker.bundled_header, + ] + } ++ if (defined(invoker.use_extern_c) && invoker.use_extern_c) { ++ args += [ "--use-extern-c", ] ++ } + args += invoker.functions + } + +--- chromium-53.0.2785.92/third_party/speech-dispatcher/BUILD.gn.link_libgio 2016-09-02 21:02:25.000000000 +0200 ++++ chromium-53.0.2785.92/third_party/speech-dispatcher/BUILD.gn 2016-09-09 14:48:08.131650961 +0200 +@@ -2,14 +2,23 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++declare_args() { ++ linux_link_libspeechd = false ++} ++ ++config("speech_dispatcher_config") { ++ libs = [ "speechd" ] ++} ++ + import("//tools/generate_library_loader/generate_library_loader.gni") + +-generate_library_loader("speech-dispatcher") { ++generate_library_loader("speech-dispatcher-loader") { + name = "LibSpeechdLoader" + output_h = "libspeechd.h" + output_cc = "libspeechd.cc" + header = "" + bundled_header = "\"third_party/speech-dispatcher/libspeechd.h\"" ++ link_directly = linux_link_libspeechd + + functions = [ + "spd_open", +@@ -28,3 +37,10 @@ + "spd_set_language", + ] + } ++ ++source_set("speech-dispatcher") { ++ public_deps = [ ":speech-dispatcher-loader" ] ++ if (linux_link_libspeechd) { ++ public_configs = [ ":speech_dispatcher_config" ] ++ } ++} diff --git a/chromium-54-ffmpeg-2.8.patch b/chromium-54-ffmpeg-2.8.patch new file mode 100644 index 0000000..d8f7082 --- /dev/null +++ b/chromium-54-ffmpeg-2.8.patch @@ -0,0 +1,20 @@ +diff -up chromium-54.0.2840.71/media/ffmpeg/ffmpeg_common.cc.ffmpeg-2.8 chromium-54.0.2840.71/media/ffmpeg/ffmpeg_common.cc +--- chromium-54.0.2840.71/media/ffmpeg/ffmpeg_common.cc.ffmpeg-2.8 2016-10-31 19:26:32.599632709 +0100 ++++ chromium-54.0.2840.71/media/ffmpeg/ffmpeg_common.cc 2016-11-03 21:36:28.282984313 +0100 +@@ -792,7 +792,6 @@ TEST_PRIMARY(SMPTE170M); + TEST_PRIMARY(SMPTE240M); + TEST_PRIMARY(FILM); + TEST_PRIMARY(BT2020); +-TEST_PRIMARY(SMPTEST428_1); + + TEST_TRANSFER(RESERVED0); + TEST_TRANSFER(BT709); +@@ -810,8 +809,6 @@ TEST_TRANSFER(BT1361_ECG); + TEST_TRANSFER(IEC61966_2_1); + TEST_TRANSFER(BT2020_10); + TEST_TRANSFER(BT2020_12); +-TEST_TRANSFER(SMPTEST2084); +-TEST_TRANSFER(SMPTEST428_1); + + TEST_COLORSPACE(RGB); + TEST_COLORSPACE(BT709); diff --git a/chromium-54-gn-system-icu.patch b/chromium-54-gn-system-icu.patch new file mode 100644 index 0000000..ef3ae88 --- /dev/null +++ b/chromium-54-gn-system-icu.patch @@ -0,0 +1,248 @@ +--- /dev/null 2016-10-22 17:04:13.204827706 +0200 ++++ chromium-55.0.2883.11/build/linux/unbundle/icu.gn 2016-10-14 00:02:10.000000000 +0200 +@@ -0,0 +1,235 @@ ++# 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") ++ ++group("icu") { ++ public_deps = [ ++ ":icui18n", ++ ":icuuc", ++ ] ++} ++ ++config("icu_config") { ++ defines = [ ++ "USING_SYSTEM_ICU=1", ++ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", ++ ] ++} ++ ++pkg_config("system_icui18n") { ++ packages = [ "icu-i18n" ] ++} ++ ++pkg_config("system_icuuc") { ++ packages = [ "icu-uc" ] ++} ++ ++source_set("icui18n") { ++ deps = [ ++ ":icui18n_shim", ++ ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icui18n", ++ ] ++} ++ ++source_set("icuuc") { ++ deps = [ ++ ":icuuc_shim", ++ ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icuuc", ++ ] ++} ++ ++shim_headers("icui18n_shim") { ++ root_path = "source/i18n" ++ headers = [ ++ # This list can easily be updated using the command below: ++ # find third_party/icu/source/i18n/unicode \ ++ # -iname '*.h' -printf '"%p",\n' | \ ++ # sed -e 's|third_party/icu/i18n/common/||' | sort -u ++ "unicode/alphaindex.h", ++ "unicode/basictz.h", ++ "unicode/calendar.h", ++ "unicode/choicfmt.h", ++ "unicode/coleitr.h", ++ "unicode/coll.h", ++ "unicode/compactdecimalformat.h", ++ "unicode/curramt.h", ++ "unicode/currpinf.h", ++ "unicode/currunit.h", ++ "unicode/datefmt.h", ++ "unicode/dcfmtsym.h", ++ "unicode/decimfmt.h", ++ "unicode/dtfmtsym.h", ++ "unicode/dtitvfmt.h", ++ "unicode/dtitvinf.h", ++ "unicode/dtptngen.h", ++ "unicode/dtrule.h", ++ "unicode/fieldpos.h", ++ "unicode/fmtable.h", ++ "unicode/format.h", ++ "unicode/fpositer.h", ++ "unicode/gender.h", ++ "unicode/gregocal.h", ++ "unicode/locdspnm.h", ++ "unicode/measfmt.h", ++ "unicode/measunit.h", ++ "unicode/measure.h", ++ "unicode/msgfmt.h", ++ "unicode/numfmt.h", ++ "unicode/numsys.h", ++ "unicode/plurfmt.h", ++ "unicode/plurrule.h", ++ "unicode/rbnf.h", ++ "unicode/rbtz.h", ++ "unicode/regex.h", ++ "unicode/region.h", ++ "unicode/reldatefmt.h", ++ "unicode/scientificnumberformatter.h", ++ "unicode/search.h", ++ "unicode/selfmt.h", ++ "unicode/simpletz.h", ++ "unicode/smpdtfmt.h", ++ "unicode/sortkey.h", ++ "unicode/stsearch.h", ++ "unicode/tblcoll.h", ++ "unicode/timezone.h", ++ "unicode/tmunit.h", ++ "unicode/tmutamt.h", ++ "unicode/tmutfmt.h", ++ "unicode/translit.h", ++ "unicode/tzfmt.h", ++ "unicode/tznames.h", ++ "unicode/tzrule.h", ++ "unicode/tztrans.h", ++ "unicode/ucal.h", ++ "unicode/ucol.h", ++ "unicode/ucoleitr.h", ++ "unicode/ucsdet.h", ++ "unicode/ucurr.h", ++ "unicode/udat.h", ++ "unicode/udateintervalformat.h", ++ "unicode/udatpg.h", ++ "unicode/udisplaycontext.h", ++ "unicode/ufieldpositer.h", ++ "unicode/uformattable.h", ++ "unicode/ugender.h", ++ "unicode/uldnames.h", ++ "unicode/ulocdata.h", ++ "unicode/umsg.h", ++ "unicode/unirepl.h", ++ "unicode/unum.h", ++ "unicode/unumsys.h", ++ "unicode/upluralrules.h", ++ "unicode/uregex.h", ++ "unicode/uregion.h", ++ "unicode/usearch.h", ++ "unicode/uspoof.h", ++ "unicode/utmscale.h", ++ "unicode/utrans.h", ++ "unicode/vtzone.h", ++ ] ++} ++ ++shim_headers("icuuc_shim") { ++ root_path = "source/common" ++ headers = [ ++ # This list can easily be updated using the command below: ++ # find third_party/icu/source/common/unicode \ ++ # -iname '*.h' -printf '"%p",\n' | \ ++ # sed -e 's|third_party/icu/source/common/||' | sort -u ++ "unicode/appendable.h", ++ "unicode/brkiter.h", ++ "unicode/bytestream.h", ++ "unicode/bytestrie.h", ++ "unicode/bytestriebuilder.h", ++ "unicode/caniter.h", ++ "unicode/chariter.h", ++ "unicode/dbbi.h", ++ "unicode/docmain.h", ++ "unicode/dtintrv.h", ++ "unicode/enumset.h", ++ "unicode/errorcode.h", ++ "unicode/filteredbrk.h", ++ "unicode/icudataver.h", ++ "unicode/icuplug.h", ++ "unicode/idna.h", ++ "unicode/listformatter.h", ++ "unicode/localpointer.h", ++ "unicode/locid.h", ++ "unicode/messagepattern.h", ++ "unicode/normalizer2.h", ++ "unicode/normlzr.h", ++ "unicode/parseerr.h", ++ "unicode/parsepos.h", ++ "unicode/platform.h", ++ "unicode/ptypes.h", ++ "unicode/putil.h", ++ "unicode/rbbi.h", ++ "unicode/rep.h", ++ "unicode/resbund.h", ++ "unicode/schriter.h", ++ "unicode/std_string.h", ++ "unicode/strenum.h", ++ "unicode/stringpiece.h", ++ "unicode/stringtriebuilder.h", ++ "unicode/symtable.h", ++ "unicode/ubidi.h", ++ "unicode/ubrk.h", ++ "unicode/ucasemap.h", ++ "unicode/ucat.h", ++ "unicode/uchar.h", ++ "unicode/ucharstrie.h", ++ "unicode/ucharstriebuilder.h", ++ "unicode/uchriter.h", ++ "unicode/uclean.h", ++ "unicode/ucnv.h", ++ "unicode/ucnv_cb.h", ++ "unicode/ucnv_err.h", ++ "unicode/ucnvsel.h", ++ "unicode/uconfig.h", ++ "unicode/udata.h", ++ "unicode/uenum.h", ++ "unicode/uidna.h", ++ "unicode/uiter.h", ++ "unicode/ulistformatter.h", ++ "unicode/uloc.h", ++ "unicode/umachine.h", ++ "unicode/umisc.h", ++ "unicode/unifilt.h", ++ "unicode/unifunct.h", ++ "unicode/unimatch.h", ++ "unicode/uniset.h", ++ "unicode/unistr.h", ++ "unicode/unorm.h", ++ "unicode/unorm2.h", ++ "unicode/uobject.h", ++ "unicode/urename.h", ++ "unicode/urep.h", ++ "unicode/ures.h", ++ "unicode/uscript.h", ++ "unicode/uset.h", ++ "unicode/usetiter.h", ++ "unicode/ushape.h", ++ "unicode/usprep.h", ++ "unicode/ustring.h", ++ "unicode/ustringtrie.h", ++ "unicode/utext.h", ++ "unicode/utf.h", ++ "unicode/utf16.h", ++ "unicode/utf32.h", ++ "unicode/utf8.h", ++ "unicode/utf_old.h", ++ "unicode/utrace.h", ++ "unicode/utypes.h", ++ "unicode/uvernum.h", ++ "unicode/uversion.h", ++ ] ++} +--- chromium-54.0.2840.71/build/linux/unbundle/replace_gn_files.py.gn-system-icu 2016-10-21 00:01:59.000000000 +0200 ++++ chromium-54.0.2840.71/build/linux/unbundle/replace_gn_files.py 2016-10-22 21:31:25.859269944 +0200 +@@ -20,6 +20,7 @@ + 'ffmpeg': 'third_party/ffmpeg/BUILD.gn', + 'flac': 'third_party/flac/BUILD.gn', + 'harfbuzz-ng': 'third_party/harfbuzz-ng/BUILD.gn', ++ 'icu': 'third_party/icu/BUILD.gn', + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn', + 'libpng': 'third_party/libpng/BUILD.gn', diff --git a/chromium-54-no-ash.patch b/chromium-54-no-ash.patch new file mode 100644 index 0000000..ad33485 --- /dev/null +++ b/chromium-54-no-ash.patch @@ -0,0 +1,38 @@ +--- chromium-54.0.2840.16/chrome/browser/extensions/api/tabs/tabs_api.cc.no-ash 2016-09-09 00:02:22.000000000 +0200 ++++ chromium-54.0.2840.16/chrome/browser/extensions/api/tabs/tabs_api.cc 2016-09-13 06:30:44.958499013 +0200 +@@ -260,6 +260,7 @@ + return true; + } + ++#if defined(USE_ASH) + bool IsHangoutsExtensionId(const std::string& extension_id) { + for (const char* id : extension_misc::kHangoutsExtensionIds) { + if (extension_id == id) +@@ -267,6 +268,7 @@ + } + return false; + } ++#endif // defined(USE_ASH) + + } // namespace + +@@ -520,7 +522,9 @@ + + gfx::Rect window_bounds; + bool focused = true; ++#if defined(USE_ASH) + bool saw_focus_key = false; ++#endif // defined(USE_ASH) + std::string extension_id; + + if (create_data) { +@@ -593,7 +597,9 @@ + + if (create_data->focused) { + focused = *create_data->focused; ++#if defined(USE_ASH) + saw_focus_key = true; ++#endif // defined(USE_ASH) + } + } + diff --git a/chromium-54-no-deprecated-error.patch b/chromium-54-no-deprecated-error.patch new file mode 100644 index 0000000..2d4e0c5 --- /dev/null +++ b/chromium-54-no-deprecated-error.patch @@ -0,0 +1,18 @@ +diff -urN chromium-54.0.2840.100/base/BUILD.gn chromium-54.0.2840.100-patched/base/BUILD.gn +--- chromium-54.0.2840.100/base/BUILD.gn 2016-11-11 06:02:09.000000000 +1000 ++++ chromium-54.0.2840.100-patched/base/BUILD.gn 2016-11-16 15:18:19.361838354 +1000 +@@ -45,13 +45,7 @@ + } + + config("base_flags") { +- if (is_clang) { +- cflags = [ +- # Don't die on dtoa code that uses a char as an array index. +- # This is required solely for base/third_party/dmg_fp/dtoa_wrapper.cc. +- "-Wno-char-subscripts", +- ] +- } ++ cflags = [ "-Wno-error=deprecated-declarations" ] + } + + config("base_implementation") { diff --git a/chromium-54-proprietary-codecs-assert.patch b/chromium-54-proprietary-codecs-assert.patch new file mode 100644 index 0000000..0218543 --- /dev/null +++ b/chromium-54-proprietary-codecs-assert.patch @@ -0,0 +1,15 @@ +--- chromium-54.0.2840.16/media/BUILD.gn.proprietary-codecs 2016-09-09 00:02:27.000000000 +0200 ++++ chromium-54.0.2840.16/media/BUILD.gn 2016-09-12 15:08:34.566096246 +0200 +@@ -23,12 +23,6 @@ + ] + } + +-if (proprietary_codecs && media_use_ffmpeg) { +- assert( +- ffmpeg_branding != "Chromium", +- "proprietary codecs and ffmpeg_branding set to Chromium are incompatible") +-} +- + # Common configuration for targets in the media directory. + # NOT for exporting. + config("media_config") { diff --git a/chromium-arm-r0.patch b/chromium-arm-r0.patch deleted file mode 100644 index 33adc0a..0000000 --- a/chromium-arm-r0.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/icu/icu.gyp.orig 2014-05-20 19:17:22.879538568 -0600 -+++ third_party/icu/icu.gyp 2014-05-20 19:19:42.204032167 -0600 -@@ -34,7 +34,7 @@ - }], - ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ - or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ -- (target_arch=="arm" or target_arch=="ia32" or \ -+ (target_arch=="ia32" or \ - target_arch=="mipsel")', { - 'target_conditions': [ - ['_toolset=="host"', { diff --git a/chromium-browser-stable.rpmlintrc b/chromium-browser-stable.rpmlintrc new file mode 100644 index 0000000..a90fbe7 --- /dev/null +++ b/chromium-browser-stable.rpmlintrc @@ -0,0 +1 @@ +addFilter("use-of-RPM_SOURCE_DIR") diff --git a/chromium-browser-stable.spec b/chromium-browser-stable.spec index d2f6420..7adb07b 100644 --- a/chromium-browser-stable.spec +++ b/chromium-browser-stable.spec @@ -9,7 +9,6 @@ %define _src %{_topdir}/SOURCES %define chromium_system_libs 1 -%define clang 0 %define ffmpeg 0 %define icu 0 %define libva 0 @@ -17,32 +16,62 @@ # http://bugs.rosalinux.ru/show_bug.cgi?id=6826#c3 %define gtk3 0 +# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys +# Note: these are for Mageia use ONLY. +# For your own builds, please get your own set of keys. +%define google_api_key AIzaSyCV9AOzytWwWCtNE8f7ZV56fP1u9yWwhVU +%define google_default_client_id 1039996407057.apps.googleusercontent.com +%define google_default_client_secret mLT8XooDODav1OJG5G3bY61d + Summary: A fast web browser based on the Blink engine Name: chromium-browser-stable -Version: 53.0.2785.92 +Version: 54.0.2840.100 Release: 1 License: BSD, LGPL Group: Networking/WWW Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz Source1: chromium-wrapper Source2: chromium-browser.desktop +# Setup toolchain for rosa builds, from gentoo +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/toolchain/BUILD.gn +Source5: BUILD.gn +Source10: %{name}.rpmlintrc Source30: master_preferences Source31: default_bookmarks.html Source32: chromium.default Source100: icons.tar.bz2 Source997: depot_tools.tar.xz -Source998: gn-binaries.tar.xz Source999: new-system-icons.tar.xz Source1000: README.urpmi +Patch0: chromium-54-no-deprecated-error.patch Patch4: chromium-30.0.1599.66-master-prefs-path.patch # PATCH-FIX-UPSTREAM Add more charset aliases Patch6: chromium-more-codec-aliases.patch # PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings Patch15: chromium-25.0.1364.172-sandbox-pie.patch -# archlinux arm enhancement patches -Patch100: arm-webrtc-fix.patch -Patch101: chromium-arm-r0.patch +# (cjw) fix build with system icu using gn +Patch21: chromium-54-gn-system-icu.patch +# (cjw) remove assertion on "chromium" branding in combination with enabled "proprietary codecs" +Patch22: chromium-54-proprietary-codecs-assert.patch +# (cjw) fix a compilation warning +Patch23: chromium-53-bignum-werror-fix.patch +# (cjw) add -Wno-error=depecated-declarations because ffmpeg deprecations cause the build to fail +Patch24: chromium-53-ffmpeg-no-deprecation-errors.patch +# (cjw) fix compilation warnings when built with ASH disabled +Patch25: chromium-54-no-ash.patch +# (cjw) fix BreakIterator ambiguity +Patch26: chromium-53-breakiterator.patch +# (cjw) link several libraries directly instead of loading them using dlopen() +Patch27: chromium-53-link-libgio-libpci-libudev-libbrlapi.patch +# (cjw) add missing unbundle gn files (1) +Patch28: chromium-53-gn-system-icu-jsoncpp.patch +# (cjw) add missing unbundle gn files (2) +Patch29: chromium-53-gn-system-opus.patch +# (cjw) build pdfium with system libtiff and libpng +Patch30: chromium-52-pdfium-system-libtiff-libpng.patch +# (cjw) fix build with ffmpeg 2.8.x +Patch31: chromium-54-ffmpeg-2.8.patch # New from Debian Patch500: chromium-third-party-cookies-off-by-default.patch @@ -50,9 +79,9 @@ Patch501: chromium-ps-print.patch # Google patched their bundled copy of icu 54 to include API functionality that wasn't added until 55. # :P -Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone.patch +Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone.patch # http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromium-browser.trusty.beta/revision/230#debian/patches/enable_vaapi_on_linux.diff -Patch503: enable_vaapi_on_linux.diff +Patch503: enable_vaapi_on_linux.diff # Patch to fix build with use_system_libvpx # Chromium bug #541273 # fix build with icu other than 54 @@ -64,27 +93,30 @@ Patch505: chromium-system-ffmpeg-r3.patch Patch506: chromium-51-system-ffmpeg-3.patch # fix https://bugs.chromium.org/p/chromium/issues/detail?id=585513 # vaInitialize failed VA error: unknown libva error -Patch507: issue1688073002_40001.diff -# https://aur.archlinux.org/cgit/aur.git/plain/PNGImageDecoder.patch?h=chromium-gtk3 -# fix build with system libpng -Patch601: PNGImageDecoder.patch +Patch507: issue1688073002_40001.diff Provides: %{crname} = %{EVRD} Conflicts: chromium-browser-unstable Conflicts: chromium-browser-beta Obsoletes: chromium-browser < 1:9.0.597.94 -BuildRequires: %{_lib}jsoncpp-devel BuildRequires: bison +BuildRequires: flex +BuildRequires: git +BuildRequires: gperf +BuildRequires: gyp +BuildRequires: ninja +BuildRequires: util-linux +BuildRequires: yasm +BuildRequires: atomic-devel BuildRequires: bzip2-devel BuildRequires: cap-devel BuildRequires: cups-devel BuildRequires: elfutils-devel -BuildRequires: flex -BuildRequires: gperf -BuildRequires: gyp BuildRequires: jpeg-devel -BuildRequires: ninja +BuildRequires: jsoncpp-devel BuildRequires: pam-devel +BuildRequires: snappy-devel +BuildRequires: speech-dispatcher-devel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(atk) BuildRequires: pkgconfig(dbus-glib-1) @@ -108,15 +140,16 @@ BuildRequires: pkgconfig(harfbuzz) %if 0%{icu} BuildRequires: pkgconfig(icu-i18n) %endif -BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libgpsd) BuildRequires: pkgconfig(libmtp) +BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libpci) +BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libusb-1.0) -BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) %if 0%{?libva} @@ -133,14 +166,6 @@ BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) -BuildRequires: speech-dispatcher-devel -BuildRequires: util-linux -BuildRequires: yasm -BuildRequires: %{_lib}atomic-devel - -%if 0%{?clang} -BuildRequires: clang -%endif Suggests: chromium-browser-pepper-flash Suggests: chromium-widevinecdm-plugin @@ -177,15 +202,17 @@ your profile before changing channels. %{_crdir}/chrome-sandbox %{_crdir}/icudtl.dat %{_crdir}/locales -%{_crdir}/lib +%{_crdir}/mus_app_resources_100.pak +%{_crdir}/mus_app_resources_200.pak +%{_crdir}/mus_app_resources_strings.pak %{_crdir}/resources.pak %{_crdir}/resources %{_crdir}/chrome_*_percent.pak -%{_crdir}/content_resources.pak %{_crdir}/keyboard_resources.pak %{_crdir}/*_blob.bin %{_crdir}/themes %{_crdir}/default_apps +%{_crdir}/views_mus_resources.pak %dir %{_crdir}/pepper %{_mandir}/man1/%{crname}* %{_datadir}/applications/*.desktop @@ -232,65 +259,26 @@ members of the Chromium and WebDriver teams. #---------------------------------------------------------------------------- %prep -%setup -qn chromium-%{version} -a 998 -a 997 -a 999 - -# files we do not want from upstream source bundles -rm -rf breakpad/src/processor/testdata/ -rm -rf chrome/app/test_data/dlls/ -rm -rf chrome/common/extensions/docs/ -#rm -rf chrome/test/data/ -rm -rf chrome/tools/test/reference_build/chrome_linux/ -rm -rf components/test/data/component_updater/jebgalgnebhfojomionfpkfelancnnkf/component1.dll -rm -rf content/test/data/ -rm -rf net/data/ -rm -rf ppapi/examples/ -rm -rf ppapi/native_client/tests/ -rm -rf third_party/apache-win32/ -rm -rf third_party/binutils/ -rm -rf third_party/expat/files/ -%if 0%{?ffmpeg} -rm -rf third_party/ffmpeg/*/* -rm -rf third_party/ffmpeg/*.[ch] -%endif -rm -rf third_party/flac/include -rm -rf third_party/flac/src -rm -rf third_party/lcov -rm -rf third_party/libevent/*/* -rm -rf third_party/libevent/*.[ch] -rm -rf libexif/sources -rm -rf libjpeg/*.[ch] -rm -rf libjpeg_turbo -rm -rf libpng/*.[ch] -rm -rf libxslt/libexslt -rm -rf libxslt/libxslt -rm -rf libxslt/linux -rm -rf libxslt/mac -rm -rf libxslt/win32 -rm -rf mesa/src/src -rm -rf swig -rm -rf third_party/WebKit/LayoutTests/ -rm -rf third_party/WebKit/Tools/Scripts/ -rm -rf third_party/xdg-utils/tests/ -rm -rf third_party/yasm/source/ -rm -rf tools/gyp/test/ -rm -rf v8/test/ - -%if 0%{icu} -# Remove bundled ICU; its header files appear to get picked up instead of -# the system ones, leading to errors during the final link stage. -# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q -find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete -%endif +%setup -qn chromium-%{version} -a 997 -a 999 +%patch0 -p1 %patch4 -p1 -b .prefs %patch6 -p0 #patch14 -p1 %patch15 -p1 -# archlinux arm enhancements -%patch100 -p0 -%patch101 -p0 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 # new from debian %patch500 -p1 @@ -310,7 +298,71 @@ find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete %patch505 -p1 %patch506 -p1 %endif -#patch601 -p1 + +# files we do not want from upstream source bundles +rm -rf breakpad/src/processor/testdata/ +rm -rf chrome/app/test_data/dlls/ +rm -rf chrome/common/extensions/docs/ +#rm -rf chrome/test/data/ +touch chrome/test/data/webui/i18n_process_css_test.html +rm -rf chrome/tools/test/reference_build/chrome_linux/ +rm -rf components/test/data/component_updater/jebgalgnebhfojomionfpkfelancnnkf/component1.dll +rm -rf content/test/data/ +rm -rf net/data/ +#rm -rf ppapi/examples/ +rm -rf ppapi/native_client/tests/ +rm -rf third_party/apache-win32/ +rm -rf third_party/binutils/ +rm -rf third_party/expat/files/ +#rm -rf third_party/ffmpeg/*/* +#rm -rf third_party/ffmpeg/*.[ch] +rm -rf third_party/flac/{include,src} +#rm -rf third_party/icu/{android,linux,mac,patches,public,source,windows} +rm -rf third_party/lcov +#rm -rf base/third_party/libevent/*/* +#rm -rf base/third_party/libevent/*.[ch] +#rm -rf third_party/libvpx/source/libvpx +rm -rf third_party/libexif/sources +rm -rf third_party/libjpeg/*.[ch] +rm -rf third_party/libjpeg_turbo/*.[ch] +rm -rf third_party/libpng/*.[ch] +rm -rf third_party/libxslt/{libexslt,libxslt,linux,mac,win32} +rm -rf third_party/mesa/src/src +rm -rf third_party/swig +rm -rf third_party/WebKit/LayoutTests/ +rm -rf third_party/WebKit/Tools/Scripts/ +rm -rf third_party/xdg-utils/tests/ +rm -rf third_party/yasm/source/ +rm -rf third_party/zlib/{*.[ch],contrib/minizip} +rm -rf tools/gyp/test/ +#rm -rf v8/test/ +rm -r third_party/pdfium/third_party/libjpeg/*.[ch] +rm -f third_party/pdfium/third_party/libtiff/*.[ch] + +rm -f third_party/skia/platform_tools/android/apps/gradle/wrapper/gradle-wrapper.jar +rm -f third_party/WebKit/Source/devtools/scripts/jsdoc-validator/jsdoc-validator.jar +rm -f third_party/WebKit/Source/devtools/scripts/closure/compiler.jar +rm -f third_party/WebKit/Source/devtools/scripts/compiler-runner/closure-runner.jar +rm -rf third_party/sfntly/src/java/lib +rm -f third_party/haha/haha-2.0.2.jar +rm -f third_party/android_platform/webview/frameworks_5.1.0_r1.jar +rm -f third_party/android_platform/webview/frameworks_6.0.jar +rm -f third_party/libphonenumber/dist/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar +rm -f third_party/libphonenumber/dist/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar +rm -rf third_party/libphonenumber/dist/java/demo/war/WEB-INF/lib +rm -rf third_party/libphonenumber/dist/java/lib +rm -f third_party/webrtc/examples/androidapp/third_party/autobanh/autobanh.jar +rm -rf third_party/cacheinvalidation/src/example-app-build/libs +rm -f third_party/closure_compiler/runner/runner.jar +rm -f third_party/closure_compiler/compiler/compiler.jar +rm -rf third_party/proguard/lib +rm -f third_party/checkstyle/checkstyle-6.5-all.jar +rm -rf third_party/sfntly/src/cpp/ext + +# Remove bundled ICU; its header files appear to get picked up instead of +# the system ones, leading to errors during the final link stage. +# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q +#find third_party/icu -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete ### build with widevine support @@ -324,137 +376,70 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"%{product_vendor} %{product_ve cmp $FILE $FILE.orig && exit 1 %build -# https://groups.google.com/a/chromium.org/forum/#!topic/chromium-packagers/9JX1N2nf4PU -touch chrome/test/data/webui/i18n_process_css_test.html -touch chrome/test/data/webui_test_resources.grd +%define system_gn_list flac harfbuzz-ng libxml libxslt snappy yasm libpng zlib jsoncpp opus +# icu +# ffmpeg +# libevent +# libvpx +# libwebp -buildconfig+="-Dwerror= - -Dlinux_sandbox_chrome_path=%{_libdir}/%{name}/chrome - -Dproprietary_codecs=1 - -Dremove_webcore_debug_symbols=1 - -Dlogging_like_official_build=1 - -Dlinux_fpic=1 - -Ddisable_sse2=1 - -Dcomponent=shared_library - -Ddisable_nacl=1 - -Ddisable_glibc=0 - -Ddisable_pnacl=1 - -Ddisable_newlib_untar=0 - -Duse_system_xdg_utils=1 - -Denable_hotwording=0 - -Denable_widevine=1 - -Denable_hidpi=1 - -Denable_touch_ui=1 - -Denable_pepper_cdms=1 - -Denable_webrtc=1 - -Drtc_use_h264=1 - -Duse_gnome_keyring=1 - -Duse_gconf=0 - -Duse_sysroot=0 - -Duse_aura=1" +# v NO TABS IN HERE! +%define gn_config use_gconf=false\ + use_sysroot=false \ + system_libdir="%{_lib}" \ + icu_use_data_file=true \ + enable_nacl=false \ + is_nacl_glibc=false \ + binutils_path="%{_bindir}" \ + linux_use_bundled_binutils=false \ + use_gold=false \ + custom_toolchain="%{_sourcedir}:default" \ + proprietary_codecs=true \ + linux_link_libgio = true \ + linux_link_libpci = true \ + linux_link_libudev = true \ + linux_link_libspeechd = true \ + enable_ac3_eac3_audio_demuxing=true \ + enable_mse_mpeg2ts_stream_parser=true \ + enable_hevc_demuxing=true \ + use_system_libjpeg=true \ + use_libjpeg_turbo=false \ + enable_widevine=true \ + enable_browser_cdms=true \ + pdf_enable_xfa=true \ + use_pulseaudio=true \ + use_allocator="none" \ + use_gtk3=false \ + treat_warnings_as_errors=false \ + fatal_linker_warnings=false \ + use_libpci = true \ + is_debug=false \ + is_clang=false \ + google_api_key="%{google_api_key}" \ + google_default_client_id="%{google_default_client_id}" \ + google_default_client_secret="%{google_default_client_secret}" -%if 0%{?gtk3} -buildconfig+=" -Duse_gtk3=1" -%else -buildconfig+=" -Dtoolkit_uses_gtk=0" -%endif +build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list} +third_party/libaddressinput/chromium/tools/update-strings.py -%if 0%{?ffmpeg} -buildconfig+=" -Duse_system_ffmpeg=1" -%else -buildconfig+=" -Duse_system_ffmpeg=0 - -Dbuild_ffmpegsumo=1 - -Dffmpeg_branding=Chrome" -%endif +%setup_compile_flags +CC=%{__cc}; export CC +CXX=%{__cxx}; export CXX +AR=%{__ar}; export AR +NM=%{__nm}; export NM +LD=%{__cxx}; export LD -%if 0%{?clang} -buildconfig+=" -Dclang=1 - -Dclang_use_chrome_plugins=0" -%else -buildconfig+=" -Dclang=0" -%endif +# filter out some flags to fix i586 builds +CFLAGS=$(echo "$CFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments//' -e 's/-frecord-gcc-switches//') +CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments//' -e 's/-frecord-gcc-switches//') -%if 0%{icu} -buildconfig+=" -Duse_system_icu=1" -%else -buildconfig+=" -Duse_system_icu=0" -%endif +python tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}' -%if 0%{?chromium_system_libs} -buildconfig+=" -Duse_system_flac=1 - -Duse_system_speex=1 - -Duse_system_fontconfig=1 - -Duse_system_jsoncpp=1 - -Duse_system_expat=1 - -Duse_system_libexif=1 - -Duse_system_libevent=1 - -Duse_system_libmtp=1 - -Duse_system_opus=1 - -Duse_system_bzip2=1 - -Duse_system_harfbuzz=0 - -Duse_system_libjpeg=1 - -Duse_system_libpng=1 - -Duse_system_libxslt=1 - -Duse_system_libxml=0 - -Duse_system_libyuv=1 - -Duse_system_nspr=1 - -Duse_system_protobuf=0 - -Duse_system_zlib=1 - -Duse_system_libvpx=0 - -Duse_system_yasm=1" -%else -buildconfig+=" -Duse_system_flac=0 - -Duse_system_speex=0 - -Duse_system_libexif=0 - -Duse_system_libevent=0 - -Duse_system_libmtp=0 - -Duse_system_opus=0 - -Duse_system_bzip2=0 - -Duse_system_harfbuzz=0 - -Duse_system_libjpeg=0 - -Duse_system_libpng=0 - -Duse_system_libxslt=0 - -Duse_system_libxml=0 - -Duse_system_libyuv=0 - -Duse_system_nspr=0 - -Duse_system_protobuf=0 - -Duse_system_yasm=0" -%endif +out/Release/gn gen --args='%{gn_config}' out/Release -%ifarch x86_64 -buildconfig+=" -Dsystem_libdir=lib64 - -Dtarget_arch=x64" -%endif - -buildconfig+=" -Duse_pulseaudio=1 - -Dlinux_link_libpci=1 - -Dlinux_link_gnome_keyring=1 - -Dlinux_link_gsettings=1 - -Dlinux_link_libgps=1 - -Dlinux_link_libspeechd=1 - -Djavascript_engine=v8 - -Dlinux_use_gold_binary=0 - -Dlinux_use_gold_flags=0 - -Dgoogle_api_key=AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q - -Dgoogle_default_client_id=4139804441.apps.googleusercontent.com - -Dgoogle_default_client_secret=KDTRKEZk2jwT_7CDpcmMA--P" - -%if 0%{?clang} -export CC=/usr/bin/clang -export CXX=/usr/bin/clang++ -# Modern Clang produces a *lot* of warnings -export CXXFLAGS="${CXXFLAGS} -Wno-unknown-warning-option -Wno-unused-local-typedef -Wunknown-attributes -Wno-tautological-undefined-compare" -export GYP_DEFINES="clang=1" -%endif - -build/linux/unbundle/replace_gyp_files.py $buildconfig - -export GYP_GENERATORS='ninja' -./build/gyp_chromium build/all.gyp --depth=. $buildconfig - -mkdir -p out/Release - -ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter clearkeycdm +pushd out/Release +ninja %{_smp_mflags} chrome chrome_sandbox chromedriver widevinecdmadapter clearkeycdm +popd %install mkdir -p %{buildroot}%{_bindir} @@ -471,10 +456,6 @@ install -m 644 out/Release/*.pak %{buildroot}%{_crdir}/ install -m 644 out/Release/icudtl.dat %{buildroot}%{_crdir}/ cp -a out/Release/*_blob.bin %{buildroot}%{_crdir}/ -# chromium components -mkdir -p %{buildroot}%{_crdir}/lib/ -cp -av out/Release/lib/*.so %{buildroot}%{_crdir}/lib/ - install -m 644 out/Release/locales/*.pak %{buildroot}%{_crdir}/locales/ install -m 644 out/Release/resources.pak %{buildroot}%{_crdir}/ install -m 644 chrome/browser/resources/default_apps/* %{buildroot}%{_crdir}/default_apps/ diff --git a/icons.tar.bz2 b/icons.tar.bz2 deleted file mode 100644 index 0e29ea3..0000000 Binary files a/icons.tar.bz2 and /dev/null differ