From 5648fe9ad4c61eb7baeddd9d6cea4a5f8c7a7c99 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 8 May 2016 10:03:59 +0200 Subject: [PATCH] chromium: update to 50.0.2661.94. - Update musl patches. - Remove INSTALL script; chrome-sandbox is already setuid. - Close #4156 --- srcpkgs/chromium/INSTALL | 6 --- srcpkgs/chromium/patches/no-execinfo.patch | 62 ++++++++++++++-------- srcpkgs/chromium/patches/no-mallinfo.patch | 38 ++++--------- srcpkgs/chromium/template | 16 +++--- 4 files changed, 60 insertions(+), 62 deletions(-) delete mode 100644 srcpkgs/chromium/INSTALL diff --git a/srcpkgs/chromium/INSTALL b/srcpkgs/chromium/INSTALL deleted file mode 100644 index b7d700e0316..00000000000 --- a/srcpkgs/chromium/INSTALL +++ /dev/null @@ -1,6 +0,0 @@ -case "$ACTION" in -post) - # chrome-sandbox must be setuid - chmod 4755 usr/lib/chromium/chrome-sandbox - ;; -esac diff --git a/srcpkgs/chromium/patches/no-execinfo.patch b/srcpkgs/chromium/patches/no-execinfo.patch index de1c6b34ca3..de56066bff3 100644 --- a/srcpkgs/chromium/patches/no-execinfo.patch +++ b/srcpkgs/chromium/patches/no-execinfo.patch @@ -1,6 +1,6 @@ ---- ./base/debug/stack_trace_posix.cc.orig -+++ ./base/debug/stack_trace_posix.cc -@@ -22,7 +22,7 @@ +--- base/debug/stack_trace_posix.cc.orig 2016-05-08 07:59:51.749087517 +0200 ++++ base/debug/stack_trace_posix.cc 2016-05-08 08:01:24.988950619 +0200 +@@ -24,7 +24,7 @@ #if defined(__GLIBCXX__) #include #endif @@ -9,7 +9,7 @@ #include #endif -@@ -73,7 +73,7 @@ +@@ -75,7 +75,7 @@ void DemangleSymbols(std::string* text) // Note: code in this function is NOT async-signal safe (std::string uses // malloc internally). @@ -18,16 +18,34 @@ std::string::size_type search_from = 0; while (search_from < text->size()) { -@@ -169,7 +169,7 @@ - - handler->HandleOutput("\n"); +@@ -112,7 +112,7 @@ void DemangleSymbols(std::string* text) + } } --#elif !defined(__UCLIBC__) -+#elif defined(__GLIBC__) - bool printed = false; - // Below part is async-signal unsafe (uses malloc), so execute it only -@@ -738,7 +738,7 @@ +-#endif // defined(__GLIBCXX__) && !defined(__UCLIBC__) ++#endif // defined(__GLIBCXX__) && defined(__GLIBC__) + } + #endif // !defined(USE_SYMBOLIZE) + +@@ -124,7 +124,7 @@ class BacktraceOutputHandler { + virtual ~BacktraceOutputHandler() {} + }; + +-#if !defined(__UCLIBC__) ++#if defined(__GLIBC__) + void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { + // This should be more than enough to store a 64-bit number in hex: + // 16 hex digits + 1 for null-terminator. +@@ -201,7 +201,7 @@ void ProcessBacktrace(void *const *trace + } + #endif // defined(USE_SYMBOLIZE) + } +-#endif // !defined(__UCLIBC__) ++#endif // defined(__GLIBC__) + + void PrintToStderr(const char* output) { + // NOTE: This code MUST be async-signal safe (it's used by in-process +@@ -716,7 +716,7 @@ StackTrace::StackTrace() { // NOTE: This code MUST be async-signal safe (it's used by in-process // stack dumping signal handler). NO malloc or stdio is allowed here. @@ -36,7 +54,7 @@ // Though the backtrace API man page does not list any possible negative // return values, we take no chance. count_ = base::saturated_cast(backtrace(trace_, arraysize(trace_))); -@@ -751,13 +751,13 @@ +@@ -729,13 +729,13 @@ void StackTrace::Print() const { // NOTE: This code MUST be async-signal safe (it's used by in-process // stack dumping signal handler). NO malloc or stdio is allowed here. @@ -52,10 +70,10 @@ void StackTrace::OutputToStream(std::ostream* os) const { StreamBacktraceOutputHandler handler(os); ProcessBacktrace(trace_, count_, &handler); ---- ./third_party/WebKit/Source/wtf/Assertions.cpp.orig -+++ ./third_party/WebKit/Source/wtf/Assertions.cpp -@@ -61,7 +61,7 @@ - #define HAVE_ISDEBUGGERPRESENT 1 +--- third_party/WebKit/Source/wtf/Assertions.cpp.orig 2016-05-08 08:02:03.230553120 +0200 ++++ third_party/WebKit/Source/wtf/Assertions.cpp 2016-05-08 08:02:35.822504255 +0200 +@@ -60,7 +60,7 @@ + #include #endif -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) @@ -63,7 +81,7 @@ #include #include #include -@@ -222,7 +222,7 @@ +@@ -220,7 +220,7 @@ void WTFReportArgumentAssertionFailure(c void WTFGetBacktrace(void** stack, int* size) { @@ -72,7 +90,7 @@ *size = backtrace(stack, *size); #elif OS(WIN) // The CaptureStackBackTrace function is available in XP, but it is not defined -@@ -260,7 +260,7 @@ +@@ -258,7 +258,7 @@ FrameToNameScope::FrameToNameScope(void* : m_name(0) , m_cxaDemangled(0) { @@ -81,8 +99,8 @@ Dl_info info; if (!dladdr(addr, &info) || !info.dli_sname) return; ---- ./third_party/webrtc/base/checks.cc.orig -+++ ./third_party/webrtc/base/checks.cc +--- third_party/webrtc/base/checks.cc.orig 2016-05-08 08:03:04.398461275 +0200 ++++ third_party/webrtc/base/checks.cc 2016-05-08 08:03:24.254431362 +0200 @@ -16,7 +16,7 @@ #include #include @@ -92,7 +110,7 @@ #include #include #endif -@@ -55,7 +55,7 @@ +@@ -55,7 +55,7 @@ void PrintError(const char* format, ...) // to get usable symbols on Linux. This is copied from V8. Chromium has a more // advanced stace trace system; also more difficult to copy. void DumpBacktrace() { diff --git a/srcpkgs/chromium/patches/no-mallinfo.patch b/srcpkgs/chromium/patches/no-mallinfo.patch index e9e82805884..9c5ea398785 100644 --- a/srcpkgs/chromium/patches/no-mallinfo.patch +++ b/srcpkgs/chromium/patches/no-mallinfo.patch @@ -1,38 +1,22 @@ ---- ./base/trace_event/malloc_dump_provider.cc.orig -+++ ./base/trace_event/malloc_dump_provider.cc -@@ -61,7 +61,7 @@ +--- base/trace_event/malloc_dump_provider.cc.orig 2016-05-08 08:04:01.166374018 +0200 ++++ base/trace_event/malloc_dump_provider.cc 2016-05-08 08:05:07.846264723 +0200 +@@ -61,7 +61,7 @@ bool MallocDumpProvider::OnMemoryDump(co // fixed quantum, so the excess region will not be resident. // See crrev.com/1531463004 for detailed explanation. resident_size = stats.max_size_in_use; -#else -+#elif defined(__GLIBC__) ++#elif defined(OS_LINUX) && defined(__GLIBC__) struct mallinfo info = mallinfo(); DCHECK_GE(info.arena + info.hblkhd, info.uordblks); -@@ -73,6 +73,7 @@ - allocated_objects_size = info.uordblks; - #endif - -+#if defined(USE_TCMALLOC) || defined(__GLIBC__) || defined(OS_MACOSX) || defined(OS_IOS) - MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc"); - outer_dump->AddScalar("virtual_size", MemoryAllocatorDump::kUnitsBytes, - total_virtual_size); -@@ -95,6 +96,7 @@ - MemoryAllocatorDump::kUnitsBytes, - resident_size - allocated_objects_size); - } -+#endif - - return true; - } ---- ./content/child/content_child_helpers.cc -+++ ./content/child/content_child_helpers.cc -@@ -18,7 +18,7 @@ - - namespace content { - +--- content/child/content_child_helpers.cc.orig 2016-05-08 08:05:37.415219394 +0200 ++++ content/child/content_child_helpers.cc 2016-05-08 08:06:27.110142484 +0200 +@@ -24,7 +24,7 @@ namespace content { + // though, this provides only a partial and misleading value. + // Unfortunately some telemetry benchmark rely on it and these need to + // be refactored before getting rid of this. See crbug.com/581365 . -#if defined(OS_LINUX) || defined(OS_ANDROID) -+#if defined(__GLIBC__) || defined(OS_ANDROID) ++#if defined(OS_LINUX) && defined(__GLIBC__) || defined(OS_ANDROID) size_t GetMemoryUsageKB() { struct mallinfo minfo = mallinfo(); uint64_t mem_usage = diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index fdd185f0edd..533f93644e5 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,24 +1,24 @@ # Template file for 'chromium' pkgname=chromium # See http://www.chromium.org/developers/calendar for the latest version -version=49.0.2623.112 +version=50.0.2661.94 revision=1 short_desc="Google's attempt at creating a safer, faster, and more stable browser" maintainer="Juan RP " homepage="http://www.chromium.org/" license="BSD" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=443b6d5f0d07f336783e700edc4ecae96769e105d0f8553e98fefae747302cf0 +checksum=66f0516b076d42b3f00a5fa4ebf31304cb98973179b1cb2fecda8e0b186dba19 only_for_archs="i686 x86_64 x86_64-musl" lib32disabled=yes nodebug=yes -hostmakedepends="yasm python pkg-config perl gperf bison ninja hwids icu-devel" +hostmakedepends="yasm python pkg-config perl gperf bison ninja hwids libatomic-devel" makedepends="libpng-devel gtk+-devel nss-devel pciutils-devel libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel - libXScrnSaver-devel alsa-lib-devel icu-devel snappy-devel + libXScrnSaver-devel alsa-lib-devel snappy-devel libxml2-devel libxslt-devel pulseaudio-devel nss-devel libexif-devel libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel libjpeg-turbo-devel libevent-devel json-c-devel re2-devel harfbuzz-devel @@ -53,7 +53,7 @@ pre_configure() { # 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 + #find third_party/icu -type f \! -regex '.*\.\(gyp\|gypi\|isolate\)' -delete # https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion touch chrome/test/data/webui/i18n_process_css_test.html @@ -98,7 +98,7 @@ do_configure() { conf+=" -Dclang_use_chrome_plugins=0 -Dpython_ver=2.7 - -Dicu_use_data_file_flag=0 + -Dicu_use_data_file_flag=1 -Duse_system_bzip2=1 -Duse_system_flac=1 -Duse_system_harfbuzz=1 @@ -115,7 +115,7 @@ do_configure() { -Duse_system_speex=1 -Duse_system_xdg_utils=1 -Duse_system_yasm=1 - -Duse_system_icu=1 + -Duse_system_icu=0 -Duse_system_libvpx=0 -Duse_cups=1 -Duse_pulseaudio=1 @@ -227,6 +227,8 @@ do_install() { vman out/Release/chrome.1 chromium.1 vinstall ${FILESDIR}/chromium.desktop 644 usr/share/applications + vinstall out/Release/icudtl.dat 0644 usr/lib/chromium + for size in 22 24 48 64 128 256; do install -Dm644 "chrome/app/theme/chromium/product_logo_${size}.png" \ ${DESTDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png