[arch-commits] Commit in electron/repos (27 files)
Nicola Squartini
tensor5 at archlinux.org
Tue Apr 24 13:46:15 UTC 2018
Date: Tuesday, April 24, 2018 @ 13:46:14
Author: tensor5
Revision: 317555
archrelease: copy trunk to community-staging-x86_64
Added:
electron/repos/community-staging-x86_64/
electron/repos/community-staging-x86_64/PKGBUILD
(from rev 317554, electron/trunk/PKGBUILD)
electron/repos/community-staging-x86_64/allow-i686.patch
(from rev 317554, electron/trunk/allow-i686.patch)
electron/repos/community-staging-x86_64/breakpad-glibc2.26.patch
(from rev 317554, electron/trunk/breakpad-glibc2.26.patch)
electron/repos/community-staging-x86_64/chromium-dmabuf.patch
(from rev 317554, electron/trunk/chromium-dmabuf.patch)
electron/repos/community-staging-x86_64/chromium-include-functional.patch
(from rev 317554, electron/trunk/chromium-include-functional.patch)
electron/repos/community-staging-x86_64/chromium-use-system-ffmpeg.patch
(from rev 317554, electron/trunk/chromium-use-system-ffmpeg.patch)
electron/repos/community-staging-x86_64/chromium-use-system-minizip.patch
(from rev 317554, electron/trunk/chromium-use-system-minizip.patch)
electron/repos/community-staging-x86_64/chromium-use-system-re2.patch
(from rev 317554, electron/trunk/chromium-use-system-re2.patch)
electron/repos/community-staging-x86_64/default_app-icon.patch
(from rev 317554, electron/trunk/default_app-icon.patch)
electron/repos/community-staging-x86_64/dont-bootstrap-libchromiumcontent.patch
(from rev 317554, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
electron/repos/community-staging-x86_64/dont-update-submodules.patch
(from rev 317554, electron/trunk/dont-update-submodules.patch)
electron/repos/community-staging-x86_64/dont-use-sysroot.patch
(from rev 317554, electron/trunk/dont-use-sysroot.patch)
electron/repos/community-staging-x86_64/electron.desktop
(from rev 317554, electron/trunk/electron.desktop)
electron/repos/community-staging-x86_64/gtk3-menu-bar.patch
(from rev 317554, electron/trunk/gtk3-menu-bar.patch)
electron/repos/community-staging-x86_64/gtk3-message-box.patch
(from rev 317554, electron/trunk/gtk3-message-box.patch)
electron/repos/community-staging-x86_64/gtk3-warnings.patch
(from rev 317554, electron/trunk/gtk3-warnings.patch)
electron/repos/community-staging-x86_64/gyp-no-rpath.patch
(from rev 317554, electron/trunk/gyp-no-rpath.patch)
electron/repos/community-staging-x86_64/libchromiumcontent-no-depot_tools.patch
(from rev 317554, electron/trunk/libchromiumcontent-no-depot_tools.patch)
electron/repos/community-staging-x86_64/libchromiumcontent-settings.patch
(from rev 317554, electron/trunk/libchromiumcontent-settings.patch)
electron/repos/community-staging-x86_64/libchromiumcontent-sort-filenames.patch
(from rev 317554, electron/trunk/libchromiumcontent-sort-filenames.patch)
electron/repos/community-staging-x86_64/libchromiumcontent-static-library-only.patch
(from rev 317554, electron/trunk/libchromiumcontent-static-library-only.patch)
electron/repos/community-staging-x86_64/libchromiumcontent-use-system-tools.patch
(from rev 317554, electron/trunk/libchromiumcontent-use-system-tools.patch)
electron/repos/community-staging-x86_64/no-whole-archive.patch
(from rev 317554, electron/trunk/no-whole-archive.patch)
electron/repos/community-staging-x86_64/use-system-ffmpeg.patch
(from rev 317554, electron/trunk/use-system-ffmpeg.patch)
electron/repos/community-staging-x86_64/use-system-libraries-in-node.patch
(from rev 317554, electron/trunk/use-system-libraries-in-node.patch)
electron/repos/community-staging-x86_64/use-system-ninja.patch
(from rev 317554, electron/trunk/use-system-ninja.patch)
----------------------------------------------+
PKGBUILD | 278 +++++++++++++++++++++++++
allow-i686.patch | 14 +
breakpad-glibc2.26.patch | 208 ++++++++++++++++++
chromium-dmabuf.patch | 86 +++++++
chromium-include-functional.patch | 10
chromium-use-system-ffmpeg.patch | 124 +++++++++++
chromium-use-system-minizip.patch | 14 +
chromium-use-system-re2.patch | 10
default_app-icon.patch | 22 +
dont-bootstrap-libchromiumcontent.patch | 13 +
dont-update-submodules.patch | 11
dont-use-sysroot.patch | 27 ++
electron.desktop | 7
gtk3-menu-bar.patch | 91 ++++++++
gtk3-message-box.patch | 11
gtk3-warnings.patch | 65 +++++
gyp-no-rpath.patch | 12 +
libchromiumcontent-no-depot_tools.patch | 30 ++
libchromiumcontent-settings.patch | 108 +++++++++
libchromiumcontent-sort-filenames.patch | 32 ++
libchromiumcontent-static-library-only.patch | 54 ++++
libchromiumcontent-use-system-tools.patch | 55 ++++
no-whole-archive.patch | 22 +
use-system-ffmpeg.patch | 21 +
use-system-libraries-in-node.patch | 31 ++
use-system-ninja.patch | 11
26 files changed, 1367 insertions(+)
Copied: electron/repos/community-staging-x86_64/PKGBUILD (from rev 317554, electron/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,278 @@
+# $Id$
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+_chromiumver=59.0.3071.115
+_freetype_rev=5a3490e054bda8a318ebde482
+pkgname=electron
+pkgver=1.8.4
+pkgrel=2
+pkgdesc='Build cross platform desktop apps with web technologies'
+arch=('x86_64')
+url='http://electron.atom.io/'
+license=('MIT' 'custom')
+depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxss' 'minizip'
+ 'nss' 're2' 'snappy')
+makedepends=('clang' 'gconf' 'git' 'gperf' 'gtk2' 'harfbuzz-icu' 'jsoncpp'
+ 'libexif' 'libgnome-keyring' 'libnotify' 'llvm' 'ninja' 'npm'
+ 'pciutils' 'python2' 'wget' 'yasm')
+optdepends=('gvfs: file deletion support (gvfs-trash)'
+ 'kde-cli-tools: file deletion support (kioclient5)'
+ 'kdebase-runtime: file deletion support (kioclient)'
+ 'trash-cli: file deletion support (trash-put)'
+ "xdg-utils: open URLs with desktop's default (xdg-email, xdg-open)")
+source=("git+https://github.com/electron/electron.git#tag=v${pkgver}"
+ 'git+https://github.com/boto/boto.git'
+ 'breakpad::git+https://github.com/electron/chromium-breakpad.git'
+ 'git+https://chromium.googlesource.com/chromium/src/tools/grit.git'
+ 'git+https://github.com/electron/gyp.git'
+ "git+https://github.com/electron/libchromiumcontent.git"
+ 'native_mate::git+https://github.com/electron/native-mate.git'
+ 'git+https://github.com/electron/node.git'
+ 'pdf_viewer::git+https://github.com/electron/pdf-viewer.git'
+ 'git+https://github.com/kennethreitz/requests.git'
+ 'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src'
+ "chromium-freetype2::git+https://chromium.googlesource.com/chromium/src/third_party/freetype2#commit=${_freetype_rev}"
+ "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${_chromiumver}.tar.xz"
+ 'electron.desktop'
+ 'default_app-icon.patch'
+ 'dont-bootstrap-libchromiumcontent.patch'
+ 'dont-update-submodules.patch'
+ 'dont-use-sysroot.patch'
+ 'gtk3-menu-bar.patch'
+ 'gtk3-message-box.patch'
+ 'gtk3-warnings.patch'
+ 'no-whole-archive.patch'
+ 'use-system-libraries-in-node.patch'
+ 'use-system-ninja.patch'
+ 'use-system-ffmpeg.patch'
+ 'breakpad-glibc2.26.patch'
+ 'gyp-no-rpath.patch'
+ 'libchromiumcontent-no-depot_tools.patch'
+ 'libchromiumcontent-settings.patch'
+ 'libchromiumcontent-sort-filenames.patch'
+ 'libchromiumcontent-static-library-only.patch'
+ 'libchromiumcontent-use-system-tools.patch'
+ 'chromium-dmabuf.patch'
+ 'chromium-include-functional.patch'
+ 'chromium-use-system-ffmpeg.patch'
+ 'chromium-use-system-minizip.patch'
+ 'chromium-use-system-re2.patch'
+ )
+noextract=("chromium-${_chromiumver}.tar.xz")
+sha512sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'f30d54dedd43ba11321db1bcd443bb44a550ffca24ebb579727b98a15b6a3f6f598f20f0ef0889eab6820e6faacba0aa567927fd36d5ed0e61d7bd4f760e9993'
+ '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
+ 'a9b4d25987171c170ad2c6467c45d1f27c6dfba71c4d981564f6d0a683acd54c17e415314c35a44560ab6428a2ff98321caec0d2a07a9c69bddd580c42f6eb48'
+ 'b002bb96d38875876d09ad5ceb76843b306031c470ba24aace6cbc5b8a22774f44b5c0e4a99bf807737e25f57254d14865934694114a9f4551453cc6c560063a'
+ '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
+ '8661ceff63a7b0140e811d699bb5e37ac9ceeb2def9dc47166c54ab6c225157efdac7226d9a305d2bf50e38c53f2a51a15dcdc25e9e2be86002693ada9d32c9d'
+ '62963c4dbf86624f370aad1ee42d43b7e4f6a0f719d906959ed642b1c0ca9ba397a8ea3923e6c6a4acc38bfb2187642791148dd528bb3b4ddc79f039fa6d8fa5'
+ '4eeb3a757bcf268b9bc7d16ca1efa9fa96d1aa55827766e1ec88d967946412688f4ab88a0ee3fb0870f32fa6ce4dd5cfe92c27a55c86d489e04c5c297d30e6bc'
+ 'd6dfadb1c30e0a2f234dedd09a79c4af96aaef976146fdb95989edc6bd019d6e52e127fc9fc119c17e4d3321052f49877c728c52cd2e8d3ca41165c5155b40d3'
+ 'e5a21eea33f24e82b250ad903ae9f6f40a71876661391b7bb2b749edb3470e1256ecb06aba0541f4da4cbaf9be2df90eb2b9e588566138fdb63d92a9aca60936'
+ 'b1cc501a1d7b2db1c7bd7543e1084a32a7b11e6f2e9c364beefd1a1f0cddb982ea105636ba19226765de44c641afd933d98a2f0ef88674453f5246568858c0cf'
+ 'b4a42f274b88f9f97fa409a6c95b0f9896bc86aa342ee24cfc029e4f640c5badf258932eabd1d451571339cc8733796f5770e0b979b7deda5b5ae09deb2e85c8'
+ 'd7df784c7ef366dad6d016643f848490177cb77eaa62c7f895898f11310ec766d6e31a34e756670a1ab300f984dc46dfd31ac23e2cae70860dfb1269ea9fab6b'
+ '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
+ 'fef435fcae0fcfc5ed7fe66bcdad24565a87493ff133422fa54756ee1c1335d4bfdae7e782d3f72fcd5c0e6c337b7a30fe7fb36a02a3fea1a1d509244d01d636'
+ '03676f682cd2db47aaf53c7e8221c3d19e20d7768e9b6a7cdb2da80674f220c293164ee1ca094b0c494d82cf1ba0e178ed66f41a6af28d266a50a758f95d6185'
+ 'f215ed2ddf9410bd31ada3c220de3f9a725c214532e7220ef2542d60b8a30f0cae21edc3dd7e01fdfa7b3aa877023ab446a76b47bc5fff19ec0bb0fa40df730e'
+ '8da75b16f3fc39e828b94fe9bf013a2fd180a81a9a34a8511a99e62e8d2a714ced24d94ef643561e0c88c27868d8eaa643e19003cbfa293451fc15dd75f5801f'
+ '9bd56c6dba41ae08cad2435f229bcab7218f82be4a33dbf8dbf7204d839fbf0ba505b8444d3d17083d3260b597e694ead720c5aef9060a21917c3c844ba4ef28'
+ '25e5d1051a11ef3158314b06dcb880fbed93d04a793a2c242fb8f01e867620549924b26abcac657f6edec9b9e3a78f198171a528d2567189df75e0a27f12925a'
+ 'acf6a43e89a49fb5d21fa165fe3a6b6a73b766fec05f952d11f48840ccb7c6640c1f946d87fb9b700f330a4eeffbd05346cc97def3de892b700439cad2a8e7bd'
+ '09a910f14c4466a74638af0505dbdbbf586813b0a20506ac15ae375037a1f06f82fea4045350f1e54357dd41fb721061c7cc2f0eea2e3a0439a79466db3875ea'
+ '647525cedf274e191a603cdf60f877cb850be9d08193da965ee38a28907b615e29a46ebb27ae69f49825504743775b6d88266965be89e37f739330d1d3c3f4e0'
+ 'eace29bd99f7167ac2e5b7499560ec7e6c205eeee8fd0adef8cc7de3cef5058f9852dd2cc20946d637ed479d25b270c35d52de6f104f41000faa36dc018f63aa'
+ '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
+
+_system_libs=('ffmpeg'
+ 'flac'
+ 'harfbuzz-ng'
+# 'icu'
+ 'libevent'
+ 'libjpeg'
+ 'libpng'
+# 'libvpx'
+ 'libwebp'
+# 'libxml'
+# 'libxslt'
+ 're2'
+ 'snappy'
+ 'yasm'
+ 'zlib'
+ )
+
+prepare() {
+ cd "${srcdir}"/electron
+
+ patch -Np1 -i "${srcdir}"/default_app-icon.patch # Icon from .desktop file
+ patch -Np1 -i "${srcdir}"/gtk3-menu-bar.patch
+ patch -Np1 -i "${srcdir}"/gtk3-message-box.patch
+ patch -Np1 -i "${srcdir}"/gtk3-warnings.patch
+ patch -Np1 -i "${srcdir}"/use-system-libraries-in-node.patch
+ patch -Np1 -i "${srcdir}"/use-system-ninja.patch
+ patch -Np1 -i "${srcdir}"/use-system-ffmpeg.patch
+ patch -Np1 -i "${srcdir}"/dont-update-submodules.patch
+ patch -Np1 -i "${srcdir}"/dont-use-sysroot.patch
+ patch -Np1 -i "${srcdir}"/dont-bootstrap-libchromiumcontent.patch
+ patch -Np1 -i "${srcdir}"/no-whole-archive.patch
+
+ # Add extra libraries for unbundling
+ sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu jsoncpp minizip libpng libpulse libwebpdemux)', '-ljpeg', '-lre2', '-lsnappy', '-latomic',/" \
+ -e 's/gtk+-2\.0/gtk+-3.0/' \
+ -i brightray/brightray.gyp
+
+ mkdir -p "${srcdir}"/python2-path
+ ln -sf /usr/bin/python2 "${srcdir}/python2-path/python"
+
+ for m in boto breakpad gyp libchromiumcontent native_mate node pdf_viewer requests; do
+ git submodule init vendor/${m}
+ git config submodule.vendor/${m}.url "${srcdir}/${m}"
+ done
+ git submodule update
+
+ cd "${srcdir}"/electron/vendor/pdf_viewer
+ git submodule init vendor/grit
+ git config submodule.vendor/grit.url "${srcdir}/grit"
+ git submodule update
+
+ cd "${srcdir}"/electron/vendor/breakpad
+ git submodule init src
+ git config submodule.src.url "${srcdir}"/google-breakpad
+ git submodule update
+ patch -Np1 -i "${srcdir}"/breakpad-glibc2.26.patch
+
+ cd "${srcdir}"/electron/vendor/gyp
+ # Remove a useless $ORIGIN/lib/ rpath from the electron binary
+ patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch
+
+ cd "${srcdir}"/electron/vendor/libchromiumcontent
+ patch -Np1 -i "${srcdir}"/libchromiumcontent-no-depot_tools.patch
+ patch -Np1 -i "${srcdir}"/libchromiumcontent-settings.patch
+ patch -Np1 -i "${srcdir}"/libchromiumcontent-sort-filenames.patch # deterministic build
+ patch -Np1 -i "${srcdir}"/libchromiumcontent-use-system-tools.patch
+ patch -Np1 -i "${srcdir}"/libchromiumcontent-static-library-only.patch
+ rm patches/third_party/ffmpeg/001-build_gn.patch # Use system ffmpeg
+ echo 'Extracting chromium source...'
+ tar -xJf "${srcdir}"/chromium-${_chromiumver}.tar.xz
+ mv chromium-${_chromiumver} src
+ cd src
+ patch -Np1 -i "${srcdir}"/chromium-dmabuf.patch
+ patch -Np1 -i "${srcdir}"/chromium-include-functional.patch
+ patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.patch
+ patch -Np1 -i "${srcdir}"/chromium-use-system-minizip.patch
+ patch -Np1 -i "${srcdir}"/chromium-use-system-re2.patch
+
+ for lib in "${_system_libs[@]}" libjpeg_turbo; do
+ find -type f -path "*third_party/${lib}/*" \
+ \! -path "*third_party/${lib}/chromium/*" \
+ \! -path "*third_party/${lib}/google/*" \
+ \! -path "*base/third_party/icu/*" \
+ \! -path "*base/third_party/libevent/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+ done
+ python2 build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs[@]}"
+
+ # Create sysmlink to system Node.js
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin
+
+ # Fixes from the chromium package
+ mv "${srcdir}/chromium-freetype2" third_party/freetype/src
+}
+
+build() {
+ export PATH="${srcdir}/python2-path:${PATH}"
+
+ # Build GN
+ cd "${srcdir}/electron/vendor/libchromiumcontent/src"
+ gn_flags=(
+ 'clang_base_path="/usr"'
+ 'clang_use_chrome_plugins=false'
+ 'treat_warnings_as_errors=false'
+ 'use_sysroot=false'
+ )
+ python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${gn_flags[*]}"
+ # libevent not needed anymore
+ find -type f -path "*base/third_party/libevent/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+
+ cd "${srcdir}"/electron
+ LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
+ script/bootstrap.py --verbose \
+ --clang_dir=/usr \
+ --build_release_libcc
+ script/build.py -c Release
+}
+
+package() {
+ cd "${srcdir}"/electron
+
+ _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
+
+ install -d -m755 "${pkgdir}"/usr/share/licenses/electron
+ install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \
+ "${pkgdir}"/usr/share/licenses/electron
+ for lib in native_mate node; do
+ install -m644 vendor/${lib}/LICENSE \
+ "${pkgdir}"/usr/share/licenses/electron/LICENSE-${lib}
+ done
+ install -m644 vendor/libchromiumcontent/src/LICENSE \
+ "${pkgdir}"/usr/share/licenses/electron/LICENSE-chromium
+
+ cd out/R
+ install -d -m755 "${pkgdir}"/usr/lib/electron
+ install -m644 blink_image_resources_200_percent.pak \
+ content_resources_200_percent.pak content_shell.pak icudtl.dat \
+ natives_blob.bin \
+ pdf_viewer_resources.pak \
+ snapshot_blob.bin \
+ ui_resources_200_percent.pak \
+ views_resources_200_percent.pak \
+ "${pkgdir}"/usr/lib/electron
+ install -m755 electron "${pkgdir}"/usr/lib/electron
+ install -dm755 "${pkgdir}"/usr/bin
+ ln -s ../lib/electron/electron "${pkgdir}"/usr/bin
+ # namcap warning: Referenced library 'libnode.so' is an uninstalled dependency
+ # Fixable by moving libnode.so to /usr/lib
+ install -m644 libnode.so "${pkgdir}"/usr/lib/electron
+ cp -r locales resources "${pkgdir}"/usr/lib/electron
+ cd ../..
+
+ echo -n "v${pkgver}" > "${pkgdir}"/usr/lib/electron/version
+
+ # Install .desktop and icon file
+ install -Dm644 "${srcdir}"/electron.desktop \
+ "${pkgdir}"/usr/share/applications/electron.desktop
+ install -Dm644 default_app/icon.png \
+ "${pkgdir}"/usr/share/pixmaps/electron.png # hicolor has no 1024x1024
+
+ # Install Node headers
+ _headers_dest="${pkgdir}/usr/lib/electron/node"
+ install -d -m755 "${_headers_dest}"
+ cd "${srcdir}"/electron/vendor/node
+ find src deps/http_parser deps/zlib deps/uv deps/npm \
+ -name "*.gypi" \
+ -exec install -D -m644 '{}' "${_headers_dest}/{}" \; \
+ -or -name "*.h" \
+ -exec install -D -m644 '{}' "${_headers_dest}/{}" \;
+ install -m644 {common,config}.gypi "${_headers_dest}"
+ cd "${_cc}"/src
+ find v8 -name "*.h" \
+ -exec install -D -m644 '{}' "${_headers_dest}/deps/{}" \;
+ # echo '9' > "${_headers_dest}/installVersion"
+}
Copied: electron/repos/community-staging-x86_64/allow-i686.patch (from rev 317554, electron/trunk/allow-i686.patch)
===================================================================
--- community-staging-x86_64/allow-i686.patch (rev 0)
+++ community-staging-x86_64/allow-i686.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,14 @@
+--- a/script/update.py
++++ b/script/update.py
+@@ -15,11 +15,6 @@ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+
+ def main():
+ os.chdir(SOURCE_ROOT)
+-
+- if PLATFORM != 'win32' and platform.architecture()[0] != '64bit':
+- print 'Electron is required to be built on a 64bit machine'
+- return 1
+-
+ update_external_binaries()
+ return update_gyp()
+
Copied: electron/repos/community-staging-x86_64/breakpad-glibc2.26.patch (from rev 317554, electron/trunk/breakpad-glibc2.26.patch)
===================================================================
--- community-staging-x86_64/breakpad-glibc2.26.patch (rev 0)
+++ community-staging-x86_64/breakpad-glibc2.26.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,208 @@
+--- a/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -36,19 +36,19 @@ namespace google_breakpad {
+
+ // Minidump defines register structures which are different from the raw
+ // structures which we get from the kernel. These are platform specific
+-// functions to juggle the ucontext and user structures into minidump format.
++// functions to juggle the ucontext_t and user structures into minidump format.
+
+ #if defined(__i386__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_ESP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_EIP];
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__x86_64)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_RSP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[REG_RIP];
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__ARM_EABI__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.arm_sp;
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.arm_pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ out->context_flags = MD_CONTEXT_ARM_FULL;
+
+ out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+
+ #elif defined(__aarch64__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.sp;
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs) {
+ out->context_flags = MD_CONTEXT_ARM64_FULL;
+
+@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+
+ #elif defined(__mips__)
+
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
+ }
+
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ return uc->uc_mcontext.pc;
+ }
+
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ #if _MIPS_SIM == _ABI64
+ out->context_flags = MD_CONTEXT_MIPS64_FULL;
+ #elif _MIPS_SIM == _ABIO32
+--- a/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -39,23 +39,23 @@
+
+ namespace google_breakpad {
+
+-// Wraps platform-dependent implementations of accessors to ucontext structs.
++// Wraps platform-dependent implementations of accessors to ucontext_t structs.
+ struct UContextReader {
+- static uintptr_t GetStackPointer(const struct ucontext* uc);
++ static uintptr_t GetStackPointer(const ucontext_t* uc);
+
+- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
++ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
+
+- // Juggle a arch-specific ucontext into a minidump format
++ // Juggle a arch-specific ucontext_t into a minidump format
+ // out: the minidump structure
+ // info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct _libc_fpstate* fp);
+ #elif defined(__aarch64__)
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs);
+ #else
+- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
++ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+ #endif
+ };
+
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+ // Fill in all the holes in the struct to make Valgrind happy.
+ memset(&g_crash_context_, 0, sizeof(g_crash_context_));
+ memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
+- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
++ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
+ #if defined(__aarch64__)
+- struct ucontext* uc_ptr = (struct ucontext*)uc;
++ ucontext_t* uc_ptr = (ucontext_t*)uc;
+ struct fpsimd_context* fp_ptr =
+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+ if (fp_ptr->head.magic == FPSIMD_MAGIC) {
+@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+ }
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+ // FP state is not part of user ABI on ARM Linux.
+- // In case of MIPS Linux FP state is already part of struct ucontext
++ // In case of MIPS Linux FP state is already part of ucontext_t
+ // and 'float_state' is not a member of CrashContext.
+- struct ucontext* uc_ptr = (struct ucontext*)uc;
++ ucontext_t* uc_ptr = (ucontext_t*)uc;
+ if (uc_ptr->uc_mcontext.fpregs) {
+ memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
+ sizeof(g_crash_context_.float_state));
+@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+ // ExceptionHandler::HandleSignal().
+ siginfo.si_code = SI_USER;
+ siginfo.si_pid = getpid();
+- struct ucontext context;
++ ucontext_t context;
+ getcontext(&context);
+ return HandleSignal(sig, &siginfo, &context);
+ }
+--- a/src/client/linux/handler/exception_handler.h
++++ b/src/client/linux/handler/exception_handler.h
+@@ -191,11 +191,11 @@ class ExceptionHandler {
+ struct CrashContext {
+ siginfo_t siginfo;
+ pid_t tid; // the crashing thread.
+- struct ucontext context;
++ ucontext_t context;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+ // In case of MIPS Linux FP state is already part of struct
+- // ucontext so 'float_state' is not required.
++ // ucontext_t so 'float_state' is not required.
+ fpstate_t float_state;
+ #endif
+ };
+--- a/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -560,7 +560,7 @@ class MicrodumpWriter {
+
+ void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+
+- const struct ucontext* const ucontext_;
++ const ucontext_t* const ucontext_;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ const google_breakpad::fpstate_t* const float_state_;
+ #endif
+--- a/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -1248,7 +1248,7 @@ class MinidumpWriter {
+ const int fd_; // File descriptor where the minidum should be written.
+ const char* path_; // Path to the file where the minidum should be written.
+
+- const struct ucontext* const ucontext_; // also from the signal handler
++ const ucontext_t* const ucontext_; // also from the signal handler
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+ const google_breakpad::fpstate_t* const float_state_; // ditto
+ #endif
Copied: electron/repos/community-staging-x86_64/chromium-dmabuf.patch (from rev 317554, electron/trunk/chromium-dmabuf.patch)
===================================================================
--- community-staging-x86_64/chromium-dmabuf.patch (rev 0)
+++ community-staging-x86_64/chromium-dmabuf.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,86 @@
+--- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
++++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+@@ -7,36 +7,35 @@
+ #include <fcntl.h>
+ #include <linux/version.h>
+ #include <stddef.h>
++#include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <xf86drm.h>
+
+ #include "base/debug/crash_logging.h"
+ #include "base/memory/ptr_util.h"
++#include "base/posix/eintr_wrapper.h"
+ #include "base/process/memory.h"
+ #include "base/process/process_metrics.h"
+ #include "base/strings/stringprintf.h"
+ #include "base/trace_event/trace_event.h"
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
++#include <linux/dma-buf.h>
++#else
+ #include <linux/types.h>
+
+-struct local_dma_buf_sync {
++struct dma_buf_sync {
+ __u64 flags;
+ };
+
+-#define LOCAL_DMA_BUF_SYNC_READ (1 << 0)
+-#define LOCAL_DMA_BUF_SYNC_WRITE (2 << 0)
+-#define LOCAL_DMA_BUF_SYNC_RW \
+- (LOCAL_DMA_BUF_SYNC_READ | LOCAL_DMA_BUF_SYNC_WRITE)
+-#define LOCAL_DMA_BUF_SYNC_START (0 << 2)
+-#define LOCAL_DMA_BUF_SYNC_END (1 << 2)
++#define DMA_BUF_SYNC_READ (1 << 0)
++#define DMA_BUF_SYNC_WRITE (2 << 0)
++#define DMA_BUF_SYNC_RW (DMA_BUF_SYNC_READ | DMA_BUF_SYNC_WRITE)
++#define DMA_BUF_SYNC_START (0 << 2)
++#define DMA_BUF_SYNC_END (1 << 2)
+
+-#define LOCAL_DMA_BUF_BASE 'b'
+-#define LOCAL_DMA_BUF_IOCTL_SYNC \
+- _IOW(LOCAL_DMA_BUF_BASE, 0, struct local_dma_buf_sync)
+-
+-#else
+-#include <linux/dma-buf.h>
++#define DMA_BUF_BASE 'b'
++#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
+ #endif
+
+ namespace gfx {
+@@ -44,25 +43,19 @@ namespace gfx {
+ namespace {
+
+ void PrimeSyncStart(int dmabuf_fd) {
+- struct local_dma_buf_sync sync_start = {0};
++ struct dma_buf_sync sync_start = {0};
+
+- sync_start.flags = LOCAL_DMA_BUF_SYNC_START | LOCAL_DMA_BUF_SYNC_RW;
+-#if DCHECK_IS_ON()
+- int rv =
+-#endif
+- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_start);
+- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
++ sync_start.flags = DMA_BUF_SYNC_START | DMA_BUF_SYNC_RW;
++ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_start));
++ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_START";
+ }
+
+ void PrimeSyncEnd(int dmabuf_fd) {
+- struct local_dma_buf_sync sync_end = {0};
++ struct dma_buf_sync sync_end = {0};
+
+- sync_end.flags = LOCAL_DMA_BUF_SYNC_END | LOCAL_DMA_BUF_SYNC_RW;
+-#if DCHECK_IS_ON()
+- int rv =
+-#endif
+- drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end);
+- DPLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
++ sync_end.flags = DMA_BUF_SYNC_END | DMA_BUF_SYNC_RW;
++ int rv = HANDLE_EINTR(ioctl(dmabuf_fd, DMA_BUF_IOCTL_SYNC, &sync_end));
++ PLOG_IF(ERROR, rv) << "Failed DMA_BUF_SYNC_END";
+ }
+
+ } // namespace
Copied: electron/repos/community-staging-x86_64/chromium-include-functional.patch (from rev 317554, electron/trunk/chromium-include-functional.patch)
===================================================================
--- community-staging-x86_64/chromium-include-functional.patch (rev 0)
+++ community-staging-x86_64/chromium-include-functional.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,10 @@
+--- a/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
++++ b/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
+@@ -5,6 +5,7 @@
+ #include "platform/PlatformExport.h"
+ #include "platform/wtf/ThreadSpecific.h"
+
++#include <functional>
+ #include <memory>
+
+ namespace gpu {
Copied: electron/repos/community-staging-x86_64/chromium-use-system-ffmpeg.patch (from rev 317554, electron/trunk/chromium-use-system-ffmpeg.patch)
===================================================================
--- community-staging-x86_64/chromium-use-system-ffmpeg.patch (rev 0)
+++ community-staging-x86_64/chromium-use-system-ffmpeg.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,124 @@
+--- a/media/base/decoder_buffer.h
++++ b/media/base/decoder_buffer.h
+@@ -37,7 +37,7 @@
+ : public base::RefCountedThreadSafe<DecoderBuffer> {
+ public:
+ enum {
+- kPaddingSize = 32,
++ kPaddingSize = 64,
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ kAlignmentSize = 16
+ #else
+--- a/media/ffmpeg/ffmpeg_common.cc
++++ b/media/ffmpeg/ffmpeg_common.cc
+@@ -30,10 +30,10 @@
+
+ } // namespace
+
+-// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
++// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
+ // padded. Check here to ensure FFmpeg only receives data padded to its
+ // specifications.
+-static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE,
++static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE,
+ "DecoderBuffer padding size does not fit ffmpeg requirement");
+
+ // Alignment requirement by FFmpeg for input and output buffers. This need to
+@@ -429,11 +429,11 @@
+ } else {
+ codec_context->extradata_size = config.extra_data().size();
+ codec_context->extradata = reinterpret_cast<uint8_t*>(
+- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
++ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
+ memcpy(codec_context->extradata, &config.extra_data()[0],
+ config.extra_data().size());
+ memset(codec_context->extradata + config.extra_data().size(), '\0',
+- FF_INPUT_BUFFER_PADDING_SIZE);
++ AV_INPUT_BUFFER_PADDING_SIZE);
+ }
+ }
+
+@@ -570,11 +570,11 @@
+ } else {
+ codec_context->extradata_size = config.extra_data().size();
+ codec_context->extradata = reinterpret_cast<uint8_t*>(
+- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
++ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
+ memcpy(codec_context->extradata, &config.extra_data()[0],
+ config.extra_data().size());
+ memset(codec_context->extradata + config.extra_data().size(), '\0',
+- FF_INPUT_BUFFER_PADDING_SIZE);
++ AV_INPUT_BUFFER_PADDING_SIZE);
+ }
+ }
+
+--- a/media/ffmpeg/ffmpeg_common.h
++++ b/media/ffmpeg/ffmpeg_common.h
+@@ -23,10 +23,12 @@
+
+ // Include FFmpeg header files.
+ extern "C" {
++#if !defined(USE_SYSTEM_FFMPEG)
+ // Disable deprecated features which result in spammy compile warnings. This
+ // list of defines must mirror those in the 'defines' section of FFmpeg's
+ // BUILD.gn file or the headers below will generate different structures!
+ #define FF_API_CONVERGENCE_DURATION 0
++#endif // !defined(USE_SYSTEM_FFMPEG)
+ // Upstream libavcodec/utils.c still uses the deprecated
+ // av_dup_packet(), causing deprecation warnings.
+ // The normal fix for such things is to disable the feature as below,
+@@ -40,7 +42,9 @@
+ MSVC_PUSH_DISABLE_WARNING(4244);
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
++#if !defined(USE_SYSTEM_FFMPEG)
+ #include <libavformat/internal.h>
++#endif // !defined(USE_SYSTEM_FFMPEG)
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
+ #include <libavutil/imgutils.h>
+--- a/media/filters/ffmpeg_audio_decoder.cc
++++ b/media/filters/ffmpeg_audio_decoder.cc
+@@ -372,7 +372,7 @@
+ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
+ AVFrame* frame,
+ int flags) {
+- DCHECK(s->codec->capabilities & CODEC_CAP_DR1);
++ DCHECK(s->codec->capabilities & AV_CODEC_CAP_DR1);
+ DCHECK_EQ(s->codec_type, AVMEDIA_TYPE_AUDIO);
+
+ // Since this routine is called by FFmpeg when a buffer is required for audio
+--- a/media/filters/ffmpeg_demuxer.cc
++++ b/media/filters/ffmpeg_demuxer.cc
+@@ -1223,6 +1223,7 @@
+ // If no estimate is found, the stream entry will be kInfiniteDuration.
+ std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
+ kInfiniteDuration);
++#if !defined(USE_SYSTEM_FFMPEG)
+ const AVFormatInternal* internal = format_context->internal;
+ if (internal && internal->packet_buffer &&
+ format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+@@ -1246,6 +1247,7 @@
+ packet_buffer = packet_buffer->next;
+ }
+ }
++#endif // !defined(USE_SYSTEM_FFMPEG)
+
+ std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
+
+--- a/media/filters/ffmpeg_video_decoder.cc
++++ b/media/filters/ffmpeg_video_decoder.cc
+@@ -423,12 +423,11 @@
+ codec_context_->thread_type =
+ FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
+ codec_context_->opaque = this;
+- codec_context_->flags |= CODEC_FLAG_EMU_EDGE;
+ codec_context_->get_buffer2 = GetVideoBufferImpl;
+ codec_context_->refcounted_frames = 1;
+
+ if (decode_nalus_)
+- codec_context_->flags2 |= CODEC_FLAG2_CHUNKS;
++ codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
+
+ AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+ if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
Copied: electron/repos/community-staging-x86_64/chromium-use-system-minizip.patch (from rev 317554, electron/trunk/chromium-use-system-minizip.patch)
===================================================================
--- community-staging-x86_64/chromium-use-system-minizip.patch (rev 0)
+++ community-staging-x86_64/chromium-use-system-minizip.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,14 @@
+--- a/third_party/zlib/google/zip_reader.cc
++++ b/third_party/zlib/google/zip_reader.cc
+@@ -278,10 +278,9 @@
+
+ current_entry_info_.reset();
+ reached_end_ = false;
+- const int kDefaultCaseSensivityOfOS = 0;
+ const int result = unzLocateFile(zip_file_,
+ path_in_zip.AsUTF8Unsafe().c_str(),
+- kDefaultCaseSensivityOfOS);
++ NULL);
+ if (result != UNZ_OK)
+ return false;
+
Copied: electron/repos/community-staging-x86_64/chromium-use-system-re2.patch (from rev 317554, electron/trunk/chromium-use-system-re2.patch)
===================================================================
--- community-staging-x86_64/chromium-use-system-re2.patch (rev 0)
+++ community-staging-x86_64/chromium-use-system-re2.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,10 @@
+--- a/build/linux/unbundle/re2.gn
++++ b/build/linux/unbundle/re2.gn
+@@ -11,7 +11,6 @@
+ "re2/re2.h",
+ "re2/set.h",
+ "re2/stringpiece.h",
+- "re2/variadic_function.h",
+ ]
+ }
+
Copied: electron/repos/community-staging-x86_64/default_app-icon.patch (from rev 317554, electron/trunk/default_app-icon.patch)
===================================================================
--- community-staging-x86_64/default_app-icon.patch (rev 0)
+++ community-staging-x86_64/default_app-icon.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,22 @@
+--- a/default_app/default_app.js
++++ b/default_app/default_app.js
+@@ -20,9 +20,6 @@ exports.load = (appUrl) => {
+ },
+ useContentSize: true
+ }
+- if (process.platform === 'linux') {
+- options.icon = path.join(__dirname, 'icon.png')
+- }
+
+ mainWindow = new BrowserWindow(options)
+ mainWindow.loadURL(appUrl)
+--- a/filenames.gypi
++++ b/filenames.gypi
+@@ -86,7 +86,6 @@
+ ],
+ 'default_app_sources': [
+ 'default_app/default_app.js',
+- 'default_app/icon.png',
+ 'default_app/index.html',
+ 'default_app/main.js',
+ 'default_app/package.json',
Copied: electron/repos/community-staging-x86_64/dont-bootstrap-libchromiumcontent.patch (from rev 317554, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
===================================================================
--- community-staging-x86_64/dont-bootstrap-libchromiumcontent.patch (rev 0)
+++ community-staging-x86_64/dont-bootstrap-libchromiumcontent.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,13 @@
+diff --git a/script/build-libchromiumcontent.py b/script/build-libchromiumcontent.py
+index e0a95f6..1383e70 100755
+--- a/script/build-libchromiumcontent.py
++++ b/script/build-libchromiumcontent.py
+@@ -44,7 +44,7 @@ def main():
+ build = os.path.join(script_dir, 'build')
+ create_dist = os.path.join(script_dir, 'create-dist')
+ if args.force_update or libchromiumcontent_outdated():
+- execute_stdout([sys.executable, bootstrap])
++ # execute_stdout([sys.executable, bootstrap])
+ execute_stdout([sys.executable, update, '-t', args.target_arch,
+ '--defines', args.defines])
+ update_gclient_done_marker()
Copied: electron/repos/community-staging-x86_64/dont-update-submodules.patch (from rev 317554, electron/trunk/dont-update-submodules.patch)
===================================================================
--- community-staging-x86_64/dont-update-submodules.patch (rev 0)
+++ community-staging-x86_64/dont-update-submodules.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,11 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -31,7 +31,7 @@ def main():
+ if sys.platform == 'cygwin':
+ update_win32_python()
+
+- update_submodules()
++ # update_submodules()
+
+ libcc_source_path = args.libcc_source_path
+ libcc_shared_library_path = args.libcc_shared_library_path
Copied: electron/repos/community-staging-x86_64/dont-use-sysroot.patch (from rev 317554, electron/trunk/dont-use-sysroot.patch)
===================================================================
--- community-staging-x86_64/dont-use-sysroot.patch (rev 0)
+++ community-staging-x86_64/dont-use-sysroot.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,27 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -60,9 +60,6 @@ def main():
+ libcc_source_path, libcc_shared_library_path,
+ libcc_static_library_path)
+
+- if PLATFORM == 'linux' and args.target_arch != 'mips64el':
+- download_sysroot(args.target_arch)
+-
+ create_chrome_version_h()
+ touch_config_gypi()
+ run_update(defines, args.msvs)
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -59,10 +59,10 @@
+ 'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
+ }],
+ ['target_arch=="ia32"', {
+- 'sysroot%': '<(source_root)/vendor/debian_jessie_i386-sysroot',
++ 'sysroot%': '/',
+ }],
+ ['target_arch=="x64"', {
+- 'sysroot%': '<(source_root)/vendor/debian_jessie_amd64-sysroot',
++ 'sysroot%': '/',
+ }],
+ ['target_arch=="mips64el"', {
+ 'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',
Copied: electron/repos/community-staging-x86_64/electron.desktop (from rev 317554, electron/trunk/electron.desktop)
===================================================================
--- community-staging-x86_64/electron.desktop (rev 0)
+++ community-staging-x86_64/electron.desktop 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Electron
+Icon=electron
+Exec=electron %u
+Categories=Development;GTK;
+StartupNotify=true
Copied: electron/repos/community-staging-x86_64/gtk3-menu-bar.patch (from rev 317554, electron/trunk/gtk3-menu-bar.patch)
===================================================================
--- community-staging-x86_64/gtk3-menu-bar.patch (rev 0)
+++ community-staging-x86_64/gtk3-menu-bar.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,91 @@
+--- a/atom/browser/ui/views/menu_bar.cc
++++ b/atom/browser/ui/views/menu_bar.cc
+@@ -16,8 +16,6 @@
+
+ #if defined(OS_WIN)
+ #include "ui/gfx/color_utils.h"
+-#elif defined(USE_X11)
+-#include "chrome/browser/ui/libgtkui/skia_utils_gtk.h"
+ #endif
+
+ namespace atom {
+@@ -30,18 +28,71 @@ const char kViewClassName[] = "ElectronMenuBar";
+ const SkColor kDefaultColor = SkColorSetARGB(255, 233, 233, 233);
+
+ #if defined(USE_X11)
++SkColor GdkRGBAToSkColor(GdkRGBA color) {
++ return SkColorSetARGB(round(color.alpha * 255),
++ round(color.red * 255),
++ round(color.green * 255),
++ round(color.blue * 255));
++}
++
+ void GetMenuBarColor(SkColor* enabled, SkColor* disabled, SkColor* highlight,
+ SkColor* hover, SkColor* background) {
++ GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ GtkWidget* menu_bar = gtk_menu_bar_new();
+-
+- GtkStyle* style = gtk_rc_get_style(menu_bar);
+- *enabled = libgtkui::GdkColorToSkColor(style->fg[GTK_STATE_NORMAL]);
+- *disabled = libgtkui::GdkColorToSkColor(style->fg[GTK_STATE_INSENSITIVE]);
+- *highlight = libgtkui::GdkColorToSkColor(style->fg[GTK_STATE_SELECTED]);
+- *hover = libgtkui::GdkColorToSkColor(style->fg[GTK_STATE_PRELIGHT]);
+- *background = libgtkui::GdkColorToSkColor(style->bg[GTK_STATE_NORMAL]);
+-
++ GtkWidget* menu_item = gtk_menu_item_new_with_label("");
++ GtkWidget* label = gtk_bin_get_child(GTK_BIN(menu_item));
++ GtkStyleContext* window_style_ctx = gtk_widget_get_style_context(window);
++ GtkStyleContext* menu_bar_style_ctx =
++ gtk_widget_get_style_context(menu_bar);
++ GtkStyleContext* menu_item_style_ctx =
++ gtk_widget_get_style_context(menu_item);
++ GtkStyleContext* label_style_ctx = gtk_widget_get_style_context(label);
++ GdkRGBA normal_color;
++ GdkRGBA backdrop_color;
++ GdkRGBA prelight_color;
++ GdkRGBA* background_color_ptr;
++
++ gtk_container_add(GTK_CONTAINER(window), menu_bar);
++ gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item);
++
++ gtk_style_context_get(menu_bar_style_ctx,
++ GTK_STATE_FLAG_NORMAL,
++ "background-color",
++ &background_color_ptr,
++ NULL);
++
++ if (background_color_ptr->alpha == 0.0)
++ gtk_style_context_get(window_style_ctx,
++ GTK_STATE_FLAG_NORMAL,
++ "background-color",
++ &background_color_ptr,
++ NULL);
++
++ *background = GdkRGBAToSkColor(*background_color_ptr);
++ gdk_rgba_free(background_color_ptr);
++
++ gtk_style_context_get_color(label_style_ctx,
++ GTK_STATE_FLAG_NORMAL,
++ &normal_color);
++ *enabled = GdkRGBAToSkColor(normal_color);
++ *hover = GdkRGBAToSkColor(normal_color);
++
++ gtk_style_context_set_state(menu_item_style_ctx, GTK_STATE_FLAG_PRELIGHT);
++ gtk_style_context_get_color(label_style_ctx,
++ GTK_STATE_FLAG_NORMAL,
++ &prelight_color);
++ gtk_style_context_set_state(menu_item_style_ctx, GTK_STATE_FLAG_NORMAL);
++ *highlight = GdkRGBAToSkColor(prelight_color);
++
++
++ gtk_style_context_get_color(label_style_ctx,
++ GTK_STATE_FLAG_BACKDROP,
++ &backdrop_color);
++ *disabled = GdkRGBAToSkColor(backdrop_color);
++
++ gtk_widget_destroy(menu_item);
+ gtk_widget_destroy(menu_bar);
++ gtk_widget_destroy(window);
+ }
+ #endif
+
Copied: electron/repos/community-staging-x86_64/gtk3-message-box.patch (from rev 317554, electron/trunk/gtk3-message-box.patch)
===================================================================
--- community-staging-x86_64/gtk3-message-box.patch (rev 0)
+++ community-staging-x86_64/gtk3-message-box.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,11 @@
+--- a/atom/browser/ui/message_box_gtk.cc
++++ b/atom/browser/ui/message_box_gtk.cc
+@@ -197,7 +197,7 @@
+ }
+
+ void GtkMessageBox::OnCheckboxToggled(GtkWidget* widget) {
+- checkbox_checked_ = GTK_TOGGLE_BUTTON(widget)->active;
++ checkbox_checked_ = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ }
+
+ } // namespace
Copied: electron/repos/community-staging-x86_64/gtk3-warnings.patch (from rev 317554, electron/trunk/gtk3-warnings.patch)
===================================================================
--- community-staging-x86_64/gtk3-warnings.patch (rev 0)
+++ community-staging-x86_64/gtk3-warnings.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,65 @@
+--- a/atom/browser/ui/file_dialog_gtk.cc
++++ b/atom/browser/ui/file_dialog_gtk.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by the MIT license that can be
+ // found in the LICENSE file.
+
++#include <glib/gi18n.h>
++
+ #include "atom/browser/ui/file_dialog.h"
+
+ #include "atom/browser/native_window_views.h"
+@@ -39,20 +41,20 @@ class FileChooserDialog {
+ const DialogSettings& settings)
+ : parent_(static_cast<atom::NativeWindowViews*>(settings.parent_window)),
+ filters_(settings.filters) {
+- const char* confirm_text = GTK_STOCK_OK;
++ const char* confirm_text = _("_OK");
+
+ if (!settings.button_label.empty())
+ confirm_text = settings.button_label.c_str();
+ else if (action == GTK_FILE_CHOOSER_ACTION_SAVE)
+- confirm_text = GTK_STOCK_SAVE;
++ confirm_text = _("_Save");
+ else if (action == GTK_FILE_CHOOSER_ACTION_OPEN)
+- confirm_text = GTK_STOCK_OPEN;
++ confirm_text = _("_Open");
+
+ dialog_ = gtk_file_chooser_dialog_new(
+ settings.title.c_str(),
+ NULL,
+ action,
+- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
++ _("_Cancel"), GTK_RESPONSE_CANCEL,
+ confirm_text, GTK_RESPONSE_ACCEPT,
+ NULL);
+ if (parent_) {
+--- a/atom/browser/ui/message_box_gtk.cc
++++ b/atom/browser/ui/message_box_gtk.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by the MIT license that can be
+ // found in the LICENSE file.
+
++#include <glib/gi18n.h>
++
+ #include "atom/browser/ui/message_box.h"
+
+ #include "atom/browser/browser.h"
+@@ -126,13 +128,13 @@ class GtkMessageBox {
+ const char* TranslateToStock(int id, const std::string& text) {
+ std::string lower = base::ToLowerASCII(text);
+ if (lower == "cancel")
+- return GTK_STOCK_CANCEL;
++ return _("_Cancel");
+ else if (lower == "no")
+- return GTK_STOCK_NO;
++ return _("_No");
+ else if (lower == "ok")
+- return GTK_STOCK_OK;
++ return _("_OK");
+ else if (lower == "yes")
+- return GTK_STOCK_YES;
++ return _("_Yes");
+ else
+ return text.c_str();
+ }
Copied: electron/repos/community-staging-x86_64/gyp-no-rpath.patch (from rev 317554, electron/trunk/gyp-no-rpath.patch)
===================================================================
--- community-staging-x86_64/gyp-no-rpath.patch (rev 0)
+++ community-staging-x86_64/gyp-no-rpath.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,12 @@
+--- a/pylib/gyp/generator/ninja.py
++++ b/pylib/gyp/generator/ninja.py
+@@ -1221,9 +1221,6 @@
+ rpath = 'lib/'
+ if self.toolset != 'target':
+ rpath += self.toolset
+- ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath)
+- else:
+- ldflags.append('-Wl,-rpath=%s' % self.target_rpath)
+ ldflags.append('-Wl,-rpath-link=%s' % rpath)
+ self.WriteVariableList(ninja_file, 'ldflags',
+ map(self.ExpandSpecial, ldflags))
Copied: electron/repos/community-staging-x86_64/libchromiumcontent-no-depot_tools.patch (from rev 317554, electron/trunk/libchromiumcontent-no-depot_tools.patch)
===================================================================
--- community-staging-x86_64/libchromiumcontent-no-depot_tools.patch (rev 0)
+++ community-staging-x86_64/libchromiumcontent-no-depot_tools.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,30 @@
+--- a/script/update
++++ b/script/update
+@@ -48,8 +48,8 @@
+ if sys.platform == 'win32' and not args.skip_depot_tools_update:
+ update_depot_tools()
+
+- if args.clean and os.path.isdir(SRC_DIR):
+- git_clean_recursive(SRC_DIR)
++ # if args.clean and os.path.isdir(SRC_DIR):
++ # git_clean_recursive(SRC_DIR)
+
+ # Warning about using a network share as git cache from Windows 7+: The
+ # gclient script may experience errors unless you disable SMBv2 cache by
+@@ -60,11 +60,11 @@
+ git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
+ target_arch = args.target_arch
+ nohooks = target_arch == 'mips64el' and IS_MIPS64EL_HOST
+- if not args.skip_gclient:
+- if (args.source_only):
+- return gclient_sync(chromium_version(), args.clean, git_cache, nohooks)
+- else:
+- gclient_sync(chromium_version(), args.clean, git_cache, nohooks)
++ # if not args.skip_gclient:
++ # if (args.source_only):
++ # return gclient_sync(chromium_version(), args.clean, git_cache, nohooks)
++ # else:
++ # gclient_sync(chromium_version(), args.clean, git_cache, nohooks)
+
+ if target_arch == 'mips64el' and IS_MIPS64EL_HOST:
+ os.system('sh script/mips64el/runhooks-mips64el')
Copied: electron/repos/community-staging-x86_64/libchromiumcontent-settings.patch (from rev 317554, electron/trunk/libchromiumcontent-settings.patch)
===================================================================
--- community-staging-x86_64/libchromiumcontent-settings.patch (rev 0)
+++ community-staging-x86_64/libchromiumcontent-settings.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,108 @@
+--- a/chromiumcontent/BUILD.gn
++++ b/chromiumcontent/BUILD.gn
+@@ -36,7 +36,7 @@ group("targets") {
+ ]
+
+ if (is_linux) {
+- deps += [ "//chrome/browser/ui/libgtkui:libgtk2ui" ]
++ deps += [ "//chrome/browser/ui/libgtkui:libgtk3ui" ]
+ }
+
+ if (is_component_build) {
+@@ -158,13 +158,13 @@ if (is_electron_build && is_component_build) {
+ static_library("libgtkui") {
+ complete_static_lib = true
+ sources = [
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/app_indicator_icon.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/app_indicator_icon_menu.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/gtk_util.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/gtk_status_icon.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/menu_util.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/skia_utils_gtk.o",
+- "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk2ui/unity_service.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/app_indicator_icon.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/app_indicator_icon_menu.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/gtk_util.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/gtk_status_icon.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/menu_util.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/skia_utils_gtk.o",
++ "$root_out_dir/obj/chrome/browser/ui/libgtkui/libgtk3ui/unity_service.o",
+ ]
+ }
+ }
+--- a/chromiumcontent/args/static_library.gn
++++ b/chromiumcontent/args/static_library.gn
+@@ -1,13 +1,25 @@
+ root_extra_deps = [ "//chromiumcontent:chromiumcontent" ]
+ is_electron_build = true
+ is_component_build = false
+-symbol_level = 2
++symbol_level = 0
+ enable_nacl = false
+ enable_widevine = true
+ proprietary_codecs = true
+ is_component_ffmpeg = true
+ ffmpeg_branding = "Chrome"
+ v8_promise_internal_field_count = 1 # https://github.com/nodejs/node/pull/13242
++clang_base_path = "/usr"
++clang_use_chrome_plugins = false
++fatal_linker_warnings = false
++treat_warnings_as_errors = false
++fieldtrial_testing_like_official_build = true
++remove_webcore_debug_symbols = true
++link_pulseaudio = true
++linux_use_bundled_binutils = false
++use_cups = true
++use_gconf = false
++use_gtk3 = true
++use_sysroot = false
+
+ # CFI is disabled for the time being, as Electron is not a monolithic binary
+ # with at least one shared library component (Node) and CFI is tricky in that
+--- a/patches/010-build_gn.patch
++++ b/patches/010-build_gn.patch
+@@ -31,24 +31,6 @@ index d055e705627c..a52003f1b5e1 100644
+ ]
+ if (is_win) {
+ default_compiler_configs += [
+-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+-index 3b77c055108b..10dab62c2878 100644
+---- a/build/config/compiler/BUILD.gn
+-+++ b/build/config/compiler/BUILD.gn
+-@@ -485,11 +485,11 @@ config("compiler") {
+- # For Full LTO, it provides a measurable runtime speedup of Chrome.
+- cflags += [
+- "-flto",
+-- "-fwhole-program-vtables",
+-+ # "-fwhole-program-vtables",
+- ]
+- ldflags += [
+- "-flto",
+-- "-fwhole-program-vtables",
+-+ # "-fwhole-program-vtables",
+- ]
+-
+- # Apply a lower LTO optimization level as the default is too slow.
+ diff --git a/build/config/win/BUILD.gn b/build/config/win/BUILD.gn
+ index 5e1f7fcc4d83..15723e6b7184 100644
+ --- a/build/config/win/BUILD.gn
+--- a/script/update
++++ b/script/update
+@@ -294,7 +294,7 @@ def run_gn(target_arch, defines):
+ if sys.platform in ['win32', 'cygwin']:
+ args += ' use_experimental_allocator_shim=false'
+ if sys.platform == 'linux2':
+- args += ' use_gtk3=false'
++ args += ' use_gtk3=true'
+ if target_arch == 'mips64el':
+ args += ' clang_use_chrome_plugins=false'
+ args += ' enable_hangout_services_extension=true'
+@@ -321,7 +321,7 @@ def run_gn(target_arch, defines):
+ if target_arch == 'mips64el':
+ args += ' is_debug=false'
+ else:
+- args += ' is_official_build=true'
++ args += ' is_debug=false'
+
+ output_dir = get_output_dir(SOURCE_ROOT, target_arch, component)
+ subprocess.call([gn, 'gen', os.path.relpath(output_dir, SRC_DIR), '--args=' + args],
Copied: electron/repos/community-staging-x86_64/libchromiumcontent-sort-filenames.patch (from rev 317554, electron/trunk/libchromiumcontent-sort-filenames.patch)
===================================================================
--- community-staging-x86_64/libchromiumcontent-sort-filenames.patch (rev 0)
+++ community-staging-x86_64/libchromiumcontent-sort-filenames.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,32 @@
+--- a/chromiumcontent/build_libs.py
++++ b/chromiumcontent/build_libs.py
+@@ -13,7 +13,8 @@ def gen_list(out, name, obj_dirs):
+ out.write(name + " = [\n")
+ for base_dir in obj_dirs:
+ for dir, subdirs, files in os.walk(os.path.join('obj', base_dir)):
+- for f in files:
++ subdirs.sort()
++ for f in sorted(files):
+ if f.endswith('.obj') or f.endswith('.o'):
+ out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
+ out.write("]\n")
+--- a/tools/generate_filenames_gypi.py
++++ b/tools/generate_filenames_gypi.py
+@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
+
+
+ def find_libraries(dirpath, library_suffix, list_of_excludes):
+- libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
++ libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
+ if (library_suffix == 'so'):
+ # Handle "libname.so.123"
+ libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
+@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
+ if regex.match(file):
+ files_found.append(os.path.join(root, file))
+
+- return files_found
++ return sorted(files_found)
+
+
+ def is_v8_library(p):
Copied: electron/repos/community-staging-x86_64/libchromiumcontent-static-library-only.patch (from rev 317554, electron/trunk/libchromiumcontent-static-library-only.patch)
===================================================================
--- community-staging-x86_64/libchromiumcontent-static-library-only.patch (rev 0)
+++ community-staging-x86_64/libchromiumcontent-static-library-only.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,54 @@
+--- a/script/build
++++ b/script/build
+@@ -13,7 +13,7 @@ from lib.config import MIPS64EL_GCC, IS_MIPS64EL_HOST, set_mips64el_env, \
+ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
+ TARGETS = ['chromiumcontent_all']
+-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg']
++COMPONENTS = ['static_library']
+
+ NINJA = 'ninja'
+ if sys.platform == 'win32':
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -76,7 +76,7 @@ BINARIES = {
+ 'libffmpeg.dylib',
+ ],
+ 'linux': [
+- 'libffmpeg.so',
++ # 'libffmpeg.so',
+ ],
+ 'win32': [
+ 'd3dcompiler_47.dll',
+@@ -390,7 +390,7 @@ def generate_ninja(args, ninja):
+ copy_generated_sources(target_arch, component, ninja)
+ copy_locales(target_arch, component, ninja)
+
+- copy_ffmpeg(target_arch, ninja)
++ # copy_ffmpeg(target_arch, ninja)
+ copy_sources(ninja)
+ generate_licenses(ninja)
+
+@@ -513,9 +513,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
+ else:
+ binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
+ else:
+- binaries = [ 'chromedriver', 'mksnapshot' ]
++ binaries = [ 'mksnapshot' ]
+
+- ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
++ ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
+ for binary in binaries:
+ ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
+
+--- a/script/update
++++ b/script/update
+@@ -19,7 +19,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
+ SRC_DIR = os.path.join(SOURCE_ROOT, 'src')
+ CHROMIUMCONTENT_SOURCE_DIR = os.path.join(SOURCE_ROOT, 'chromiumcontent')
+ CHROMIUMCONTENT_DESTINATION_DIR = os.path.join(SRC_DIR, 'chromiumcontent')
+-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg']
++COMPONENTS = ['static_library']
+ DEPOT_TOOLS = os.path.join(VENDOR_DIR, 'depot_tools')
+
+ NINJA = os.path.join(DEPOT_TOOLS, 'ninja')
Copied: electron/repos/community-staging-x86_64/libchromiumcontent-use-system-tools.patch (from rev 317554, electron/trunk/libchromiumcontent-use-system-tools.patch)
===================================================================
--- community-staging-x86_64/libchromiumcontent-use-system-tools.patch (rev 0)
+++ community-staging-x86_64/libchromiumcontent-use-system-tools.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,55 @@
+--- a/script/build
++++ b/script/build
+@@ -15,7 +15,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
+ TARGETS = ['chromiumcontent_all']
+ COMPONENTS = ['static_library', 'shared_library', 'ffmpeg']
+
+-NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja')
++NINJA = 'ninja'
+ if sys.platform == 'win32':
+ NINJA = '{0}.exe'.format(NINJA)
+ elif IS_MIPS64EL_HOST:
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -31,7 +31,7 @@ import ninja_syntax
+ MAIN_DIR = os.path.join(DIST_DIR, 'main')
+ DIST_SRC_DIR = os.path.join(MAIN_DIR, 'src')
+
+-NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja')
++NINJA = 'ninja'
+ if sys.platform == 'win32':
+ NINJA = '{0}.exe'.format(NINJA)
+ elif IS_MIPS64EL_HOST:
+--- a/script/update
++++ b/script/update
+@@ -69,17 +69,16 @@ def main():
+ if target_arch == 'mips64el' and IS_MIPS64EL_HOST:
+ os.system('sh script/mips64el/runhooks-mips64el')
+
+- if sys.platform == 'linux2':
+- install_sysroot(target_arch)
+- elif sys.platform in ['win32', 'cygwin']:
+- update_toolchain_json()
++ # if sys.platform == 'linux2':
++ # install_sysroot(target_arch)
++ # elif sys.platform in ['win32', 'cygwin']:
++ # update_toolchain_json()
+
+ if target_arch == 'arm64':
+ install_aarch64_bintools()
+
+ return (apply_patches(args.skip_patches, target_arch) or
+ copy_chromiumcontent_files() or
+- update_clang() or
+ setup_mips64el_toolchain(target_arch) or
+ run_gn(target_arch, args.defines))
+
+@@ -276,7 +275,7 @@ def setup_mips64el_toolchain(target_arch):
+
+
+ def run_gn(target_arch, defines):
+- gn = os.path.join(VENDOR_DIR, 'depot_tools', 'gn')
++ gn = os.path.join(SRC_DIR, 'out', 'Release', 'gn')
+ if sys.platform in ['win32', 'cygwin']:
+ gn += '.bat'
+
Copied: electron/repos/community-staging-x86_64/no-whole-archive.patch (from rev 317554, electron/trunk/no-whole-archive.patch)
===================================================================
--- community-staging-x86_64/no-whole-archive.patch (rev 0)
+++ community-staging-x86_64/no-whole-archive.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,22 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -46,14 +46,13 @@
+ 'conditions': [
+ # Link with libraries of libchromiumcontent.
+ ['OS=="linux" and libchromiumcontent_component==0', {
+- # On Linux we have to use "--whole-archive" to force executable
+- # to include all symbols, otherwise we will have plenty of
++ # On Linux we have to use "--start-group" or we will have plenty of
+ # unresolved symbols errors.
+- 'direct_dependent_settings': {
+- 'ldflags': [
+- '-Wl,--whole-archive',
++ 'link_settings': {
++ 'libraries': [
++ '-Wl,--start-group',
+ '<@(libchromiumcontent_libraries)',
+- '-Wl,--no-whole-archive',
++ '-Wl,--end-group'
+ ],
+ }
+ }, { # (Release build on Linux)
Copied: electron/repos/community-staging-x86_64/use-system-ffmpeg.patch (from rev 317554, electron/trunk/use-system-ffmpeg.patch)
===================================================================
--- community-staging-x86_64/use-system-ffmpeg.patch (rev 0)
+++ community-staging-x86_64/use-system-ffmpeg.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,21 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -143,8 +143,6 @@
+ }, {
+ 'link_settings': {
+ 'libraries': [
+- # Link with ffmpeg.
+- '<(libchromiumcontent_dir)/libffmpeg.so',
+ # Following libraries are required by libchromiumcontent:
+ '-lasound',
+ '-lcap',
+--- a/electron.gyp
++++ b/electron.gyp
+@@ -197,7 +197,6 @@
+ }, {
+ 'copied_libraries': [
+ '<(PRODUCT_DIR)/lib/libnode.so',
+- '<(libchromiumcontent_dir)/libffmpeg.so',
+ ],
+ }],
+ ],
Copied: electron/repos/community-staging-x86_64/use-system-libraries-in-node.patch (from rev 317554, electron/trunk/use-system-libraries-in-node.patch)
===================================================================
--- community-staging-x86_64/use-system-libraries-in-node.patch (rev 0)
+++ community-staging-x86_64/use-system-libraries-in-node.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,31 @@
+--- a/common.gypi
++++ b/common.gypi
+@@ -22,12 +22,12 @@
+ 'node_install_npm': 'false',
+ 'node_prefix': '',
+ 'node_shared': 'true',
+- 'node_shared_cares': 'false',
+- 'node_shared_http_parser': 'false',
++ 'node_shared_cares': 'true',
++ 'node_shared_http_parser': 'true',
+ 'node_shared_libuv': 'false',
+ 'node_shared_openssl': 'false',
+ 'node_shared_v8': 'true',
+- 'node_shared_zlib': 'false',
++ 'node_shared_zlib': 'true',
+ 'node_tag': '',
+ 'node_use_dtrace': 'false',
+ 'node_use_etw': 'false',
+@@ -171,6 +171,12 @@
+ ],
+ }],
+ ['OS=="linux" and libchromiumcontent_component==0', {
++ 'libraries': [
++ '-lcares',
++ '-lcrypto',
++ '-lhttp_parser',
++ '-lz',
++ ],
+ # Prevent the linker from stripping symbols.
+ 'ldflags': [
+ '-Wl,--whole-archive',
Copied: electron/repos/community-staging-x86_64/use-system-ninja.patch (from rev 317554, electron/trunk/use-system-ninja.patch)
===================================================================
--- community-staging-x86_64/use-system-ninja.patch (rev 0)
+++ community-staging-x86_64/use-system-ninja.patch 2018-04-24 13:46:14 UTC (rev 317555)
@@ -0,0 +1,11 @@
+--- a/script/build.py
++++ b/script/build.py
+@@ -23,7 +23,7 @@
+ # Update the VS build env.
+ import_vs_env(get_target_arch())
+
+- ninja = os.path.join('vendor', 'depot_tools', 'ninja')
++ ninja = 'ninja'
+ if sys.platform == 'win32':
+ ninja += '.exe'
+
More information about the arch-commits
mailing list