[arch-commits] Commit in electron/repos/community-x86_64 (56 files)

Nicola Squartini tensor5 at archlinux.org
Mon Feb 19 14:56:53 UTC 2018


    Date: Monday, February 19, 2018 @ 14:56:52
  Author: tensor5
Revision: 296387

archrelease: copy trunk to community-x86_64

Added:
  electron/repos/community-x86_64/PKGBUILD
    (from rev 296386, electron/trunk/PKGBUILD)
  electron/repos/community-x86_64/allow-i686.patch
    (from rev 296386, electron/trunk/allow-i686.patch)
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
    (from rev 296386, electron/trunk/breakpad-glibc2.26.patch)
  electron/repos/community-x86_64/chromium-gn-bootstrap-r2.patch
    (from rev 296386, electron/trunk/chromium-gn-bootstrap-r2.patch)
  electron/repos/community-x86_64/chromium-gtk3.patch
    (from rev 296386, electron/trunk/chromium-gtk3.patch)
  electron/repos/community-x86_64/chromium-include-functional.patch
    (from rev 296386, electron/trunk/chromium-include-functional.patch)
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch
    (from rev 296386, electron/trunk/chromium-use-system-ffmpeg.patch)
  electron/repos/community-x86_64/chromium-use-system-minizip.patch
    (from rev 296386, electron/trunk/chromium-use-system-minizip.patch)
  electron/repos/community-x86_64/chromium-use-system-re2.patch
    (from rev 296386, electron/trunk/chromium-use-system-re2.patch)
  electron/repos/community-x86_64/default_app-icon.patch
    (from rev 296386, electron/trunk/default_app-icon.patch)
  electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch
    (from rev 296386, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
  electron/repos/community-x86_64/dont-update-submodules.patch
    (from rev 296386, electron/trunk/dont-update-submodules.patch)
  electron/repos/community-x86_64/dont-use-sysroot.patch
    (from rev 296386, electron/trunk/dont-use-sysroot.patch)
  electron/repos/community-x86_64/electron.desktop
    (from rev 296386, electron/trunk/electron.desktop)
  electron/repos/community-x86_64/gtk3-menu-bar.patch
    (from rev 296386, electron/trunk/gtk3-menu-bar.patch)
  electron/repos/community-x86_64/gtk3-message-box.patch
    (from rev 296386, electron/trunk/gtk3-message-box.patch)
  electron/repos/community-x86_64/gtk3-warnings.patch
    (from rev 296386, electron/trunk/gtk3-warnings.patch)
  electron/repos/community-x86_64/gyp-no-rpath.patch
    (from rev 296386, electron/trunk/gyp-no-rpath.patch)
  electron/repos/community-x86_64/libchromiumcontent-chdir.patch
    (from rev 296386, electron/trunk/libchromiumcontent-chdir.patch)
  electron/repos/community-x86_64/libchromiumcontent-no-depot_tools.patch
    (from rev 296386, electron/trunk/libchromiumcontent-no-depot_tools.patch)
  electron/repos/community-x86_64/libchromiumcontent-settings.patch
    (from rev 296386, electron/trunk/libchromiumcontent-settings.patch)
  electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch
    (from rev 296386, electron/trunk/libchromiumcontent-sort-filenames.patch)
  electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch
    (from rev 296386, electron/trunk/libchromiumcontent-static-library-only.patch)
  electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch
    (from rev 296386, electron/trunk/libchromiumcontent-use-system-tools.patch)
  electron/repos/community-x86_64/no-whole-archive.patch
    (from rev 296386, electron/trunk/no-whole-archive.patch)
  electron/repos/community-x86_64/use-system-ffmpeg.patch
    (from rev 296386, electron/trunk/use-system-ffmpeg.patch)
  electron/repos/community-x86_64/use-system-libraries-in-node.patch
    (from rev 296386, electron/trunk/use-system-libraries-in-node.patch)
  electron/repos/community-x86_64/use-system-ninja.patch
    (from rev 296386, electron/trunk/use-system-ninja.patch)
Deleted:
  electron/repos/community-x86_64/PKGBUILD
  electron/repos/community-x86_64/allow-i686.patch
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
  electron/repos/community-x86_64/chromium-gn-bootstrap-r2.patch
  electron/repos/community-x86_64/chromium-gtk3.patch
  electron/repos/community-x86_64/chromium-include-functional.patch
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch
  electron/repos/community-x86_64/chromium-use-system-minizip.patch
  electron/repos/community-x86_64/chromium-use-system-re2.patch
  electron/repos/community-x86_64/default_app-icon.patch
  electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch
  electron/repos/community-x86_64/dont-update-submodules.patch
  electron/repos/community-x86_64/dont-use-sysroot.patch
  electron/repos/community-x86_64/electron.desktop
  electron/repos/community-x86_64/gtk3-menu-bar.patch
  electron/repos/community-x86_64/gtk3-message-box.patch
  electron/repos/community-x86_64/gtk3-warnings.patch
  electron/repos/community-x86_64/gyp-no-rpath.patch
  electron/repos/community-x86_64/libchromiumcontent-chdir.patch
  electron/repos/community-x86_64/libchromiumcontent-no-depot_tools.patch
  electron/repos/community-x86_64/libchromiumcontent-settings.patch
  electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch
  electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch
  electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch
  electron/repos/community-x86_64/no-whole-archive.patch
  electron/repos/community-x86_64/use-system-ffmpeg.patch
  electron/repos/community-x86_64/use-system-libraries-in-node.patch
  electron/repos/community-x86_64/use-system-ninja.patch

----------------------------------------------+
 PKGBUILD                                     |  561 ++++++++++++-------------
 allow-i686.patch                             |   28 -
 breakpad-glibc2.26.patch                     |  416 +++++++++---------
 chromium-gn-bootstrap-r2.patch               |   26 -
 chromium-gtk3.patch                          |   26 -
 chromium-include-functional.patch            |   20 
 chromium-use-system-ffmpeg.patch             |   96 ++--
 chromium-use-system-minizip.patch            |   28 -
 chromium-use-system-re2.patch                |   20 
 default_app-icon.patch                       |   44 -
 dont-bootstrap-libchromiumcontent.patch      |   26 -
 dont-update-submodules.patch                 |   22 
 dont-use-sysroot.patch                       |   54 +-
 electron.desktop                             |   14 
 gtk3-menu-bar.patch                          |  182 ++++----
 gtk3-message-box.patch                       |   22 
 gtk3-warnings.patch                          |  130 ++---
 gyp-no-rpath.patch                           |   24 -
 libchromiumcontent-chdir.patch               |   22 
 libchromiumcontent-no-depot_tools.patch      |   48 +-
 libchromiumcontent-settings.patch            |  116 ++---
 libchromiumcontent-sort-filenames.patch      |   34 +
 libchromiumcontent-static-library-only.patch |  108 ++--
 libchromiumcontent-use-system-tools.patch    |  112 ++--
 no-whole-archive.patch                       |   44 -
 use-system-ffmpeg.patch                      |   42 -
 use-system-libraries-in-node.patch           |  100 ++--
 use-system-ninja.patch                       |   22 
 28 files changed, 1200 insertions(+), 1187 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-02-19 14:56:06 UTC (rev 296386)
+++ PKGBUILD	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,280 +0,0 @@
-# $Id$
-# Maintainer: Nicola Squartini <tensor5 at gmail.com>
-
-_chromiumver=58.0.3029.110
-pkgname=electron
-pkgver=1.7.12
-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' 'libxslt'
-         'libxss' 'minizip' 'nss' 're2' 'snappy')
-makedepends=('clang' 'gconf' 'git' 'gperf' 'gtk2' 'harfbuzz-icu' 'jsoncpp'
-             'libexif' 'libgnome-keyring' 'libnotify' '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)')
-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'
-        "electron-chromium-${_chromiumver}.tar.xz::https://github.com/zcbenz/chromium-source-tarball/releases/download/${_chromiumver}/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-chdir.patch'
-        'libchromiumcontent-no-depot_tools.patch'
-        'libchromiumcontent-settings.patch'
-        'libchromiumcontent-sort-filenames.patch'
-        'libchromiumcontent-static-library-only.patch'
-        'libchromiumcontent-use-system-tools.patch'
-        'chromium-gn-bootstrap-r2.patch'
-        'chromium-gtk3.patch'
-        'chromium-include-functional.patch'
-        'chromium-use-system-ffmpeg.patch'
-        'chromium-use-system-minizip.patch'
-        'chromium-use-system-re2.patch'
-       )
-noextract=("electron-chromium-${_chromiumver}.tar.xz")
-sha512sums=('SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'efe0c61a8888ead17d4ae2494623b65b4a201e6c8487b8af850c17b4cc7cccadd10b85a2ba4a913622bacbff5bb3bfbe192e361fc1a0e3c00c4a5cd2195666c6'
-            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
-            'a9b4d25987171c170ad2c6467c45d1f27c6dfba71c4d981564f6d0a683acd54c17e415314c35a44560ab6428a2ff98321caec0d2a07a9c69bddd580c42f6eb48'
-            'c2ae7549e6372609fbebaf552af2ebda9e313eec4c3a8636ba9dfe7d34bbc5fdc7c73a88881a3a7a80b04b929b8251fe24cd3bfed828a812cdcfb0efc29312f5'
-            '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
-            '145c9b96c867bbaff76639554e63315186103e16bde366629a56cf06d19015141d84711923e57bfaeffb3f2ab91c986c75c41767f4bf05c179e07b68e2cb554c'
-            '62963c4dbf86624f370aad1ee42d43b7e4f6a0f719d906959ed642b1c0ca9ba397a8ea3923e6c6a4acc38bfb2187642791148dd528bb3b4ddc79f039fa6d8fa5'
-            '4eeb3a757bcf268b9bc7d16ca1efa9fa96d1aa55827766e1ec88d967946412688f4ab88a0ee3fb0870f32fa6ce4dd5cfe92c27a55c86d489e04c5c297d30e6bc'
-            'd6dfadb1c30e0a2f234dedd09a79c4af96aaef976146fdb95989edc6bd019d6e52e127fc9fc119c17e4d3321052f49877c728c52cd2e8d3ca41165c5155b40d3'
-            '42fce1906cc78f3b853ec1bad2ef9f6ec3465c92d941113d3f084406c0dfcbe0a4eddf9fbe7d0decb63d1cfbb4bbf681bbb75510df1c874afb1d9b1805c228a4'
-            '606b44f4c259cb1acc7f825aefc072a951004d0f5307ddf95d87634b83e25bfe1202d3aef0c1cef47b51a6afa58c2a365a405c524adf1af5e799e69b97bb368b'
-            '473db4f20714e12bf402b61b67f1fff886be4505cdec77120c143c453e0529028703c8b3b3cb8a69d68debd35dfce528db4b3a3028162ea43ba600c9364cbaa5'
-            '49da48a340bc165a7677bb324b091240e1f8f6acf868b67df05f1cd9d3d15a3948a186981ed45e7388ecff4fe5099d3a0ed1ef405af79292505c8e2a301fcc27'
-            '61d60c46cfd0b59d4188452f73868363bb051804c8927a75680e150818c7bee7823c3ae6788d1eb4c4d6f672dd92ec684f9f8115d9cf80603e714bf97b08e874'
-            'fef435fcae0fcfc5ed7fe66bcdad24565a87493ff133422fa54756ee1c1335d4bfdae7e782d3f72fcd5c0e6c337b7a30fe7fb36a02a3fea1a1d509244d01d636'
-            'c8d0711818d790a4db06163b6f22badbad405aa719f7ffe0f2574f2a49074085949902cd060ff47609fc930cc88d60a25a9ca2cc569702fab4ab4a8a57611a4b'
-            '607681ea5a5d62201f37e72b039a370c8b260a4eff14697713124b91383315fdde14ebb028e13ca06da26259f322680f2749fc67b99f1bc6196fa3c1c63f5d65'
-            '93a85e826f019b0d3af7d8e9276404d2cbaabd9674c6a36a31518e893ac2759cadd410c9c27af1186ad90fe6bd888546df9567987a04375993c6f776bd508b32'
-            '2a8a7d781a65d9188af0a10665f499aa4cb1c151c626ef8173a9e4e53159173d3943c2fdc806f88730171b285cccd4efe232ca9d32870a10f7cbe485ede0bcf9'
-            'dd7f6fc0023e867835fe7cabd4b54750ebec0ea91102ca11d73a9c3e7caa92f2c8118795d2f67b3269381a3366b3ff9cf692924bcbb379a5ed7ce36b86b4d8b6'
-            '6bc66e6d3df8ef3d616a01fa5ac9270eeed1f705cbb3557dc3d670f9cbd50cf47d4773a334e11494cbb78f850ce2c3f364d8889e7bcfcadec299b354a37cfd6a'
-            '8ae7a0c049429191a5092b73ba7e6681ac17b0fe4ac77715e67c9e7c1db63e66731912fb144955108ee1d37848d3bb03d1f5defec2b7b2324784dec1eda898ef'
-            'c94a8dcb69e2a1d7e2e24a34e89cece2c2329df5a99f214a511bea0e837d44c690de26b72095153d2284c0617b5d89ea782cf54fa3151da9d5c9261ac9469bcd'
-            '6a995c3fa315692525db59abbd9e4297551448cb111ba93efc2d6443546cf0961a84fb3762cf9c9be6e56cde13c885504c0dad0968f92bb32e471adfc5cbbf4a'
-            'cb903a6dd635fe70afc7c6961700d2aaa1da6ec2996c4f352e253876b8b831cdfe3cc5d32d90aec468302e4b5cabae0efbc269acd4fa3c7ffc26825e8617fa40'
-            '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 libxml-2.0 libxslt)', '-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-chdir.patch
-  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/build_gn.patch  # Use system ffmpeg
-  echo 'Extracting chromium source...'
-  tar -xJf "${srcdir}"/electron-chromium-${_chromiumver}.tar.xz
-  mv chromium-${_chromiumver} src
-  cd src
-  patch -Np1 -i "${srcdir}"/chromium-gn-bootstrap-r2.patch
-  patch -Np1 -i "${srcdir}"/chromium-gtk3.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
-  cd third_party/node
-  npm install
-  patch -d node_modules/vulcanize -p1 < patch_vulcanize.diff
-}
-
-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_libchromiumcontent
-  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-x86_64/PKGBUILD (from rev 296386, electron/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,281 @@
+# $Id$
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+_chromiumver=58.0.3029.110
+pkgname=electron
+pkgver=1.7.12
+pkgrel=3
+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' 'libxslt'
+         'libxss' 'minizip' 'nss' 're2' 'snappy')
+makedepends=('clang' 'gconf' 'git' 'gperf' 'gtk2' 'harfbuzz-icu' 'jsoncpp'
+             'libexif' 'libgnome-keyring' 'libnotify' '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'
+        "electron-chromium-${_chromiumver}.tar.xz::https://github.com/zcbenz/chromium-source-tarball/releases/download/${_chromiumver}/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-chdir.patch'
+        'libchromiumcontent-no-depot_tools.patch'
+        'libchromiumcontent-settings.patch'
+        'libchromiumcontent-sort-filenames.patch'
+        'libchromiumcontent-static-library-only.patch'
+        'libchromiumcontent-use-system-tools.patch'
+        'chromium-gn-bootstrap-r2.patch'
+        'chromium-gtk3.patch'
+        'chromium-include-functional.patch'
+        'chromium-use-system-ffmpeg.patch'
+        'chromium-use-system-minizip.patch'
+        'chromium-use-system-re2.patch'
+       )
+noextract=("electron-chromium-${_chromiumver}.tar.xz")
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'efe0c61a8888ead17d4ae2494623b65b4a201e6c8487b8af850c17b4cc7cccadd10b85a2ba4a913622bacbff5bb3bfbe192e361fc1a0e3c00c4a5cd2195666c6'
+            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
+            'a9b4d25987171c170ad2c6467c45d1f27c6dfba71c4d981564f6d0a683acd54c17e415314c35a44560ab6428a2ff98321caec0d2a07a9c69bddd580c42f6eb48'
+            'c2ae7549e6372609fbebaf552af2ebda9e313eec4c3a8636ba9dfe7d34bbc5fdc7c73a88881a3a7a80b04b929b8251fe24cd3bfed828a812cdcfb0efc29312f5'
+            '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
+            '145c9b96c867bbaff76639554e63315186103e16bde366629a56cf06d19015141d84711923e57bfaeffb3f2ab91c986c75c41767f4bf05c179e07b68e2cb554c'
+            '62963c4dbf86624f370aad1ee42d43b7e4f6a0f719d906959ed642b1c0ca9ba397a8ea3923e6c6a4acc38bfb2187642791148dd528bb3b4ddc79f039fa6d8fa5'
+            '4eeb3a757bcf268b9bc7d16ca1efa9fa96d1aa55827766e1ec88d967946412688f4ab88a0ee3fb0870f32fa6ce4dd5cfe92c27a55c86d489e04c5c297d30e6bc'
+            'd6dfadb1c30e0a2f234dedd09a79c4af96aaef976146fdb95989edc6bd019d6e52e127fc9fc119c17e4d3321052f49877c728c52cd2e8d3ca41165c5155b40d3'
+            '42fce1906cc78f3b853ec1bad2ef9f6ec3465c92d941113d3f084406c0dfcbe0a4eddf9fbe7d0decb63d1cfbb4bbf681bbb75510df1c874afb1d9b1805c228a4'
+            '606b44f4c259cb1acc7f825aefc072a951004d0f5307ddf95d87634b83e25bfe1202d3aef0c1cef47b51a6afa58c2a365a405c524adf1af5e799e69b97bb368b'
+            '473db4f20714e12bf402b61b67f1fff886be4505cdec77120c143c453e0529028703c8b3b3cb8a69d68debd35dfce528db4b3a3028162ea43ba600c9364cbaa5'
+            '49da48a340bc165a7677bb324b091240e1f8f6acf868b67df05f1cd9d3d15a3948a186981ed45e7388ecff4fe5099d3a0ed1ef405af79292505c8e2a301fcc27'
+            '61d60c46cfd0b59d4188452f73868363bb051804c8927a75680e150818c7bee7823c3ae6788d1eb4c4d6f672dd92ec684f9f8115d9cf80603e714bf97b08e874'
+            'fef435fcae0fcfc5ed7fe66bcdad24565a87493ff133422fa54756ee1c1335d4bfdae7e782d3f72fcd5c0e6c337b7a30fe7fb36a02a3fea1a1d509244d01d636'
+            'c8d0711818d790a4db06163b6f22badbad405aa719f7ffe0f2574f2a49074085949902cd060ff47609fc930cc88d60a25a9ca2cc569702fab4ab4a8a57611a4b'
+            '607681ea5a5d62201f37e72b039a370c8b260a4eff14697713124b91383315fdde14ebb028e13ca06da26259f322680f2749fc67b99f1bc6196fa3c1c63f5d65'
+            '93a85e826f019b0d3af7d8e9276404d2cbaabd9674c6a36a31518e893ac2759cadd410c9c27af1186ad90fe6bd888546df9567987a04375993c6f776bd508b32'
+            '54ded98c95de5c6f6bdc3352b4f34f8b6ea0f527355ccff12b8f88a8dfb8b308301a95d5f4c4f1cdd7333a5c3372045e63e63e524329913d3e339d757721ef01'
+            'dd7f6fc0023e867835fe7cabd4b54750ebec0ea91102ca11d73a9c3e7caa92f2c8118795d2f67b3269381a3366b3ff9cf692924bcbb379a5ed7ce36b86b4d8b6'
+            '6bc66e6d3df8ef3d616a01fa5ac9270eeed1f705cbb3557dc3d670f9cbd50cf47d4773a334e11494cbb78f850ce2c3f364d8889e7bcfcadec299b354a37cfd6a'
+            '8ae7a0c049429191a5092b73ba7e6681ac17b0fe4ac77715e67c9e7c1db63e66731912fb144955108ee1d37848d3bb03d1f5defec2b7b2324784dec1eda898ef'
+            'c94a8dcb69e2a1d7e2e24a34e89cece2c2329df5a99f214a511bea0e837d44c690de26b72095153d2284c0617b5d89ea782cf54fa3151da9d5c9261ac9469bcd'
+            '6a995c3fa315692525db59abbd9e4297551448cb111ba93efc2d6443546cf0961a84fb3762cf9c9be6e56cde13c885504c0dad0968f92bb32e471adfc5cbbf4a'
+            'cb903a6dd635fe70afc7c6961700d2aaa1da6ec2996c4f352e253876b8b831cdfe3cc5d32d90aec468302e4b5cabae0efbc269acd4fa3c7ffc26825e8617fa40'
+            '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 libxml-2.0 libxslt)', '-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-chdir.patch
+  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/build_gn.patch  # Use system ffmpeg
+  echo 'Extracting chromium source...'
+  tar -xJf "${srcdir}"/electron-chromium-${_chromiumver}.tar.xz
+  mv chromium-${_chromiumver} src
+  cd src
+  patch -Np1 -i "${srcdir}"/chromium-gn-bootstrap-r2.patch
+  patch -Np1 -i "${srcdir}"/chromium-gtk3.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
+  cd third_party/node
+  npm install
+  patch -d node_modules/vulcanize -p1 < patch_vulcanize.diff
+}
+
+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_libchromiumcontent
+  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"
+}

Deleted: allow-i686.patch
===================================================================
--- allow-i686.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ allow-i686.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,14 +0,0 @@
---- 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-x86_64/allow-i686.patch (from rev 296386, electron/trunk/allow-i686.patch)
===================================================================
--- allow-i686.patch	                        (rev 0)
+++ allow-i686.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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()
+ 

Deleted: breakpad-glibc2.26.patch
===================================================================
--- breakpad-glibc2.26.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ breakpad-glibc2.26.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,208 +0,0 @@
---- 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
-@@ -416,7 +416,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
-@@ -1240,7 +1240,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-x86_64/breakpad-glibc2.26.patch (from rev 296386, electron/trunk/breakpad-glibc2.26.patch)
===================================================================
--- breakpad-glibc2.26.patch	                        (rev 0)
+++ breakpad-glibc2.26.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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
+@@ -416,7 +416,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
+@@ -1240,7 +1240,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

Deleted: chromium-gn-bootstrap-r2.patch
===================================================================
--- chromium-gn-bootstrap-r2.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-gn-bootstrap-r2.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,13 +0,0 @@
-Index: tools/gn/bootstrap/bootstrap.py
-diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
-index 38cfb117d29c3895291379f00d8dc8c8b0727474..679170e610f8292bcbeb76508fd247d322a69c79 100755
---- a/tools/gn/bootstrap/bootstrap.py
-+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -385,6 +385,7 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/base_switches.cc',
-       'base/build_time.cc',
-       'base/callback_internal.cc',
-+      'base/callback_helpers.cc',
-       'base/command_line.cc',
-       'base/debug/activity_tracker.cc',
-       'base/debug/alias.cc',

Copied: electron/repos/community-x86_64/chromium-gn-bootstrap-r2.patch (from rev 296386, electron/trunk/chromium-gn-bootstrap-r2.patch)
===================================================================
--- chromium-gn-bootstrap-r2.patch	                        (rev 0)
+++ chromium-gn-bootstrap-r2.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,13 @@
+Index: tools/gn/bootstrap/bootstrap.py
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 38cfb117d29c3895291379f00d8dc8c8b0727474..679170e610f8292bcbeb76508fd247d322a69c79 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -385,6 +385,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+       'base/base_switches.cc',
+       'base/build_time.cc',
+       'base/callback_internal.cc',
++      'base/callback_helpers.cc',
+       'base/command_line.cc',
+       'base/debug/activity_tracker.cc',
+       'base/debug/alias.cc',

Deleted: chromium-gtk3.patch
===================================================================
--- chromium-gtk3.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-gtk3.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,13 +0,0 @@
---- a/chrome/browser/ui/libgtkui/gtk_ui.cc
-+++ b/chrome/browser/ui/libgtkui/gtk_ui.cc
-@@ -376,6 +376,10 @@
- }  // namespace
- 
- GtkUi::GtkUi() : middle_click_action_(GetDefaultMiddleClickAction()) {
-+#if GTK_MAJOR_VERSION > 2
-+  g_setenv("GDK_SCALE", "1", FALSE);
-+  gdk_set_allowed_backends("x11");
-+#endif
-   GtkInitFromCommandLine(*base::CommandLine::ForCurrentProcess());
- #if GTK_MAJOR_VERSION == 2
-   native_theme_ = NativeThemeGtk2::instance();

Copied: electron/repos/community-x86_64/chromium-gtk3.patch (from rev 296386, electron/trunk/chromium-gtk3.patch)
===================================================================
--- chromium-gtk3.patch	                        (rev 0)
+++ chromium-gtk3.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,13 @@
+--- a/chrome/browser/ui/libgtkui/gtk_ui.cc
++++ b/chrome/browser/ui/libgtkui/gtk_ui.cc
+@@ -376,6 +376,10 @@
+ }  // namespace
+ 
+ GtkUi::GtkUi() : middle_click_action_(GetDefaultMiddleClickAction()) {
++#if GTK_MAJOR_VERSION > 2
++  g_setenv("GDK_SCALE", "1", FALSE);
++  gdk_set_allowed_backends("x11");
++#endif
+   GtkInitFromCommandLine(*base::CommandLine::ForCurrentProcess());
+ #if GTK_MAJOR_VERSION == 2
+   native_theme_ = NativeThemeGtk2::instance();

Deleted: chromium-include-functional.patch
===================================================================
--- chromium-include-functional.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-include-functional.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,10 +0,0 @@
---- 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 "wtf/ThreadSpecific.h"
- 
-+#include <functional>
- #include <memory>
- 
- namespace gpu {

Copied: electron/repos/community-x86_64/chromium-include-functional.patch (from rev 296386, electron/trunk/chromium-include-functional.patch)
===================================================================
--- chromium-include-functional.patch	                        (rev 0)
+++ chromium-include-functional.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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 "wtf/ThreadSpecific.h"
+ 
++#include <functional>
+ #include <memory>
+ 
+ namespace gpu {

Deleted: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-use-system-ffmpeg.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,48 +0,0 @@
---- a/media/ffmpeg/ffmpeg_common.h
-+++ b/media/ffmpeg/ffmpeg_common.h
-@@ -22,10 +22,6 @@
- 
- // Include FFmpeg header files.
- extern "C" {
--// 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
- // 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,
-@@ -39,7 +35,6 @@
- MSVC_PUSH_DISABLE_WARNING(4244);
- #include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
--#include <libavformat/internal.h>
- #include <libavformat/avio.h>
- #include <libavutil/avutil.h>
- #include <libavutil/imgutils.h>
---- a/media/filters/ffmpeg_demuxer.cc
-+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -1221,24 +1221,6 @@
-   // If no estimate is found, the stream entry will be kInfiniteDuration.
-   std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
-                                                     kInfiniteDuration);
--  const AVFormatInternal* internal = format_context->internal;
--  if (internal && internal->packet_buffer &&
--      format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
--    struct AVPacketList* packet_buffer = internal->packet_buffer;
--    while (packet_buffer != internal->packet_buffer_end) {
--      DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
--                start_time_estimates.size());
--      const AVStream* stream =
--          format_context->streams[packet_buffer->pkt.stream_index];
--      if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
--        const base::TimeDelta packet_pts =
--            ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
--        if (packet_pts < start_time_estimates[stream->index])
--          start_time_estimates[stream->index] = packet_pts;
--      }
--      packet_buffer = packet_buffer->next;
--    }
--  }
- 
-   std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
- 

Copied: electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch (from rev 296386, electron/trunk/chromium-use-system-ffmpeg.patch)
===================================================================
--- chromium-use-system-ffmpeg.patch	                        (rev 0)
+++ chromium-use-system-ffmpeg.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,48 @@
+--- a/media/ffmpeg/ffmpeg_common.h
++++ b/media/ffmpeg/ffmpeg_common.h
+@@ -22,10 +22,6 @@
+ 
+ // Include FFmpeg header files.
+ extern "C" {
+-// 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
+ // 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,
+@@ -39,7 +35,6 @@
+ MSVC_PUSH_DISABLE_WARNING(4244);
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+-#include <libavformat/internal.h>
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
+ #include <libavutil/imgutils.h>
+--- a/media/filters/ffmpeg_demuxer.cc
++++ b/media/filters/ffmpeg_demuxer.cc
+@@ -1221,24 +1221,6 @@
+   // If no estimate is found, the stream entry will be kInfiniteDuration.
+   std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
+                                                     kInfiniteDuration);
+-  const AVFormatInternal* internal = format_context->internal;
+-  if (internal && internal->packet_buffer &&
+-      format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+-    struct AVPacketList* packet_buffer = internal->packet_buffer;
+-    while (packet_buffer != internal->packet_buffer_end) {
+-      DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
+-                start_time_estimates.size());
+-      const AVStream* stream =
+-          format_context->streams[packet_buffer->pkt.stream_index];
+-      if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+-        const base::TimeDelta packet_pts =
+-            ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
+-        if (packet_pts < start_time_estimates[stream->index])
+-          start_time_estimates[stream->index] = packet_pts;
+-      }
+-      packet_buffer = packet_buffer->next;
+-    }
+-  }
+ 
+   std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
+ 

Deleted: chromium-use-system-minizip.patch
===================================================================
--- chromium-use-system-minizip.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-use-system-minizip.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,14 +0,0 @@
---- 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-x86_64/chromium-use-system-minizip.patch (from rev 296386, electron/trunk/chromium-use-system-minizip.patch)
===================================================================
--- chromium-use-system-minizip.patch	                        (rev 0)
+++ chromium-use-system-minizip.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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;
+ 

Deleted: chromium-use-system-re2.patch
===================================================================
--- chromium-use-system-re2.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ chromium-use-system-re2.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,10 +0,0 @@
---- 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-x86_64/chromium-use-system-re2.patch (from rev 296386, electron/trunk/chromium-use-system-re2.patch)
===================================================================
--- chromium-use-system-re2.patch	                        (rev 0)
+++ chromium-use-system-re2.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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",
+   ]
+ }
+ 

Deleted: default_app-icon.patch
===================================================================
--- default_app-icon.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ default_app-icon.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,22 +0,0 @@
---- 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-x86_64/default_app-icon.patch (from rev 296386, electron/trunk/default_app-icon.patch)
===================================================================
--- default_app-icon.patch	                        (rev 0)
+++ default_app-icon.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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',

Deleted: dont-bootstrap-libchromiumcontent.patch
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ dont-bootstrap-libchromiumcontent.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,13 +0,0 @@
-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
-@@ -28,7 +28,7 @@ def main():
-   update = os.path.join(script_dir, 'update')
-   build = os.path.join(script_dir, 'build')
-   create_dist = os.path.join(script_dir, 'create-dist')
--  execute_stdout([sys.executable, bootstrap])
-+  # execute_stdout([sys.executable, bootstrap])
-   execute_stdout([sys.executable, update, '-t', args.target_arch,
-                   '--defines', args.defines])
-   execute_stdout([sys.executable, build, '-R', '-t', args.target_arch])

Copied: electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch (from rev 296386, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	                        (rev 0)
+++ dont-bootstrap-libchromiumcontent.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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
+@@ -28,7 +28,7 @@ def main():
+   update = os.path.join(script_dir, 'update')
+   build = os.path.join(script_dir, 'build')
+   create_dist = os.path.join(script_dir, 'create-dist')
+-  execute_stdout([sys.executable, bootstrap])
++  # execute_stdout([sys.executable, bootstrap])
+   execute_stdout([sys.executable, update, '-t', args.target_arch,
+                   '--defines', args.defines])
+   execute_stdout([sys.executable, build, '-R', '-t', args.target_arch])

Deleted: dont-update-submodules.patch
===================================================================
--- dont-update-submodules.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ dont-update-submodules.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,11 +0,0 @@
---- 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-x86_64/dont-update-submodules.patch (from rev 296386, electron/trunk/dont-update-submodules.patch)
===================================================================
--- dont-update-submodules.patch	                        (rev 0)
+++ dont-update-submodules.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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

Deleted: dont-use-sysroot.patch
===================================================================
--- dont-use-sysroot.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ dont-use-sysroot.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,27 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -56,9 +56,6 @@ def main():
-                            libcc_source_path, libcc_shared_library_path,
-                            libcc_static_library_path)
- 
--  if PLATFORM == 'linux':
--    download_sysroot(args.target_arch)
--
-   create_chrome_version_h()
-   touch_config_gypi()
-   run_update(defines, args.msvs)
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -56,10 +56,10 @@
-               'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
-             }],
-             ['target_arch=="ia32"', {
--              'sysroot%': '<(source_root)/vendor/debian_wheezy_i386-sysroot',
-+              'sysroot%': '/',
-             }],
-             ['target_arch=="x64"', {
--              'sysroot%': '<(source_root)/vendor/debian_wheezy_amd64-sysroot',
-+              'sysroot%': '/',
-             }],
-           ],
-         },

Copied: electron/repos/community-x86_64/dont-use-sysroot.patch (from rev 296386, electron/trunk/dont-use-sysroot.patch)
===================================================================
--- dont-use-sysroot.patch	                        (rev 0)
+++ dont-use-sysroot.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,27 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -56,9 +56,6 @@ def main():
+                            libcc_source_path, libcc_shared_library_path,
+                            libcc_static_library_path)
+ 
+-  if PLATFORM == 'linux':
+-    download_sysroot(args.target_arch)
+-
+   create_chrome_version_h()
+   touch_config_gypi()
+   run_update(defines, args.msvs)
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -56,10 +56,10 @@
+               'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
+             }],
+             ['target_arch=="ia32"', {
+-              'sysroot%': '<(source_root)/vendor/debian_wheezy_i386-sysroot',
++              'sysroot%': '/',
+             }],
+             ['target_arch=="x64"', {
+-              'sysroot%': '<(source_root)/vendor/debian_wheezy_amd64-sysroot',
++              'sysroot%': '/',
+             }],
+           ],
+         },

Deleted: electron.desktop
===================================================================
--- electron.desktop	2018-02-19 14:56:06 UTC (rev 296386)
+++ electron.desktop	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Electron
-Icon=electron
-Exec=electron %u
-Categories=Development;GTK;
-StartupNotify=true

Copied: electron/repos/community-x86_64/electron.desktop (from rev 296386, electron/trunk/electron.desktop)
===================================================================
--- electron.desktop	                        (rev 0)
+++ electron.desktop	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Electron
+Icon=electron
+Exec=electron %u
+Categories=Development;GTK;
+StartupNotify=true

Deleted: gtk3-menu-bar.patch
===================================================================
--- gtk3-menu-bar.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ gtk3-menu-bar.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,91 +0,0 @@
---- 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-x86_64/gtk3-menu-bar.patch (from rev 296386, electron/trunk/gtk3-menu-bar.patch)
===================================================================
--- gtk3-menu-bar.patch	                        (rev 0)
+++ gtk3-menu-bar.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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
+ 

Deleted: gtk3-message-box.patch
===================================================================
--- gtk3-message-box.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ gtk3-message-box.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,11 +0,0 @@
---- 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-x86_64/gtk3-message-box.patch (from rev 296386, electron/trunk/gtk3-message-box.patch)
===================================================================
--- gtk3-message-box.patch	                        (rev 0)
+++ gtk3-message-box.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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

Deleted: gtk3-warnings.patch
===================================================================
--- gtk3-warnings.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ gtk3-warnings.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,65 +0,0 @@
---- 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-x86_64/gtk3-warnings.patch (from rev 296386, electron/trunk/gtk3-warnings.patch)
===================================================================
--- gtk3-warnings.patch	                        (rev 0)
+++ gtk3-warnings.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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();
+   }

Deleted: gyp-no-rpath.patch
===================================================================
--- gyp-no-rpath.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ gyp-no-rpath.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,12 +0,0 @@
---- 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-x86_64/gyp-no-rpath.patch (from rev 296386, electron/trunk/gyp-no-rpath.patch)
===================================================================
--- gyp-no-rpath.patch	                        (rev 0)
+++ gyp-no-rpath.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -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))

Deleted: libchromiumcontent-chdir.patch
===================================================================
--- libchromiumcontent-chdir.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-chdir.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,11 +0,0 @@
---- a/script/update
-+++ b/script/update
-@@ -41,6 +41,8 @@ solutions = [
- '''
- 
- def main():
-+  os.chdir(SOURCE_ROOT)
-+
-   args = parse_args()
- 
-   if sys.platform in ['win32', 'cygwin']:

Copied: electron/repos/community-x86_64/libchromiumcontent-chdir.patch (from rev 296386, electron/trunk/libchromiumcontent-chdir.patch)
===================================================================
--- libchromiumcontent-chdir.patch	                        (rev 0)
+++ libchromiumcontent-chdir.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,11 @@
+--- a/script/update
++++ b/script/update
+@@ -41,6 +41,8 @@ solutions = [
+ '''
+ 
+ def main():
++  os.chdir(SOURCE_ROOT)
++
+   args = parse_args()
+ 
+   if sys.platform in ['win32', 'cygwin']:

Deleted: libchromiumcontent-no-depot_tools.patch
===================================================================
--- libchromiumcontent-no-depot_tools.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-no-depot_tools.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,24 +0,0 @@
---- a/script/update
-+++ b/script/update
-@@ -46,8 +46,8 @@
-   if sys.platform in ['win32', 'cygwin']:
-     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
-@@ -55,8 +55,8 @@
-   # HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\DirectoryCacheLifetime
-   # to 0.
-   # More information: https://stackoverflow.com/a/9935126
--  git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
--  gclient_sync(chromium_version(), args.clean, git_cache)
-+  # git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
-+  # gclient_sync(chromium_version(), args.clean, git_cache)
- 
-   if sys.platform == 'linux2':
-     install_sysroot()

Copied: electron/repos/community-x86_64/libchromiumcontent-no-depot_tools.patch (from rev 296386, electron/trunk/libchromiumcontent-no-depot_tools.patch)
===================================================================
--- libchromiumcontent-no-depot_tools.patch	                        (rev 0)
+++ libchromiumcontent-no-depot_tools.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,24 @@
+--- a/script/update
++++ b/script/update
+@@ -46,8 +46,8 @@
+   if sys.platform in ['win32', 'cygwin']:
+     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
+@@ -55,8 +55,8 @@
+   # HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters\DirectoryCacheLifetime
+   # to 0.
+   # More information: https://stackoverflow.com/a/9935126
+-  git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
+-  gclient_sync(chromium_version(), args.clean, git_cache)
++  # git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
++  # gclient_sync(chromium_version(), args.clean, git_cache)
+ 
+   if sys.platform == 'linux2':
+     install_sysroot()

Deleted: libchromiumcontent-settings.patch
===================================================================
--- libchromiumcontent-settings.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-settings.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,58 +0,0 @@
---- a/chromiumcontent/args/static_library.gn
-+++ b/chromiumcontent/args/static_library.gn
-@@ -2,10 +2,22 @@
- is_electron_build = true
- is_component_build = false
- is_debug = false
--symbol_level = 2
-+symbol_level = 0
- enable_nacl = false
- enable_widevine = true
- proprietary_codecs = true
- is_component_ffmpeg = true
- ffmpeg_branding = "Chrome"
- use_gold = false
-+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
---- a/chromiumcontent/BUILD.gn
-+++ b/chromiumcontent/BUILD.gn
-@@ -33,7 +33,7 @@
-     ]
- 
-     if (is_linux) {
--      deps += [ "//chrome/browser/ui/libgtkui:libgtk2ui" ]
-+      deps += [ "//chrome/browser/ui/libgtkui:libgtk3ui" ]
-     }
- 
-     if (is_component_build) {
-@@ -155,13 +155,13 @@
-     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",
-       ]
-     }
-   }

Copied: electron/repos/community-x86_64/libchromiumcontent-settings.patch (from rev 296386, electron/trunk/libchromiumcontent-settings.patch)
===================================================================
--- libchromiumcontent-settings.patch	                        (rev 0)
+++ libchromiumcontent-settings.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,58 @@
+--- a/chromiumcontent/args/static_library.gn
++++ b/chromiumcontent/args/static_library.gn
+@@ -2,10 +2,22 @@
+ is_electron_build = true
+ is_component_build = false
+ is_debug = false
+-symbol_level = 2
++symbol_level = 0
+ enable_nacl = false
+ enable_widevine = true
+ proprietary_codecs = true
+ is_component_ffmpeg = true
+ ffmpeg_branding = "Chrome"
+ use_gold = false
++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
+--- a/chromiumcontent/BUILD.gn
++++ b/chromiumcontent/BUILD.gn
+@@ -33,7 +33,7 @@
+     ]
+ 
+     if (is_linux) {
+-      deps += [ "//chrome/browser/ui/libgtkui:libgtk2ui" ]
++      deps += [ "//chrome/browser/ui/libgtkui:libgtk3ui" ]
+     }
+ 
+     if (is_component_build) {
+@@ -155,13 +155,13 @@
+     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",
+       ]
+     }
+   }

Deleted: libchromiumcontent-sort-filenames.patch
===================================================================
--- libchromiumcontent-sort-filenames.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-sort-filenames.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,11 +0,0 @@
---- a/tools/generate_filenames_gypi.py
-+++ b/tools/generate_filenames_gypi.py
-@@ -98,7 +98,7 @@
- 
- 
- def searh_files(src, suffix, exclude):
--  files = glob.glob(os.path.join(src, '*.' + suffix))
-+  files = sorted(glob.glob(os.path.join(src, '*.' + suffix)))
-   files = [f for f in files if os.path.basename(f) not in exclude]
-   return ([os.path.abspath(f) for f in files if not is_v8_library(f)],
-           [os.path.abspath(f) for f in files if is_v8_library(f)])

Copied: electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch (from rev 296386, electron/trunk/libchromiumcontent-sort-filenames.patch)
===================================================================
--- libchromiumcontent-sort-filenames.patch	                        (rev 0)
+++ libchromiumcontent-sort-filenames.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,23 @@
+--- 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
+@@ -98,7 +98,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
+ 
+ 
+ def searh_files(src, suffix, exclude):
+-  files = glob.glob(os.path.join(src, '*.' + suffix))
++  files = sorted(glob.glob(os.path.join(src, '*.' + suffix)))
+   files = [f for f in files if os.path.basename(f) not in exclude]
+   return ([os.path.abspath(f) for f in files if not is_v8_library(f)],
+           [os.path.abspath(f) for f in files if is_v8_library(f)])

Deleted: libchromiumcontent-static-library-only.patch
===================================================================
--- libchromiumcontent-static-library-only.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-static-library-only.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,54 +0,0 @@
---- a/script/build
-+++ b/script/build
-@@ -11,7 +11,7 @@ from lib.util import get_configuration, get_output_dir
- 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
-@@ -72,7 +72,7 @@ BINARIES = {
-     'libffmpeg.dylib',
-   ],
-   'linux': [
--    'libffmpeg.so',
-+    # 'libffmpeg.so',
-   ],
-   'win32': [
-     'd3dcompiler_47.dll',
-@@ -381,7 +381,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)
- 
-@@ -490,9 +490,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
-     elif target_arch == 'arm64':
-       binaries = [ 'chromedriver', 'clang_x64_v8_arm64/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
-@@ -17,7 +17,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-x86_64/libchromiumcontent-static-library-only.patch (from rev 296386, electron/trunk/libchromiumcontent-static-library-only.patch)
===================================================================
--- libchromiumcontent-static-library-only.patch	                        (rev 0)
+++ libchromiumcontent-static-library-only.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,54 @@
+--- a/script/build
++++ b/script/build
+@@ -11,7 +11,7 @@ from lib.util import get_configuration, get_output_dir
+ 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
+@@ -72,7 +72,7 @@ BINARIES = {
+     'libffmpeg.dylib',
+   ],
+   'linux': [
+-    'libffmpeg.so',
++    # 'libffmpeg.so',
+   ],
+   'win32': [
+     'd3dcompiler_47.dll',
+@@ -381,7 +381,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)
+ 
+@@ -490,9 +490,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
+     elif target_arch == 'arm64':
+       binaries = [ 'chromedriver', 'clang_x64_v8_arm64/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
+@@ -17,7 +17,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')

Deleted: libchromiumcontent-use-system-tools.patch
===================================================================
--- libchromiumcontent-use-system-tools.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ libchromiumcontent-use-system-tools.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,56 +0,0 @@
---- a/script/build
-+++ b/script/build
-@@ -13,7 +13,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)
- 
---- a/script/create-dist
-+++ b/script/create-dist
-@@ -29,7 +29,7 @@
- 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)
- 
---- a/script/update
-+++ b/script/update
-@@ -58,10 +58,10 @@ def main():
-   git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
-   gclient_sync(chromium_version(), args.clean, git_cache)
- 
--  if sys.platform == 'linux2':
--    install_sysroot()
--  elif sys.platform in ['win32', 'cygwin']:
--    update_toolchain_json()
-+  # if sys.platform == 'linux2':
-+  #   install_sysroot()
-+  # elif sys.platform in ['win32', 'cygwin']:
-+  #   update_toolchain_json()
- 
-   target_arch = args.target_arch
-   if target_arch == 'arm64':
-@@ -69,7 +69,6 @@ def main():
- 
-   return (apply_patches() or
-           copy_chromiumcontent_files() or
--          update_clang() or
-           run_gn(target_arch, args.defines))
- 
- 
-@@ -205,7 +204,7 @@ def run_gn(target_arch, defines):
-   if sys.platform in ['win32', 'cygwin']:
-     gn = os.path.join(SRC_DIR, 'buildtools', 'win', 'gn.exe')
-   elif sys.platform == 'linux2':
--    gn = os.path.join(SRC_DIR, 'buildtools', 'linux64', 'gn')
-+    gn = os.path.join(SRC_DIR, 'out', 'Release', 'gn')
-   elif sys.platform == 'darwin':
-     gn = os.path.join(SRC_DIR, 'buildtools', 'mac', 'gn')
- 

Copied: electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch (from rev 296386, electron/trunk/libchromiumcontent-use-system-tools.patch)
===================================================================
--- libchromiumcontent-use-system-tools.patch	                        (rev 0)
+++ libchromiumcontent-use-system-tools.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,56 @@
+--- a/script/build
++++ b/script/build
+@@ -13,7 +13,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)
+ 
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -29,7 +29,7 @@
+ 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)
+ 
+--- a/script/update
++++ b/script/update
+@@ -58,10 +58,10 @@ def main():
+   git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
+   gclient_sync(chromium_version(), args.clean, git_cache)
+ 
+-  if sys.platform == 'linux2':
+-    install_sysroot()
+-  elif sys.platform in ['win32', 'cygwin']:
+-    update_toolchain_json()
++  # if sys.platform == 'linux2':
++  #   install_sysroot()
++  # elif sys.platform in ['win32', 'cygwin']:
++  #   update_toolchain_json()
+ 
+   target_arch = args.target_arch
+   if target_arch == 'arm64':
+@@ -69,7 +69,6 @@ def main():
+ 
+   return (apply_patches() or
+           copy_chromiumcontent_files() or
+-          update_clang() or
+           run_gn(target_arch, args.defines))
+ 
+ 
+@@ -205,7 +204,7 @@ def run_gn(target_arch, defines):
+   if sys.platform in ['win32', 'cygwin']:
+     gn = os.path.join(SRC_DIR, 'buildtools', 'win', 'gn.exe')
+   elif sys.platform == 'linux2':
+-    gn = os.path.join(SRC_DIR, 'buildtools', 'linux64', 'gn')
++    gn = os.path.join(SRC_DIR, 'out', 'Release', 'gn')
+   elif sys.platform == 'darwin':
+     gn = os.path.join(SRC_DIR, 'buildtools', 'mac', 'gn')
+ 

Deleted: no-whole-archive.patch
===================================================================
--- no-whole-archive.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ no-whole-archive.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,22 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -41,14 +41,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-x86_64/no-whole-archive.patch (from rev 296386, electron/trunk/no-whole-archive.patch)
===================================================================
--- no-whole-archive.patch	                        (rev 0)
+++ no-whole-archive.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,22 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -41,14 +41,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)

Deleted: use-system-ffmpeg.patch
===================================================================
--- use-system-ffmpeg.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ use-system-ffmpeg.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,21 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -130,8 +130,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-x86_64/use-system-ffmpeg.patch (from rev 296386, electron/trunk/use-system-ffmpeg.patch)
===================================================================
--- use-system-ffmpeg.patch	                        (rev 0)
+++ use-system-ffmpeg.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,21 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -130,8 +130,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',
+                     ],
+                   }],
+                 ],

Deleted: use-system-libraries-in-node.patch
===================================================================
--- use-system-libraries-in-node.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ use-system-libraries-in-node.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,50 +0,0 @@
---- 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',
-@@ -109,18 +109,6 @@
-         'conditions': [
-           ['OS=="linux"', {
-             'cflags': [
--              '-Wno-parentheses-equality',
--              '-Wno-unused-function',
--              '-Wno-sometimes-uninitialized',
--              '-Wno-pointer-sign',
--              '-Wno-string-plus-int',
--              '-Wno-unused-variable',
--              '-Wno-unused-value',
--              '-Wno-deprecated-declarations',
--              '-Wno-return-type',
--              '-Wno-shift-negative-value',
--              '-Wno-format',
--              '-Wno-varargs', # https://git.io/v6Olj
-               # Required when building as shared library.
-               '-fPIC',
-             ],
-@@ -160,6 +148,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-x86_64/use-system-libraries-in-node.patch (from rev 296386, electron/trunk/use-system-libraries-in-node.patch)
===================================================================
--- use-system-libraries-in-node.patch	                        (rev 0)
+++ use-system-libraries-in-node.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,50 @@
+--- 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',
+@@ -109,18 +109,6 @@
+         'conditions': [
+           ['OS=="linux"', {
+             'cflags': [
+-              '-Wno-parentheses-equality',
+-              '-Wno-unused-function',
+-              '-Wno-sometimes-uninitialized',
+-              '-Wno-pointer-sign',
+-              '-Wno-string-plus-int',
+-              '-Wno-unused-variable',
+-              '-Wno-unused-value',
+-              '-Wno-deprecated-declarations',
+-              '-Wno-return-type',
+-              '-Wno-shift-negative-value',
+-              '-Wno-format',
+-              '-Wno-varargs', # https://git.io/v6Olj
+               # Required when building as shared library.
+               '-fPIC',
+             ],
+@@ -160,6 +148,12 @@
+             ],
+           }],
+           ['OS=="linux" and libchromiumcontent_component==0', {
++            'libraries': [
++              '-lcares',
++              '-lcrypto',
++              '-lhttp_parser',
++              '-lz',
++            ],
+             # Prevent the linker from stripping symbols.
+             'ldflags': [
+               '-Wl,--whole-archive',

Deleted: use-system-ninja.patch
===================================================================
--- use-system-ninja.patch	2018-02-19 14:56:06 UTC (rev 296386)
+++ use-system-ninja.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -1,11 +0,0 @@
---- a/script/build.py
-+++ b/script/build.py
-@@ -19,7 +19,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'
- 

Copied: electron/repos/community-x86_64/use-system-ninja.patch (from rev 296386, electron/trunk/use-system-ninja.patch)
===================================================================
--- use-system-ninja.patch	                        (rev 0)
+++ use-system-ninja.patch	2018-02-19 14:56:52 UTC (rev 296387)
@@ -0,0 +1,11 @@
+--- a/script/build.py
++++ b/script/build.py
+@@ -19,7 +19,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