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

Nicola Squartini tensor5 at archlinux.org
Mon Dec 17 22:10:57 UTC 2018


    Date: Monday, December 17, 2018 @ 22:10:57
  Author: tensor5
Revision: 416579

archrelease: copy trunk to community-x86_64

Added:
  electron/repos/community-x86_64/PKGBUILD
    (from rev 416578, electron/trunk/PKGBUILD)
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
    (from rev 416578, electron/trunk/breakpad-glibc2.26.patch)
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch
    (from rev 416578, electron/trunk/chromium-use-system-ffmpeg.patch)
  electron/repos/community-x86_64/chromium-use-system-re2.patch
    (from rev 416578, electron/trunk/chromium-use-system-re2.patch)
  electron/repos/community-x86_64/default_app-icon.patch
    (from rev 416578, electron/trunk/default_app-icon.patch)
  electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch
    (from rev 416578, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
  electron/repos/community-x86_64/dont-update-submodules.patch
    (from rev 416578, electron/trunk/dont-update-submodules.patch)
  electron/repos/community-x86_64/dont-use-sysroot.patch
    (from rev 416578, electron/trunk/dont-use-sysroot.patch)
  electron/repos/community-x86_64/electron.desktop
    (from rev 416578, electron/trunk/electron.desktop)
  electron/repos/community-x86_64/gyp-no-rpath.patch
    (from rev 416578, electron/trunk/gyp-no-rpath.patch)
  electron/repos/community-x86_64/libchromiumcontent-remove-useless-patches.patch
    (from rev 416578, electron/trunk/libchromiumcontent-remove-useless-patches.patch)
  electron/repos/community-x86_64/libchromiumcontent-settings.patch
    (from rev 416578, electron/trunk/libchromiumcontent-settings.patch)
  electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch
    (from rev 416578, electron/trunk/libchromiumcontent-sort-filenames.patch)
  electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch
    (from rev 416578, electron/trunk/libchromiumcontent-static-library-only.patch)
  electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch
    (from rev 416578, electron/trunk/libchromiumcontent-use-system-tools.patch)
  electron/repos/community-x86_64/no-clang-plugins.patch
    (from rev 416578, electron/trunk/no-clang-plugins.patch)
  electron/repos/community-x86_64/no-whole-archive.patch
    (from rev 416578, electron/trunk/no-whole-archive.patch)
  electron/repos/community-x86_64/use-system-ffmpeg.patch
    (from rev 416578, electron/trunk/use-system-ffmpeg.patch)
  electron/repos/community-x86_64/use-system-libraries-in-node.patch
    (from rev 416578, electron/trunk/use-system-libraries-in-node.patch)
Deleted:
  electron/repos/community-x86_64/PKGBUILD
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.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/gyp-no-rpath.patch
  electron/repos/community-x86_64/libchromiumcontent-remove-useless-patches.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-clang-plugins.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

-------------------------------------------------+
 PKGBUILD                                        |  506 +++++-----
 breakpad-glibc2.26.patch                        |  416 ++++----
 chromium-use-system-ffmpeg.patch                |   44 
 chromium-use-system-re2.patch                   |   20 
 default_app-icon.patch                          |   44 
 dont-bootstrap-libchromiumcontent.patch         |   22 
 dont-update-submodules.patch                    |   22 
 dont-use-sysroot.patch                          |   54 -
 electron.desktop                                |   14 
 gyp-no-rpath.patch                              |   24 
 libchromiumcontent-remove-useless-patches.patch | 1036 +++++++++++-----------
 libchromiumcontent-settings.patch               |   88 -
 libchromiumcontent-sort-filenames.patch         |   64 -
 libchromiumcontent-static-library-only.patch    |   86 -
 libchromiumcontent-use-system-tools.patch       |   68 -
 no-clang-plugins.patch                          |   76 -
 no-whole-archive.patch                          |   44 
 use-system-ffmpeg.patch                         |   42 
 use-system-libraries-in-node.patch              |   62 -
 19 files changed, 1366 insertions(+), 1366 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-12-17 22:10:31 UTC (rev 416578)
+++ PKGBUILD	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,253 +0,0 @@
-# Maintainer: Nicola Squartini <tensor5 at gmail.com>
-
-_chromiumver=66.0.3359.181
-pkgname=electron
-pkgver=3.0.11
-pkgrel=1
-pkgdesc='Build cross platform desktop apps with web technologies'
-arch=('x86_64')
-url='https://electronjs.org/'
-license=('MIT' 'custom')
-depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxslt' 'libxss'
-         'minizip' 'nss' 'snappy')
-makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libnotify'
-             'lld' 'llvm' 'ninja' 'npm' 'pciutils' 'python2' 'wget' 'yasm')
-optdepends=('kde-cli-tools: file deletion support (kioclient5)'
-            '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"
-        'git+https://github.com/electron/node.git'
-        'pdf_viewer::git+https://github.com/electron/pdf-viewer.git'
-        'git+https://github.com/yaml/pyyaml.git'
-        'git+https://github.com/kennethreitz/requests.git'
-        'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src'
-        "electron-chromium-${_chromiumver}.tar.bz2::https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent/linux/src/${_chromiumver}/src.tar.bz2"
-        'electron.desktop'
-        'default_app-icon.patch'
-        'dont-bootstrap-libchromiumcontent.patch'
-        'dont-update-submodules.patch'
-        'dont-use-sysroot.patch'
-        'no-clang-plugins.patch'
-        'no-whole-archive.patch'
-        'use-system-libraries-in-node.patch'
-        'use-system-ffmpeg.patch'
-        'breakpad-glibc2.26.patch'
-        'gyp-no-rpath.patch'
-        'libchromiumcontent-remove-useless-patches.patch'
-        'libchromiumcontent-settings.patch'
-        'libchromiumcontent-sort-filenames.patch'
-        'libchromiumcontent-static-library-only.patch'
-        'libchromiumcontent-use-system-tools.patch'
-        'chromium-use-system-ffmpeg.patch'
-        'chromium-use-system-re2.patch'
-       )
-noextract=("electron-chromium-${_chromiumver}.tar.bz2")
-sha512sums=('SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            '64e3c617aba3af71213e8e36af38a39934f1f5c7eea53b2c09d9d9ac189397d8f3e95196f47552fbde83d9e062fb38f5ca48b6791caf5db42663b8a969cb7394'
-            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
-            '7644e4cb173cb66d83cfc121b6eb9696d4b60ea119230e767aa17bb438c35a94b2d8fddd1369ebe052905c8c85765e927adb540a5c2310b4a2e9bb546597c4e6'
-            '144bc8f7ad1ec1c99d59f4a8db375d786f3e4d042d295e860397c76b80e0deaeb4a931fb0e19f30ee1fe192f597f046e7716af6f7795320d5573a7b30c461d3d'
-            'b660afcc9a61527e6f532d12905ed65175c226ff46b23bc3fdb79b37f73c6961722887042c01ccddebefb0ec249206979506e12e78bbe468fd648b9d34094db9'
-            'e18f210dc4c225038c8093685bc9eb5cb957f7c1fd38998bd475ed15a771595738d72183adecc6434896b410b0692e6cadda0dbd5e99b6123e92443341bcb042'
-            'b1884d78d37b4c2690546c681a1b485539b2b9af928e8177192c08bf5985c08481ca4d75a4f2f5e8f0a6b73776df851835e32913bd77a2dcc2586a9efb1f8d63'
-            '7f48da3c06155bd15bc938ce4ae8f95185dc8b51d924602d8b905db25083aba3fe1d095c087eeff11a274aa21874a0c986add52bcac7a5c0c40b62c91c60bdfa'
-            '9b2d16d51d092901db8738ad4a520a6a06b42326201866069dcd2ae5b7a393cc7097d0eef752866a11072c61ab7a1dc60c175e8c60aa600d88088dff6f8e29f1'
-            '4e77ccd0aefe8bb0885cea88ceb5ef362e7838677c622427510027cd9866180345b7aa55be7dcacf61a28ba5b609cccb5c5fc3ca407f6ebf7ac21f5d43027575'
-            '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
-            'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
-            '3941928af296d14e82232824aebb2a3eaddba4211c4d383f2c98d2394500ddd5847e2efd4044c1d4bdbb44d145d55aab5d5b111381305398bbf356bdfc9ee10c'
-            'd20cf522e3059eb69227ba7b4842bcf9613fa11d1192aced6899e730b0353386fcd6c2517351b3a7d34a12f9e18da61183ea9e470bfe5fb89052679171157b74'
-            '5e14b4bff2746b7aaf6c6f53fb69949e51d999402c47b6f957cc87466b06867aef10471ad28e750401f1882c9225b8d42c61d57c71b536e215e9db69a52207d5'
-            'b43060bcbf457389f545d6dbbd069e8ea591346a8f78da62f8880abe720728169304e9707c726603a55ad8df4ee5bca4e14bf3b20446c162b20da24a4c7051dd'
-            '16418d54549e605cc55dbcc0efab4dbe01c62f85604c552a641dd83de961d42d7843c72831e29f98f3f5fb173c73a6feee5300dcb8a19388d71a481167d3f4a9'
-            'c186d1e76f68f412779b8ccac2a6ea84614b73e51d27cfdfcba6e0be04cb009a9f4e04e1dca03a0c5a5aa34656e52c980288f4985a4cacefc874ab27e55f62c3'
-            '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}"/use-system-libraries-in-node.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-clang-plugins.patch
-  patch -Np1 -i "${srcdir}"/no-whole-archive.patch
-
-  # Add extra libraries for unbundling, remove unneeded libraries
-  sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu libjpeg jsoncpp minizip libpulse snappy libwebpdemux libwebpmux libxml-2.0 libxslt zlib)', '-latomic',/" \
-      -e 's/ gconf-2.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 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
-  for m in pyyaml; do
-    git submodule init vendor/${m}
-    git config submodule.vendor/${m}.url "${srcdir}/${m}"
-  done
-  git submodule update
-  patch -Np1 -i "${srcdir}"/libchromiumcontent-remove-useless-patches.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 -r patches/common/ffmpeg  # Use system FFmpeg
-  echo 'Extracting chromium source...'
-  tar -xf "${srcdir}"/electron-chromium-${_chromiumver}.tar.bz2
-  cd src
-  patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.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/*" \
-          \! -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 -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin
-}
-
-build() {
-  export PATH="${srcdir}/python2-path:${PATH}"
-  export CC=clang
-  export CXX=clang++
-  export AR=ar
-  export NM=nm
-
-  cd "${srcdir}/electron/vendor/libchromiumcontent"
-  script/update -t x64 --skip_gclient
-  script/build -t x64 -c static_library
-  script/create-dist -c static_library --no_zip -t x64
-
-  cd "${srcdir}"/electron
-  LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
-  distdir="${srcdir}/electron/vendor/libchromiumcontent/dist/main"
-  script/bootstrap.py --verbose \
-                      --clang_dir=/usr \
-                      --libcc_source_path="${distdir}/src" \
-                      --libcc_shared_library_path="${distdir}/shared_library" \
-                      --libcc_static_library_path="${distdir}/static_library"
-  script/build.py -c Release --ninja-path=ninja
-}
-
-package() {
-  cd "${srcdir}"/electron
-
-  _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
-
-  install -d -m755 "${pkgdir}"/usr/share/licenses/electron
-  install -m644 LICENSE "${pkgdir}"/usr/share/licenses/electron
-  install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \
-          "${pkgdir}"/usr/share/licenses/electron
-  install -m644 native_mate/LICENSE.chromium \
-          "${pkgdir}"/usr/share/licenses/electron/LICENSE-native_mate
-  install -m644 vendor/node/LICENSE \
-          "${pkgdir}"/usr/share/licenses/electron/LICENSE-node
-  install -m644 vendor/libchromiumcontent/LICENSE.txt \
-          "${pkgdir}"/usr/share/licenses/electron/LICENSE-libchromiumcontent
-  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 \
-          ui_resources_200_percent.pak \
-          v8_context_snapshot.bin \
-          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 416578, electron/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,253 @@
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+_chromiumver=66.0.3359.181
+pkgname=electron
+pkgver=3.0.13
+pkgrel=1
+pkgdesc='Build cross platform desktop apps with web technologies'
+arch=('x86_64')
+url='https://electronjs.org/'
+license=('MIT' 'custom')
+depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxslt' 'libxss'
+         'minizip' 'nss' 'snappy')
+makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libnotify'
+             'lld' 'llvm' 'ninja' 'npm' 'pciutils' 'python2' 'wget' 'yasm')
+optdepends=('kde-cli-tools: file deletion support (kioclient5)'
+            '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"
+        'git+https://github.com/electron/node.git'
+        'pdf_viewer::git+https://github.com/electron/pdf-viewer.git'
+        'git+https://github.com/yaml/pyyaml.git'
+        'git+https://github.com/kennethreitz/requests.git'
+        'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src'
+        "electron-chromium-${_chromiumver}.tar.bz2::https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent/linux/src/${_chromiumver}/src.tar.bz2"
+        'electron.desktop'
+        'default_app-icon.patch'
+        'dont-bootstrap-libchromiumcontent.patch'
+        'dont-update-submodules.patch'
+        'dont-use-sysroot.patch'
+        'no-clang-plugins.patch'
+        'no-whole-archive.patch'
+        'use-system-libraries-in-node.patch'
+        'use-system-ffmpeg.patch'
+        'breakpad-glibc2.26.patch'
+        'gyp-no-rpath.patch'
+        'libchromiumcontent-remove-useless-patches.patch'
+        'libchromiumcontent-settings.patch'
+        'libchromiumcontent-sort-filenames.patch'
+        'libchromiumcontent-static-library-only.patch'
+        'libchromiumcontent-use-system-tools.patch'
+        'chromium-use-system-ffmpeg.patch'
+        'chromium-use-system-re2.patch'
+       )
+noextract=("electron-chromium-${_chromiumver}.tar.bz2")
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            '64e3c617aba3af71213e8e36af38a39934f1f5c7eea53b2c09d9d9ac189397d8f3e95196f47552fbde83d9e062fb38f5ca48b6791caf5db42663b8a969cb7394'
+            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
+            '7644e4cb173cb66d83cfc121b6eb9696d4b60ea119230e767aa17bb438c35a94b2d8fddd1369ebe052905c8c85765e927adb540a5c2310b4a2e9bb546597c4e6'
+            '144bc8f7ad1ec1c99d59f4a8db375d786f3e4d042d295e860397c76b80e0deaeb4a931fb0e19f30ee1fe192f597f046e7716af6f7795320d5573a7b30c461d3d'
+            'b660afcc9a61527e6f532d12905ed65175c226ff46b23bc3fdb79b37f73c6961722887042c01ccddebefb0ec249206979506e12e78bbe468fd648b9d34094db9'
+            'e18f210dc4c225038c8093685bc9eb5cb957f7c1fd38998bd475ed15a771595738d72183adecc6434896b410b0692e6cadda0dbd5e99b6123e92443341bcb042'
+            'b1884d78d37b4c2690546c681a1b485539b2b9af928e8177192c08bf5985c08481ca4d75a4f2f5e8f0a6b73776df851835e32913bd77a2dcc2586a9efb1f8d63'
+            '7f48da3c06155bd15bc938ce4ae8f95185dc8b51d924602d8b905db25083aba3fe1d095c087eeff11a274aa21874a0c986add52bcac7a5c0c40b62c91c60bdfa'
+            '9b2d16d51d092901db8738ad4a520a6a06b42326201866069dcd2ae5b7a393cc7097d0eef752866a11072c61ab7a1dc60c175e8c60aa600d88088dff6f8e29f1'
+            '4e77ccd0aefe8bb0885cea88ceb5ef362e7838677c622427510027cd9866180345b7aa55be7dcacf61a28ba5b609cccb5c5fc3ca407f6ebf7ac21f5d43027575'
+            '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
+            'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
+            '3941928af296d14e82232824aebb2a3eaddba4211c4d383f2c98d2394500ddd5847e2efd4044c1d4bdbb44d145d55aab5d5b111381305398bbf356bdfc9ee10c'
+            '9e1eea0ae01852a32ff3c391156da04fe8abba632890a3a5599471f415c84ac7d8ffdc5cf1317dcd7a17c043d4658267a9c9504dcd9f27168b1239a69c659995'
+            '5e14b4bff2746b7aaf6c6f53fb69949e51d999402c47b6f957cc87466b06867aef10471ad28e750401f1882c9225b8d42c61d57c71b536e215e9db69a52207d5'
+            'b43060bcbf457389f545d6dbbd069e8ea591346a8f78da62f8880abe720728169304e9707c726603a55ad8df4ee5bca4e14bf3b20446c162b20da24a4c7051dd'
+            '16418d54549e605cc55dbcc0efab4dbe01c62f85604c552a641dd83de961d42d7843c72831e29f98f3f5fb173c73a6feee5300dcb8a19388d71a481167d3f4a9'
+            'c186d1e76f68f412779b8ccac2a6ea84614b73e51d27cfdfcba6e0be04cb009a9f4e04e1dca03a0c5a5aa34656e52c980288f4985a4cacefc874ab27e55f62c3'
+            '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}"/use-system-libraries-in-node.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-clang-plugins.patch
+  patch -Np1 -i "${srcdir}"/no-whole-archive.patch
+
+  # Add extra libraries for unbundling, remove unneeded libraries
+  sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu libjpeg jsoncpp minizip libpulse snappy libwebpdemux libwebpmux libxml-2.0 libxslt zlib)', '-latomic',/" \
+      -e 's/ gconf-2.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 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
+  for m in pyyaml; do
+    git submodule init vendor/${m}
+    git config submodule.vendor/${m}.url "${srcdir}/${m}"
+  done
+  git submodule update
+  patch -Np1 -i "${srcdir}"/libchromiumcontent-remove-useless-patches.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 -r patches/common/ffmpeg  # Use system FFmpeg
+  echo 'Extracting chromium source...'
+  tar -xf "${srcdir}"/electron-chromium-${_chromiumver}.tar.bz2
+  cd src
+  patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.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/*" \
+          \! -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 -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin
+}
+
+build() {
+  export PATH="${srcdir}/python2-path:${PATH}"
+  export CC=clang
+  export CXX=clang++
+  export AR=ar
+  export NM=nm
+
+  cd "${srcdir}/electron/vendor/libchromiumcontent"
+  script/update -t x64 --skip_gclient
+  script/build -t x64 -c static_library
+  script/create-dist -c static_library --no_zip -t x64
+
+  cd "${srcdir}"/electron
+  LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
+  distdir="${srcdir}/electron/vendor/libchromiumcontent/dist/main"
+  script/bootstrap.py --verbose \
+                      --clang_dir=/usr \
+                      --libcc_source_path="${distdir}/src" \
+                      --libcc_shared_library_path="${distdir}/shared_library" \
+                      --libcc_static_library_path="${distdir}/static_library"
+  script/build.py -c Release --ninja-path=ninja
+}
+
+package() {
+  cd "${srcdir}"/electron
+
+  _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
+
+  install -d -m755 "${pkgdir}"/usr/share/licenses/electron
+  install -m644 LICENSE "${pkgdir}"/usr/share/licenses/electron
+  install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \
+          "${pkgdir}"/usr/share/licenses/electron
+  install -m644 native_mate/LICENSE.chromium \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-native_mate
+  install -m644 vendor/node/LICENSE \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-node
+  install -m644 vendor/libchromiumcontent/LICENSE.txt \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-libchromiumcontent
+  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 \
+          ui_resources_200_percent.pak \
+          v8_context_snapshot.bin \
+          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: breakpad-glibc2.26.patch
===================================================================
--- breakpad-glibc2.26.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ breakpad-glibc2.26.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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
-@@ -560,7 +560,7 @@ class MicrodumpWriter {
- 
-   void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- 
--  const struct ucontext* const ucontext_;
-+  const ucontext_t* const ucontext_;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
-   const google_breakpad::fpstate_t* const float_state_;
- #endif
---- a/src/client/linux/minidump_writer/minidump_writer.cc
-+++ b/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -1248,7 +1248,7 @@ class MinidumpWriter {
-   const int fd_;  // File descriptor where the minidum should be written.
-   const char* path_;  // Path to the file where the minidum should be written.
- 
--  const struct ucontext* const ucontext_;  // also from the signal handler
-+  const ucontext_t* const ucontext_;  // also from the signal handler
- #if !defined(__ARM_EABI__) && !defined(__mips__)
-   const google_breakpad::fpstate_t* const float_state_;  // ditto
- #endif

Copied: electron/repos/community-x86_64/breakpad-glibc2.26.patch (from rev 416578, electron/trunk/breakpad-glibc2.26.patch)
===================================================================
--- breakpad-glibc2.26.patch	                        (rev 0)
+++ breakpad-glibc2.26.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,208 @@
+--- a/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -36,19 +36,19 @@ namespace google_breakpad {
+ 
+ // Minidump defines register structures which are different from the raw
+ // structures which we get from the kernel. These are platform specific
+-// functions to juggle the ucontext and user structures into minidump format.
++// functions to juggle the ucontext_t and user structures into minidump format.
+ 
+ #if defined(__i386__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_ESP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_EIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fp) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__x86_64)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RSP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fpregs) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__ARM_EABI__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+   out->context_flags = MD_CONTEXT_ARM_FULL;
+ 
+   out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+ 
+ #elif defined(__aarch64__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct fpsimd_context* fpregs) {
+   out->context_flags = MD_CONTEXT_ARM64_FULL;
+ 
+@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__mips__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ #if _MIPS_SIM == _ABI64
+   out->context_flags = MD_CONTEXT_MIPS64_FULL;
+ #elif _MIPS_SIM == _ABIO32
+--- a/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -39,23 +39,23 @@
+ 
+ namespace google_breakpad {
+ 
+-// Wraps platform-dependent implementations of accessors to ucontext structs.
++// Wraps platform-dependent implementations of accessors to ucontext_t structs.
+ struct UContextReader {
+-  static uintptr_t GetStackPointer(const struct ucontext* uc);
++  static uintptr_t GetStackPointer(const ucontext_t* uc);
+ 
+-  static uintptr_t GetInstructionPointer(const struct ucontext* uc);
++  static uintptr_t GetInstructionPointer(const ucontext_t* uc);
+ 
+-  // Juggle a arch-specific ucontext into a minidump format
++  // Juggle a arch-specific ucontext_t into a minidump format
+   //   out: the minidump structure
+   //   info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct _libc_fpstate* fp);
+ #elif defined(__aarch64__)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct fpsimd_context* fpregs);
+ #else
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+ #endif
+ };
+ 
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+   // Fill in all the holes in the struct to make Valgrind happy.
+   memset(&g_crash_context_, 0, sizeof(g_crash_context_));
+   memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
+-  memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
++  memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
+ #if defined(__aarch64__)
+-  struct ucontext* uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   struct fpsimd_context* fp_ptr =
+       (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+   if (fp_ptr->head.magic == FPSIMD_MAGIC) {
+@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+   }
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+   // FP state is not part of user ABI on ARM Linux.
+-  // In case of MIPS Linux FP state is already part of struct ucontext
++  // In case of MIPS Linux FP state is already part of ucontext_t
+   // and 'float_state' is not a member of CrashContext.
+-  struct ucontext* uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   if (uc_ptr->uc_mcontext.fpregs) {
+     memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
+            sizeof(g_crash_context_.float_state));
+@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+   // ExceptionHandler::HandleSignal().
+   siginfo.si_code = SI_USER;
+   siginfo.si_pid = getpid();
+-  struct ucontext context;
++  ucontext_t context;
+   getcontext(&context);
+   return HandleSignal(sig, &siginfo, &context);
+ }
+--- a/src/client/linux/handler/exception_handler.h
++++ b/src/client/linux/handler/exception_handler.h
+@@ -191,11 +191,11 @@ class ExceptionHandler {
+   struct CrashContext {
+     siginfo_t siginfo;
+     pid_t tid;  // the crashing thread.
+-    struct ucontext context;
++    ucontext_t context;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+     // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+     // In case of MIPS Linux FP state is already part of struct
+-    // ucontext so 'float_state' is not required.
++    // ucontext_t so 'float_state' is not required.
+     fpstate_t float_state;
+ #endif
+   };
+--- a/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -560,7 +560,7 @@ class MicrodumpWriter {
+ 
+   void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+ 
+-  const struct ucontext* const ucontext_;
++  const ucontext_t* const ucontext_;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;
+ #endif
+--- a/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -1248,7 +1248,7 @@ class MinidumpWriter {
+   const int fd_;  // File descriptor where the minidum should be written.
+   const char* path_;  // Path to the file where the minidum should be written.
+ 
+-  const struct ucontext* const ucontext_;  // also from the signal handler
++  const ucontext_t* const ucontext_;  // also from the signal handler
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;  // ditto
+ #endif

Deleted: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ chromium-use-system-ffmpeg.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,22 +0,0 @@
---- a/build/linux/unbundle/ffmpeg.gn
-+++ b/build/linux/unbundle/ffmpeg.gn
-@@ -14,8 +14,8 @@
-   ]
- }
- 
--buildflag_header("ffmpeg_buildflags") {
--  header = "ffmpeg_buildflags.h"
-+buildflag_header("ffmpeg_features") {
-+  header = "ffmpeg_features.h"
-   flags = [ "USE_SYSTEM_FFMPEG=true" ]
- }
- 
-@@ -30,7 +30,7 @@
- 
- source_set("ffmpeg") {
-   deps = [
--    ":ffmpeg_buildflags",
-+    ":ffmpeg_features",
-     ":ffmpeg_shim",
-   ]
-   public_configs = [ ":system_ffmpeg" ]

Copied: electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch (from rev 416578, electron/trunk/chromium-use-system-ffmpeg.patch)
===================================================================
--- chromium-use-system-ffmpeg.patch	                        (rev 0)
+++ chromium-use-system-ffmpeg.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,22 @@
+--- a/build/linux/unbundle/ffmpeg.gn
++++ b/build/linux/unbundle/ffmpeg.gn
+@@ -14,8 +14,8 @@
+   ]
+ }
+ 
+-buildflag_header("ffmpeg_buildflags") {
+-  header = "ffmpeg_buildflags.h"
++buildflag_header("ffmpeg_features") {
++  header = "ffmpeg_features.h"
+   flags = [ "USE_SYSTEM_FFMPEG=true" ]
+ }
+ 
+@@ -30,7 +30,7 @@
+ 
+ source_set("ffmpeg") {
+   deps = [
+-    ":ffmpeg_buildflags",
++    ":ffmpeg_features",
+     ":ffmpeg_shim",
+   ]
+   public_configs = [ ":system_ffmpeg" ]

Deleted: chromium-use-system-re2.patch
===================================================================
--- chromium-use-system-re2.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ chromium-use-system-re2.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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 416578, electron/trunk/chromium-use-system-re2.patch)
===================================================================
--- chromium-use-system-re2.patch	                        (rev 0)
+++ chromium-use-system-re2.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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-12-17 22:10:31 UTC (rev 416578)
+++ default_app-icon.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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
-@@ -93,7 +93,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 416578, electron/trunk/default_app-icon.patch)
===================================================================
--- default_app-icon.patch	                        (rev 0)
+++ default_app-icon.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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
+@@ -93,7 +93,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-12-17 22:10:31 UTC (rev 416578)
+++ dont-bootstrap-libchromiumcontent.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,11 +0,0 @@
---- a/script/build-libchromiumcontent.py
-+++ b/script/build-libchromiumcontent.py
-@@ -44,7 +44,7 @@ def main():
-   build = os.path.join(script_dir, 'build')
-   create_dist = os.path.join(script_dir, 'create-dist')
-   if args.force_update or libchromiumcontent_outdated():
--    execute_stdout([sys.executable, bootstrap])
-+    # execute_stdout([sys.executable, bootstrap])
-     execute_stdout([sys.executable, update, '-t', args.target_arch])
-     update_gclient_done_marker()
-   if args.debug:

Copied: electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch (from rev 416578, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	                        (rev 0)
+++ dont-bootstrap-libchromiumcontent.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,11 @@
+--- a/script/build-libchromiumcontent.py
++++ b/script/build-libchromiumcontent.py
+@@ -44,7 +44,7 @@ def main():
+   build = os.path.join(script_dir, 'build')
+   create_dist = os.path.join(script_dir, 'create-dist')
+   if args.force_update or libchromiumcontent_outdated():
+-    execute_stdout([sys.executable, bootstrap])
++    # execute_stdout([sys.executable, bootstrap])
+     execute_stdout([sys.executable, update, '-t', args.target_arch])
+     update_gclient_done_marker()
+   if args.debug:

Deleted: dont-update-submodules.patch
===================================================================
--- dont-update-submodules.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ dont-update-submodules.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,11 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -33,7 +33,7 @@ def main():
- 
-   check_tls(args.verbose)
- 
--  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 416578, electron/trunk/dont-update-submodules.patch)
===================================================================
--- dont-update-submodules.patch	                        (rev 0)
+++ dont-update-submodules.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,11 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -33,7 +33,7 @@ def main():
+ 
+   check_tls(args.verbose)
+ 
+-  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-12-17 22:10:31 UTC (rev 416578)
+++ dont-use-sysroot.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,27 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -65,9 +65,6 @@ def main():
-                            libcc_source_path, libcc_shared_library_path,
-                            libcc_static_library_path)
- 
--  if PLATFORM == 'linux' and args.target_arch != 'mips64el':
--    download_sysroot(args.target_arch)
--
-   create_chrome_version_h()
-   touch_config_gypi()
-   run_update(defines, args.msvs)
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -62,10 +62,10 @@
-               'sysroot%': '<(source_root)/vendor/debian_stretch_arm64-sysroot',
-             }],
-             ['target_arch=="ia32"', {
--              'sysroot%': '<(source_root)/vendor/debian_stretch_i386-sysroot',
-+              'sysroot%': '/',
-             }],
-             ['target_arch=="x64"', {
--              'sysroot%': '<(source_root)/vendor/debian_stretch_amd64-sysroot',
-+              'sysroot%': '/',
-             }],
-             ['target_arch=="mips64el"', {
-               'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',

Copied: electron/repos/community-x86_64/dont-use-sysroot.patch (from rev 416578, electron/trunk/dont-use-sysroot.patch)
===================================================================
--- dont-use-sysroot.patch	                        (rev 0)
+++ dont-use-sysroot.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,27 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -65,9 +65,6 @@ def main():
+                            libcc_source_path, libcc_shared_library_path,
+                            libcc_static_library_path)
+ 
+-  if PLATFORM == 'linux' and args.target_arch != 'mips64el':
+-    download_sysroot(args.target_arch)
+-
+   create_chrome_version_h()
+   touch_config_gypi()
+   run_update(defines, args.msvs)
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -62,10 +62,10 @@
+               'sysroot%': '<(source_root)/vendor/debian_stretch_arm64-sysroot',
+             }],
+             ['target_arch=="ia32"', {
+-              'sysroot%': '<(source_root)/vendor/debian_stretch_i386-sysroot',
++              'sysroot%': '/',
+             }],
+             ['target_arch=="x64"', {
+-              'sysroot%': '<(source_root)/vendor/debian_stretch_amd64-sysroot',
++              'sysroot%': '/',
+             }],
+             ['target_arch=="mips64el"', {
+               'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',

Deleted: electron.desktop
===================================================================
--- electron.desktop	2018-12-17 22:10:31 UTC (rev 416578)
+++ electron.desktop	2018-12-17 22:10:57 UTC (rev 416579)
@@ -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 416578, electron/trunk/electron.desktop)
===================================================================
--- electron.desktop	                        (rev 0)
+++ electron.desktop	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Electron
+Icon=electron
+Exec=electron %u
+Categories=Development;GTK;
+StartupNotify=true

Deleted: gyp-no-rpath.patch
===================================================================
--- gyp-no-rpath.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ gyp-no-rpath.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,12 +0,0 @@
---- a/pylib/gyp/generator/ninja.py
-+++ b/pylib/gyp/generator/ninja.py
-@@ -1231,9 +1231,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 416578, electron/trunk/gyp-no-rpath.patch)
===================================================================
--- gyp-no-rpath.patch	                        (rev 0)
+++ gyp-no-rpath.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,12 @@
+--- a/pylib/gyp/generator/ninja.py
++++ b/pylib/gyp/generator/ninja.py
+@@ -1231,9 +1231,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-remove-useless-patches.patch
===================================================================
--- libchromiumcontent-remove-useless-patches.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ libchromiumcontent-remove-useless-patches.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,518 +0,0 @@
---- a/patches/common/v8/.patches.yaml
-+++ b/patches/common/v8/.patches.yaml
-@@ -22,11 +22,6 @@
-   file: dcheck.patch
-   description: null
- -
--  owners: nitsakh
--  file: disable-warning-win.patch
--  description:
--    Disable unit test windows build warning
---
-   owners: alexeykuzmin
-   file: backport_b767cde1e7.patch
-   description: Node 10.0.0 needs it.
---- a/patches/common/v8/backport_23652c5f.patch
-+++ b/patches/common/v8/backport_23652c5f.patch
-@@ -55,107 +55,3 @@
-    ~JSONTraceWriter();
-    void AppendTraceEvent(TraceObject* trace_event) override;
-    void Flush() override;
--diff --git a/test/cctest/libplatform/test-tracing.cc b/test/cctest/libplatform/test-tracing.cc
--index da202057de..b949785bcf 100644
----- a/test/cctest/libplatform/test-tracing.cc
--+++ b/test/cctest/libplatform/test-tracing.cc
--@@ -128,44 +128,42 @@ TEST(TestTraceBufferRingBuffer) {
--   delete ring_buffer;
-- }
-- 
---TEST(TestJSONTraceWriter) {
---  std::ostringstream stream;
---  // Create a scope for the tracing controller to terminate the trace writer.
---  {
---    v8::Platform* old_platform = i::V8::GetCurrentPlatform();
---    std::unique_ptr<v8::Platform> default_platform(
---        v8::platform::NewDefaultPlatform());
---    i::V8::SetPlatformForTesting(default_platform.get());
---    auto tracing =
---        base::make_unique<v8::platform::tracing::TracingController>();
---    v8::platform::tracing::TracingController* tracing_controller =
---        tracing.get();
---    static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
---        ->SetTracingController(std::move(tracing));
---    TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
--+void PopulateJSONWriter(TraceWriter* writer) {
--+  v8::Platform* old_platform = i::V8::GetCurrentPlatform();
--+  std::unique_ptr<v8::Platform> default_platform(
--+      v8::platform::NewDefaultPlatform());
--+  i::V8::SetPlatformForTesting(default_platform.get());
--+  auto tracing = base::make_unique<v8::platform::tracing::TracingController>();
--+  v8::platform::tracing::TracingController* tracing_controller = tracing.get();
--+  static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
--+      ->SetTracingController(std::move(tracing));
-- 
---    TraceBuffer* ring_buffer =
---        TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
---    tracing_controller->Initialize(ring_buffer);
---    TraceConfig* trace_config = new TraceConfig();
---    trace_config->AddIncludedCategory("v8-cat");
---    tracing_controller->StartTracing(trace_config);
--+  TraceBuffer* ring_buffer =
--+      TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
--+  tracing_controller->Initialize(ring_buffer);
--+  TraceConfig* trace_config = new TraceConfig();
--+  trace_config->AddIncludedCategory("v8-cat");
--+  tracing_controller->StartTracing(trace_config);
-- 
---    TraceObject trace_object;
---    trace_object.InitializeForTesting(
---        'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
---        v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
---        nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
---    writer->AppendTraceEvent(&trace_object);
---    trace_object.InitializeForTesting(
---        'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
---        v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
---        nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
---    writer->AppendTraceEvent(&trace_object);
---    tracing_controller->StopTracing();
---    i::V8::SetPlatformForTesting(old_platform);
---  }
--+  TraceObject trace_object;
--+  trace_object.InitializeForTesting(
--+      'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
--+      v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
--+      nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
--+  writer->AppendTraceEvent(&trace_object);
--+  trace_object.InitializeForTesting(
--+      'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
--+      v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
--+      nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
--+  writer->AppendTraceEvent(&trace_object);
--+  tracing_controller->StopTracing();
--+  i::V8::SetPlatformForTesting(old_platform);
--+}
-- 
--+TEST(TestJSONTraceWriter) {
--+  std::ostringstream stream;
--+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
--+  PopulateJSONWriter(writer);
--   std::string trace_str = stream.str();
--   std::string expected_trace_str =
--       "{\"traceEvents\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
--@@ -177,6 +175,21 @@ TEST(TestJSONTraceWriter) {
--   CHECK_EQ(expected_trace_str, trace_str);
-- }
-- 
--+TEST(TestJSONTraceWriterWithCustomtag) {
--+  std::ostringstream stream;
--+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream, "customTag");
--+  PopulateJSONWriter(writer);
--+  std::string trace_str = stream.str();
--+  std::string expected_trace_str =
--+      "{\"customTag\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
--+      "\"ph\":\"X\",\"cat\":\"v8-cat\",\"name\":\"Test0\",\"dur\":33,"
--+      "\"tdur\":44,\"id\":\"0x2a\",\"args\":{}},{\"pid\":55,\"tid\":66,"
--+      "\"ts\":110,\"tts\":55,\"ph\":\"Y\",\"cat\":\"v8-cat\",\"name\":"
--+      "\"Test1\",\"dur\":77,\"tdur\":88,\"args\":{}}]}";
--+
--+  CHECK_EQ(expected_trace_str, trace_str);
--+}
--+
-- TEST(TestTracingController) {
--   v8::Platform* old_platform = i::V8::GetCurrentPlatform();
--   std::unique_ptr<v8::Platform> default_platform(
---- a/patches/common/v8/backport_2eb23a17.patch
-+++ b/patches/common/v8/backport_2eb23a17.patch
-@@ -709,300 +709,3 @@
-    F(SystemBreak, 0, 1)                        \
-    F(TraceEnter, 0, 1)                         \
-    F(TraceExit, 1, 1)                          \
--diff --git a/test/cctest/test-typedarrays.cc b/test/cctest/test-typedarrays.cc
--index 7ec9197b65..bab6e0f2f6 100644
----- a/test/cctest/test-typedarrays.cc
--+++ b/test/cctest/test-typedarrays.cc
--@@ -117,12 +117,12 @@ void TestSpeciesProtector(char* code,
-- 
--       v8::internal::Isolate* i_isolate =
--           reinterpret_cast<v8::internal::Isolate*>(isolate);
---      CHECK(i_isolate->IsSpeciesLookupChainIntact());
--+      CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
--       CompileRun(code);
--       if (invalidates_species_protector) {
---        CHECK(!i_isolate->IsSpeciesLookupChainIntact());
--+        CHECK(!i_isolate->IsTypedArraySpeciesLookupChainIntact());
--       } else {
---        CHECK(i_isolate->IsSpeciesLookupChainIntact());
--+        CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
--       }
-- 
--       v8::Local<v8::Value> my_typed_array = CompileRun("MyTypedArray");
--diff --git a/test/mjsunit/es6/array-species-constructor-accessor.js b/test/mjsunit/es6/array-species-constructor-accessor.js
--index 7ebf328a8a..7185d98b58 100644
----- a/test/mjsunit/es6/array-species-constructor-accessor.js
--+++ b/test/mjsunit/es6/array-species-constructor-accessor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
-- 
-- Object.defineProperty(x, 'constructor', {get() { return MyArray; }});
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-constructor-delete.js b/test/mjsunit/es6/array-species-constructor-delete.js
--index fff22a2a8c..3b85d52565 100644
----- a/test/mjsunit/es6/array-species-constructor-delete.js
--+++ b/test/mjsunit/es6/array-species-constructor-delete.js
--@@ -19,7 +19,7 @@ class MyArray extends Array { }
-- 
-- Object.prototype.constructor = MyArray;
-- delete Array.prototype.constructor;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-constructor.js b/test/mjsunit/es6/array-species-constructor.js
--index 0d888f46ee..07e897d458 100644
----- a/test/mjsunit/es6/array-species-constructor.js
--+++ b/test/mjsunit/es6/array-species-constructor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
-- 
-- x.constructor = MyArray;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-delete.js b/test/mjsunit/es6/array-species-delete.js
--index 16a2fa26f9..2f0f50a1b2 100644
----- a/test/mjsunit/es6/array-species-delete.js
--+++ b/test/mjsunit/es6/array-species-delete.js
--@@ -19,7 +19,7 @@ class MyArray extends Array { }
-- 
-- Object.prototype[Symbol.species] = MyArray;
-- delete Array[Symbol.species];
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-modified.js b/test/mjsunit/es6/array-species-modified.js
--index 58feb31669..d5a707997a 100644
----- a/test/mjsunit/es6/array-species-modified.js
--+++ b/test/mjsunit/es6/array-species-modified.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
-- 
-- Object.defineProperty(Array, Symbol.species, {value: MyArray});
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-parent-constructor.js b/test/mjsunit/es6/array-species-parent-constructor.js
--index b4fb1d56e3..8a861fb05d 100644
----- a/test/mjsunit/es6/array-species-parent-constructor.js
--+++ b/test/mjsunit/es6/array-species-parent-constructor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
-- 
-- Array.prototype.constructor = MyArray;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-proto.js b/test/mjsunit/es6/array-species-proto.js
--index 6b55881cd6..d8e2ae5ddd 100644
----- a/test/mjsunit/es6/array-species-proto.js
--+++ b/test/mjsunit/es6/array-species-proto.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
-- 
-- x.__proto__ = MyArray.prototype;
---assertTrue(%SpeciesProtector());
--+assertTrue(%ArraySpeciesProtector());
-- 
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/harmony/regexp-named-captures.js b/test/mjsunit/harmony/regexp-named-captures.js
--index 72041b99bf..aab8393392 100644
----- a/test/mjsunit/harmony/regexp-named-captures.js
--+++ b/test/mjsunit/harmony/regexp-named-captures.js
--@@ -425,7 +425,7 @@ function toSlowMode(re) {
-- {
--   const re = /./;
--   const result = re.exec("a");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertTrue(result.hasOwnProperty('groups'));
--   assertArrayEquals(["a"], result);
--@@ -433,7 +433,7 @@ function toSlowMode(re) {
--   assertEquals(undefined, result.groups);
-- 
--   Array.prototype.groups = { a: "b" };
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals("$<a>", "a".replace(re, "$<a>"));
--   Array.prototype.groups = undefined;
-- }
--@@ -441,7 +441,7 @@ function toSlowMode(re) {
-- {
--   const re = toSlowMode(/./);
--   const result = re.exec("a");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertTrue(result.hasOwnProperty('groups'));
--   assertArrayEquals(["a"], result);
--@@ -449,7 +449,7 @@ function toSlowMode(re) {
--   assertEquals(undefined, result.groups);
-- 
--   Array.prototype.groups = { a: "b" };
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals("$<a>", "a".replace(re, "$<a>"));
--   Array.prototype.groups = undefined;
-- }
--@@ -457,7 +457,7 @@ function toSlowMode(re) {
-- {
--   const re = /(?<a>a).|(?<x>x)/;
--   const result = re.exec("ab");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertTrue(result.hasOwnProperty('groups'));
--   assertArrayEquals(["ab", "a", undefined], result);
--@@ -467,7 +467,7 @@ function toSlowMode(re) {
--   // a is a matched named capture, b is an unmatched named capture, and z
--   // is not a named capture.
--   Array.prototype.groups = { a: "b", x: "y", z: "z" };
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals("a", "ab".replace(re, "$<a>"));
--   assertEquals("", "ab".replace(re, "$<x>"));
--   assertEquals("", "ab".replace(re, "$<z>"));
--@@ -477,7 +477,7 @@ function toSlowMode(re) {
-- {
--   const re = toSlowMode(/(?<a>a).|(?<x>x)/);
--   const result = re.exec("ab");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertTrue(result.hasOwnProperty('groups'));
--   assertArrayEquals(["ab", "a", undefined], result);
--@@ -487,7 +487,7 @@ function toSlowMode(re) {
--   // a is a matched named capture, b is an unmatched named capture, and z
--   // is not a named capture.
--   Array.prototype.groups = { a: "b", x: "y", z: "z" };
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals("a", "ab".replace(re, "$<a>"));
--   assertEquals("", "ab".replace(re, "$<x>"));
--   assertEquals("", "ab".replace(re, "$<z>"));
--@@ -506,13 +506,13 @@ function toSlowMode(re) {
-- 
--   const re = new FakeRegExp();
--   const result = re.exec("ab");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertFalse(result.hasOwnProperty('groups'));
-- 
--   Array.prototype.groups = { a: "b" };
--   Array.prototype.groups.__proto__.b = "c";
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals("b", "ab".replace(re, "$<a>"));
--   assertEquals("c", "ab".replace(re, "$<b>"));
--   Array.prototype.groups = undefined;
--@@ -531,7 +531,7 @@ function toSlowMode(re) {
-- 
--   const re = new FakeRegExp();
--   const result = re.exec("ab");
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   assertEquals(result.__proto__, Array.prototype);
--   assertTrue(result.hasOwnProperty('groups'));
--   assertEquals({ a: "b" }, result.groups);
--diff --git a/test/mjsunit/keyed-store-generic.js b/test/mjsunit/keyed-store-generic.js
--index c2c48dd96d..e5d6ab41f2 100644
----- a/test/mjsunit/keyed-store-generic.js
--+++ b/test/mjsunit/keyed-store-generic.js
--@@ -16,7 +16,7 @@ f("make it generic", 0, 0);
-- 
-- (function TestSpeciesProtector() {
--   function MyArray() {}
---  assertTrue(%SpeciesProtector());
--+  assertTrue(%ArraySpeciesProtector());
--   f(Array.prototype, "constructor", MyArray);
---  assertFalse(%SpeciesProtector());
--+  assertFalse(%ArraySpeciesProtector());
-- })();
--diff --git a/tools/v8heapconst.py b/tools/v8heapconst.py
--index 5659cdd03c..b4a98dcc11 100644
----- a/tools/v8heapconst.py
--+++ b/tools/v8heapconst.py
--@@ -322,34 +322,35 @@ KNOWN_OBJECTS = {
--   ("OLD_SPACE", 0x02519): "TerminationException",
--   ("OLD_SPACE", 0x02579): "OptimizedOut",
--   ("OLD_SPACE", 0x025d1): "StaleRegister",
---  ("OLD_SPACE", 0x02651): "EmptyByteArray",
---  ("OLD_SPACE", 0x02661): "EmptyFixedUint8Array",
---  ("OLD_SPACE", 0x02681): "EmptyFixedInt8Array",
---  ("OLD_SPACE", 0x026a1): "EmptyFixedUint16Array",
---  ("OLD_SPACE", 0x026c1): "EmptyFixedInt16Array",
---  ("OLD_SPACE", 0x026e1): "EmptyFixedUint32Array",
---  ("OLD_SPACE", 0x02701): "EmptyFixedInt32Array",
---  ("OLD_SPACE", 0x02721): "EmptyFixedFloat32Array",
---  ("OLD_SPACE", 0x02741): "EmptyFixedFloat64Array",
---  ("OLD_SPACE", 0x02761): "EmptyFixedUint8ClampedArray",
---  ("OLD_SPACE", 0x027c1): "EmptyScript",
---  ("OLD_SPACE", 0x02849): "ManyClosuresCell",
---  ("OLD_SPACE", 0x02859): "EmptySloppyArgumentsElements",
---  ("OLD_SPACE", 0x02879): "EmptySlowElementDictionary",
---  ("OLD_SPACE", 0x028c1): "EmptyOrderedHashMap",
---  ("OLD_SPACE", 0x028e9): "EmptyOrderedHashSet",
---  ("OLD_SPACE", 0x02911): "EmptyPropertyCell",
---  ("OLD_SPACE", 0x02939): "EmptyWeakCell",
---  ("OLD_SPACE", 0x029a9): "NoElementsProtector",
---  ("OLD_SPACE", 0x029d1): "IsConcatSpreadableProtector",
---  ("OLD_SPACE", 0x029e1): "SpeciesProtector",
---  ("OLD_SPACE", 0x02a09): "StringLengthProtector",
---  ("OLD_SPACE", 0x02a19): "FastArrayIterationProtector",
---  ("OLD_SPACE", 0x02a29): "ArrayIteratorProtector",
---  ("OLD_SPACE", 0x02a51): "ArrayBufferNeuteringProtector",
---  ("OLD_SPACE", 0x02ac9): "InfinityValue",
---  ("OLD_SPACE", 0x02ad9): "MinusZeroValue",
---  ("OLD_SPACE", 0x02ae9): "MinusInfinityValue",
--+  ("OLD_SPACE", 0x02661): "EmptyByteArray",
--+  ("OLD_SPACE", 0x02681): "EmptyFixedUint8Array",
--+  ("OLD_SPACE", 0x026a1): "EmptyFixedInt8Array",
--+  ("OLD_SPACE", 0x026c1): "EmptyFixedUint16Array",
--+  ("OLD_SPACE", 0x026e1): "EmptyFixedInt16Array",
--+  ("OLD_SPACE", 0x02701): "EmptyFixedUint32Array",
--+  ("OLD_SPACE", 0x02721): "EmptyFixedInt32Array",
--+  ("OLD_SPACE", 0x02741): "EmptyFixedFloat32Array",
--+  ("OLD_SPACE", 0x02761): "EmptyFixedFloat64Array",
--+  ("OLD_SPACE", 0x02781): "EmptyFixedUint8ClampedArray",
--+  ("OLD_SPACE", 0x027e1): "EmptyScript",
--+  ("OLD_SPACE", 0x02879): "ManyClosuresCell",
--+  ("OLD_SPACE", 0x02889): "EmptySloppyArgumentsElements",
--+  ("OLD_SPACE", 0x028a9): "EmptySlowElementDictionary",
--+  ("OLD_SPACE", 0x028f1): "EmptyOrderedHashMap",
--+  ("OLD_SPACE", 0x02919): "EmptyOrderedHashSet",
--+  ("OLD_SPACE", 0x02951): "EmptyPropertyCell",
--+  ("OLD_SPACE", 0x02979): "EmptyWeakCell",
--+  ("OLD_SPACE", 0x029e9): "NoElementsProtector",
--+  ("OLD_SPACE", 0x02a11): "IsConcatSpreadableProtector",
--+  ("OLD_SPACE", 0x02a21): "ArraySpeciesProtector",
--+  ("OLD_SPACE", 0x02a49): "TypedArraySpeciesProtector",
--+  ("OLD_SPACE", 0x02a71): "PromiseSpeciesProtector",
--+  ("OLD_SPACE", 0x02a99): "StringLengthProtector",
--+  ("OLD_SPACE", 0x02aa9): "ArrayIteratorProtector",
--+  ("OLD_SPACE", 0x02ad1): "ArrayBufferNeuteringProtector",
--+  ("OLD_SPACE", 0x02b59): "InfinityValue",
--+  ("OLD_SPACE", 0x02b69): "MinusZeroValue",
--+  ("OLD_SPACE", 0x02b79): "MinusInfinityValue",
-- }
-- 
-- # List of known V8 Frame Markers.
---- 
--2.11.0 (Apple Git-81)
--
---- a/patches/common/v8/backport_39d546a.patch
-+++ b/patches/common/v8/backport_39d546a.patch
-@@ -42,43 +42,3 @@
-  MaybeLocal<String> Value::ToString(Local<Context> context) const {
-    auto obj = Utils::OpenHandle(this);
-    if (obj->IsString()) return ToApiHandle<String>(obj);
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index 54afc61f4c..b7483a7c5e 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -27239,6 +27239,35 @@ TEST(ImportMeta) {
--   CHECK(result->StrictEquals(Local<v8::Value>::Cast(v8::Utils::ToLocal(meta))));
-- }
-- 
--+TEST(GetModuleNamespace) {
--+  LocalContext context;
--+  v8::Isolate* isolate = context->GetIsolate();
--+  v8::HandleScope scope(isolate);
--+
--+  Local<String> url = v8_str("www.google.com");
--+  Local<String> source_text = v8_str("export default 5; export const a = 10;");
--+  v8::ScriptOrigin origin(url, Local<v8::Integer>(), Local<v8::Integer>(),
--+                          Local<v8::Boolean>(), Local<v8::Integer>(),
--+                          Local<v8::Value>(), Local<v8::Boolean>(),
--+                          Local<v8::Boolean>(), True(isolate));
--+  v8::ScriptCompiler::Source source(source_text, origin);
--+  Local<Module> module =
--+      v8::ScriptCompiler::CompileModule(isolate, &source).ToLocalChecked();
--+  module->InstantiateModule(context.local(), UnexpectedModuleResolveCallback)
--+      .ToChecked();
--+  module->Evaluate(context.local()).ToLocalChecked();
--+
--+  Local<Value> ns_val = module->GetModuleNamespace();
--+  CHECK(ns_val->IsModuleNamespaceObject());
--+  Local<Object> ns = ns_val.As<Object>();
--+  CHECK(ns->Get(context.local(), v8_str("default"))
--+            .ToLocalChecked()
--+            ->StrictEquals(v8::Number::New(isolate, 5)));
--+  CHECK(ns->Get(context.local(), v8_str("a"))
--+            .ToLocalChecked()
--+            ->StrictEquals(v8::Number::New(isolate, 10)));
--+}
--+
-- TEST(GlobalTemplateWithDoubleProperty) {
--   v8::Isolate* isolate = CcTest::isolate();
--   v8::HandleScope handle_scope(isolate);
---- a/patches/common/v8/backport_9fb02b526.patch
-+++ b/patches/common/v8/backport_9fb02b526.patch
-@@ -73,42 +73,3 @@
-      }
-  
-      raw_holder = GetCompatibleReceiver(isolate, *fun_data, *js_receiver);
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index 7887cbfa75..0605f439e5 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -1088,6 +1088,34 @@ THREADED_PROFILED_TEST(FunctionTemplate) {
--   TestFunctionTemplateAccessor(construct_callback, Return239Callback);
-- }
-- 
--+static void FunctionCallbackForProxyTest(
--+    const v8::FunctionCallbackInfo<Value>& info) {
--+  info.GetReturnValue().Set(info.This());
--+}
--+
--+THREADED_TEST(FunctionTemplateWithProxy) {
--+  LocalContext env;
--+  v8::Isolate* isolate = env->GetIsolate();
--+  v8::HandleScope scope(isolate);
--+
--+  v8::Local<v8::FunctionTemplate> function_template =
--+      v8::FunctionTemplate::New(isolate, FunctionCallbackForProxyTest);
--+  v8::Local<v8::Function> function =
--+      function_template->GetFunction(env.local()).ToLocalChecked();
--+  CHECK((*env)->Global()->Set(env.local(), v8_str("f"), function).FromJust());
--+  v8::Local<v8::Value> proxy =
--+      CompileRun("var proxy = new Proxy({}, {}); proxy");
--+  CHECK(proxy->IsProxy());
--+
--+  v8::Local<v8::Value> result = CompileRun("f(proxy)");
--+  CHECK(result->Equals(env.local(), (*env)->Global()).FromJust());
--+
--+  result = CompileRun("f.call(proxy)");
--+  CHECK(result->Equals(env.local(), proxy).FromJust());
--+
--+  result = CompileRun("Reflect.apply(f, proxy, [1])");
--+  CHECK(result->Equals(env.local(), proxy).FromJust());
--+}
-- 
-- static void SimpleCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
--   ApiTestFuzzer::Fuzz();

Copied: electron/repos/community-x86_64/libchromiumcontent-remove-useless-patches.patch (from rev 416578, electron/trunk/libchromiumcontent-remove-useless-patches.patch)
===================================================================
--- libchromiumcontent-remove-useless-patches.patch	                        (rev 0)
+++ libchromiumcontent-remove-useless-patches.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,518 @@
+--- a/patches/common/v8/.patches.yaml
++++ b/patches/common/v8/.patches.yaml
+@@ -22,11 +22,6 @@
+   file: dcheck.patch
+   description: null
+ -
+-  owners: nitsakh
+-  file: disable-warning-win.patch
+-  description:
+-    Disable unit test windows build warning
+--
+   owners: alexeykuzmin
+   file: backport_b767cde1e7.patch
+   description: Node 10.0.0 needs it.
+--- a/patches/common/v8/backport_23652c5f.patch
++++ b/patches/common/v8/backport_23652c5f.patch
+@@ -55,107 +55,3 @@
+    ~JSONTraceWriter();
+    void AppendTraceEvent(TraceObject* trace_event) override;
+    void Flush() override;
+-diff --git a/test/cctest/libplatform/test-tracing.cc b/test/cctest/libplatform/test-tracing.cc
+-index da202057de..b949785bcf 100644
+---- a/test/cctest/libplatform/test-tracing.cc
+-+++ b/test/cctest/libplatform/test-tracing.cc
+-@@ -128,44 +128,42 @@ TEST(TestTraceBufferRingBuffer) {
+-   delete ring_buffer;
+- }
+- 
+--TEST(TestJSONTraceWriter) {
+--  std::ostringstream stream;
+--  // Create a scope for the tracing controller to terminate the trace writer.
+--  {
+--    v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+--    std::unique_ptr<v8::Platform> default_platform(
+--        v8::platform::NewDefaultPlatform());
+--    i::V8::SetPlatformForTesting(default_platform.get());
+--    auto tracing =
+--        base::make_unique<v8::platform::tracing::TracingController>();
+--    v8::platform::tracing::TracingController* tracing_controller =
+--        tracing.get();
+--    static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
+--        ->SetTracingController(std::move(tracing));
+--    TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
+-+void PopulateJSONWriter(TraceWriter* writer) {
+-+  v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+-+  std::unique_ptr<v8::Platform> default_platform(
+-+      v8::platform::NewDefaultPlatform());
+-+  i::V8::SetPlatformForTesting(default_platform.get());
+-+  auto tracing = base::make_unique<v8::platform::tracing::TracingController>();
+-+  v8::platform::tracing::TracingController* tracing_controller = tracing.get();
+-+  static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
+-+      ->SetTracingController(std::move(tracing));
+- 
+--    TraceBuffer* ring_buffer =
+--        TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
+--    tracing_controller->Initialize(ring_buffer);
+--    TraceConfig* trace_config = new TraceConfig();
+--    trace_config->AddIncludedCategory("v8-cat");
+--    tracing_controller->StartTracing(trace_config);
+-+  TraceBuffer* ring_buffer =
+-+      TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
+-+  tracing_controller->Initialize(ring_buffer);
+-+  TraceConfig* trace_config = new TraceConfig();
+-+  trace_config->AddIncludedCategory("v8-cat");
+-+  tracing_controller->StartTracing(trace_config);
+- 
+--    TraceObject trace_object;
+--    trace_object.InitializeForTesting(
+--        'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
+--        v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
+--        nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
+--    writer->AppendTraceEvent(&trace_object);
+--    trace_object.InitializeForTesting(
+--        'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
+--        v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
+--        nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
+--    writer->AppendTraceEvent(&trace_object);
+--    tracing_controller->StopTracing();
+--    i::V8::SetPlatformForTesting(old_platform);
+--  }
+-+  TraceObject trace_object;
+-+  trace_object.InitializeForTesting(
+-+      'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
+-+      v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
+-+      nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
+-+  writer->AppendTraceEvent(&trace_object);
+-+  trace_object.InitializeForTesting(
+-+      'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
+-+      v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
+-+      nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
+-+  writer->AppendTraceEvent(&trace_object);
+-+  tracing_controller->StopTracing();
+-+  i::V8::SetPlatformForTesting(old_platform);
+-+}
+- 
+-+TEST(TestJSONTraceWriter) {
+-+  std::ostringstream stream;
+-+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
+-+  PopulateJSONWriter(writer);
+-   std::string trace_str = stream.str();
+-   std::string expected_trace_str =
+-       "{\"traceEvents\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
+-@@ -177,6 +175,21 @@ TEST(TestJSONTraceWriter) {
+-   CHECK_EQ(expected_trace_str, trace_str);
+- }
+- 
+-+TEST(TestJSONTraceWriterWithCustomtag) {
+-+  std::ostringstream stream;
+-+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream, "customTag");
+-+  PopulateJSONWriter(writer);
+-+  std::string trace_str = stream.str();
+-+  std::string expected_trace_str =
+-+      "{\"customTag\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
+-+      "\"ph\":\"X\",\"cat\":\"v8-cat\",\"name\":\"Test0\",\"dur\":33,"
+-+      "\"tdur\":44,\"id\":\"0x2a\",\"args\":{}},{\"pid\":55,\"tid\":66,"
+-+      "\"ts\":110,\"tts\":55,\"ph\":\"Y\",\"cat\":\"v8-cat\",\"name\":"
+-+      "\"Test1\",\"dur\":77,\"tdur\":88,\"args\":{}}]}";
+-+
+-+  CHECK_EQ(expected_trace_str, trace_str);
+-+}
+-+
+- TEST(TestTracingController) {
+-   v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+-   std::unique_ptr<v8::Platform> default_platform(
+--- a/patches/common/v8/backport_2eb23a17.patch
++++ b/patches/common/v8/backport_2eb23a17.patch
+@@ -709,300 +709,3 @@
+    F(SystemBreak, 0, 1)                        \
+    F(TraceEnter, 0, 1)                         \
+    F(TraceExit, 1, 1)                          \
+-diff --git a/test/cctest/test-typedarrays.cc b/test/cctest/test-typedarrays.cc
+-index 7ec9197b65..bab6e0f2f6 100644
+---- a/test/cctest/test-typedarrays.cc
+-+++ b/test/cctest/test-typedarrays.cc
+-@@ -117,12 +117,12 @@ void TestSpeciesProtector(char* code,
+- 
+-       v8::internal::Isolate* i_isolate =
+-           reinterpret_cast<v8::internal::Isolate*>(isolate);
+--      CHECK(i_isolate->IsSpeciesLookupChainIntact());
+-+      CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       CompileRun(code);
+-       if (invalidates_species_protector) {
+--        CHECK(!i_isolate->IsSpeciesLookupChainIntact());
+-+        CHECK(!i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       } else {
+--        CHECK(i_isolate->IsSpeciesLookupChainIntact());
+-+        CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       }
+- 
+-       v8::Local<v8::Value> my_typed_array = CompileRun("MyTypedArray");
+-diff --git a/test/mjsunit/es6/array-species-constructor-accessor.js b/test/mjsunit/es6/array-species-constructor-accessor.js
+-index 7ebf328a8a..7185d98b58 100644
+---- a/test/mjsunit/es6/array-species-constructor-accessor.js
+-+++ b/test/mjsunit/es6/array-species-constructor-accessor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Object.defineProperty(x, 'constructor', {get() { return MyArray; }});
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-constructor-delete.js b/test/mjsunit/es6/array-species-constructor-delete.js
+-index fff22a2a8c..3b85d52565 100644
+---- a/test/mjsunit/es6/array-species-constructor-delete.js
+-+++ b/test/mjsunit/es6/array-species-constructor-delete.js
+-@@ -19,7 +19,7 @@ class MyArray extends Array { }
+- 
+- Object.prototype.constructor = MyArray;
+- delete Array.prototype.constructor;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-constructor.js b/test/mjsunit/es6/array-species-constructor.js
+-index 0d888f46ee..07e897d458 100644
+---- a/test/mjsunit/es6/array-species-constructor.js
+-+++ b/test/mjsunit/es6/array-species-constructor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- x.constructor = MyArray;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-delete.js b/test/mjsunit/es6/array-species-delete.js
+-index 16a2fa26f9..2f0f50a1b2 100644
+---- a/test/mjsunit/es6/array-species-delete.js
+-+++ b/test/mjsunit/es6/array-species-delete.js
+-@@ -19,7 +19,7 @@ class MyArray extends Array { }
+- 
+- Object.prototype[Symbol.species] = MyArray;
+- delete Array[Symbol.species];
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-modified.js b/test/mjsunit/es6/array-species-modified.js
+-index 58feb31669..d5a707997a 100644
+---- a/test/mjsunit/es6/array-species-modified.js
+-+++ b/test/mjsunit/es6/array-species-modified.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Object.defineProperty(Array, Symbol.species, {value: MyArray});
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-parent-constructor.js b/test/mjsunit/es6/array-species-parent-constructor.js
+-index b4fb1d56e3..8a861fb05d 100644
+---- a/test/mjsunit/es6/array-species-parent-constructor.js
+-+++ b/test/mjsunit/es6/array-species-parent-constructor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Array.prototype.constructor = MyArray;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-proto.js b/test/mjsunit/es6/array-species-proto.js
+-index 6b55881cd6..d8e2ae5ddd 100644
+---- a/test/mjsunit/es6/array-species-proto.js
+-+++ b/test/mjsunit/es6/array-species-proto.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- x.__proto__ = MyArray.prototype;
+--assertTrue(%SpeciesProtector());
+-+assertTrue(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/harmony/regexp-named-captures.js b/test/mjsunit/harmony/regexp-named-captures.js
+-index 72041b99bf..aab8393392 100644
+---- a/test/mjsunit/harmony/regexp-named-captures.js
+-+++ b/test/mjsunit/harmony/regexp-named-captures.js
+-@@ -425,7 +425,7 @@ function toSlowMode(re) {
+- {
+-   const re = /./;
+-   const result = re.exec("a");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["a"], result);
+-@@ -433,7 +433,7 @@ function toSlowMode(re) {
+-   assertEquals(undefined, result.groups);
+- 
+-   Array.prototype.groups = { a: "b" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("$<a>", "a".replace(re, "$<a>"));
+-   Array.prototype.groups = undefined;
+- }
+-@@ -441,7 +441,7 @@ function toSlowMode(re) {
+- {
+-   const re = toSlowMode(/./);
+-   const result = re.exec("a");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["a"], result);
+-@@ -449,7 +449,7 @@ function toSlowMode(re) {
+-   assertEquals(undefined, result.groups);
+- 
+-   Array.prototype.groups = { a: "b" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("$<a>", "a".replace(re, "$<a>"));
+-   Array.prototype.groups = undefined;
+- }
+-@@ -457,7 +457,7 @@ function toSlowMode(re) {
+- {
+-   const re = /(?<a>a).|(?<x>x)/;
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["ab", "a", undefined], result);
+-@@ -467,7 +467,7 @@ function toSlowMode(re) {
+-   // a is a matched named capture, b is an unmatched named capture, and z
+-   // is not a named capture.
+-   Array.prototype.groups = { a: "b", x: "y", z: "z" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("a", "ab".replace(re, "$<a>"));
+-   assertEquals("", "ab".replace(re, "$<x>"));
+-   assertEquals("", "ab".replace(re, "$<z>"));
+-@@ -477,7 +477,7 @@ function toSlowMode(re) {
+- {
+-   const re = toSlowMode(/(?<a>a).|(?<x>x)/);
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["ab", "a", undefined], result);
+-@@ -487,7 +487,7 @@ function toSlowMode(re) {
+-   // a is a matched named capture, b is an unmatched named capture, and z
+-   // is not a named capture.
+-   Array.prototype.groups = { a: "b", x: "y", z: "z" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("a", "ab".replace(re, "$<a>"));
+-   assertEquals("", "ab".replace(re, "$<x>"));
+-   assertEquals("", "ab".replace(re, "$<z>"));
+-@@ -506,13 +506,13 @@ function toSlowMode(re) {
+- 
+-   const re = new FakeRegExp();
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertFalse(result.hasOwnProperty('groups'));
+- 
+-   Array.prototype.groups = { a: "b" };
+-   Array.prototype.groups.__proto__.b = "c";
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("b", "ab".replace(re, "$<a>"));
+-   assertEquals("c", "ab".replace(re, "$<b>"));
+-   Array.prototype.groups = undefined;
+-@@ -531,7 +531,7 @@ function toSlowMode(re) {
+- 
+-   const re = new FakeRegExp();
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertEquals({ a: "b" }, result.groups);
+-diff --git a/test/mjsunit/keyed-store-generic.js b/test/mjsunit/keyed-store-generic.js
+-index c2c48dd96d..e5d6ab41f2 100644
+---- a/test/mjsunit/keyed-store-generic.js
+-+++ b/test/mjsunit/keyed-store-generic.js
+-@@ -16,7 +16,7 @@ f("make it generic", 0, 0);
+- 
+- (function TestSpeciesProtector() {
+-   function MyArray() {}
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   f(Array.prototype, "constructor", MyArray);
+--  assertFalse(%SpeciesProtector());
+-+  assertFalse(%ArraySpeciesProtector());
+- })();
+-diff --git a/tools/v8heapconst.py b/tools/v8heapconst.py
+-index 5659cdd03c..b4a98dcc11 100644
+---- a/tools/v8heapconst.py
+-+++ b/tools/v8heapconst.py
+-@@ -322,34 +322,35 @@ KNOWN_OBJECTS = {
+-   ("OLD_SPACE", 0x02519): "TerminationException",
+-   ("OLD_SPACE", 0x02579): "OptimizedOut",
+-   ("OLD_SPACE", 0x025d1): "StaleRegister",
+--  ("OLD_SPACE", 0x02651): "EmptyByteArray",
+--  ("OLD_SPACE", 0x02661): "EmptyFixedUint8Array",
+--  ("OLD_SPACE", 0x02681): "EmptyFixedInt8Array",
+--  ("OLD_SPACE", 0x026a1): "EmptyFixedUint16Array",
+--  ("OLD_SPACE", 0x026c1): "EmptyFixedInt16Array",
+--  ("OLD_SPACE", 0x026e1): "EmptyFixedUint32Array",
+--  ("OLD_SPACE", 0x02701): "EmptyFixedInt32Array",
+--  ("OLD_SPACE", 0x02721): "EmptyFixedFloat32Array",
+--  ("OLD_SPACE", 0x02741): "EmptyFixedFloat64Array",
+--  ("OLD_SPACE", 0x02761): "EmptyFixedUint8ClampedArray",
+--  ("OLD_SPACE", 0x027c1): "EmptyScript",
+--  ("OLD_SPACE", 0x02849): "ManyClosuresCell",
+--  ("OLD_SPACE", 0x02859): "EmptySloppyArgumentsElements",
+--  ("OLD_SPACE", 0x02879): "EmptySlowElementDictionary",
+--  ("OLD_SPACE", 0x028c1): "EmptyOrderedHashMap",
+--  ("OLD_SPACE", 0x028e9): "EmptyOrderedHashSet",
+--  ("OLD_SPACE", 0x02911): "EmptyPropertyCell",
+--  ("OLD_SPACE", 0x02939): "EmptyWeakCell",
+--  ("OLD_SPACE", 0x029a9): "NoElementsProtector",
+--  ("OLD_SPACE", 0x029d1): "IsConcatSpreadableProtector",
+--  ("OLD_SPACE", 0x029e1): "SpeciesProtector",
+--  ("OLD_SPACE", 0x02a09): "StringLengthProtector",
+--  ("OLD_SPACE", 0x02a19): "FastArrayIterationProtector",
+--  ("OLD_SPACE", 0x02a29): "ArrayIteratorProtector",
+--  ("OLD_SPACE", 0x02a51): "ArrayBufferNeuteringProtector",
+--  ("OLD_SPACE", 0x02ac9): "InfinityValue",
+--  ("OLD_SPACE", 0x02ad9): "MinusZeroValue",
+--  ("OLD_SPACE", 0x02ae9): "MinusInfinityValue",
+-+  ("OLD_SPACE", 0x02661): "EmptyByteArray",
+-+  ("OLD_SPACE", 0x02681): "EmptyFixedUint8Array",
+-+  ("OLD_SPACE", 0x026a1): "EmptyFixedInt8Array",
+-+  ("OLD_SPACE", 0x026c1): "EmptyFixedUint16Array",
+-+  ("OLD_SPACE", 0x026e1): "EmptyFixedInt16Array",
+-+  ("OLD_SPACE", 0x02701): "EmptyFixedUint32Array",
+-+  ("OLD_SPACE", 0x02721): "EmptyFixedInt32Array",
+-+  ("OLD_SPACE", 0x02741): "EmptyFixedFloat32Array",
+-+  ("OLD_SPACE", 0x02761): "EmptyFixedFloat64Array",
+-+  ("OLD_SPACE", 0x02781): "EmptyFixedUint8ClampedArray",
+-+  ("OLD_SPACE", 0x027e1): "EmptyScript",
+-+  ("OLD_SPACE", 0x02879): "ManyClosuresCell",
+-+  ("OLD_SPACE", 0x02889): "EmptySloppyArgumentsElements",
+-+  ("OLD_SPACE", 0x028a9): "EmptySlowElementDictionary",
+-+  ("OLD_SPACE", 0x028f1): "EmptyOrderedHashMap",
+-+  ("OLD_SPACE", 0x02919): "EmptyOrderedHashSet",
+-+  ("OLD_SPACE", 0x02951): "EmptyPropertyCell",
+-+  ("OLD_SPACE", 0x02979): "EmptyWeakCell",
+-+  ("OLD_SPACE", 0x029e9): "NoElementsProtector",
+-+  ("OLD_SPACE", 0x02a11): "IsConcatSpreadableProtector",
+-+  ("OLD_SPACE", 0x02a21): "ArraySpeciesProtector",
+-+  ("OLD_SPACE", 0x02a49): "TypedArraySpeciesProtector",
+-+  ("OLD_SPACE", 0x02a71): "PromiseSpeciesProtector",
+-+  ("OLD_SPACE", 0x02a99): "StringLengthProtector",
+-+  ("OLD_SPACE", 0x02aa9): "ArrayIteratorProtector",
+-+  ("OLD_SPACE", 0x02ad1): "ArrayBufferNeuteringProtector",
+-+  ("OLD_SPACE", 0x02b59): "InfinityValue",
+-+  ("OLD_SPACE", 0x02b69): "MinusZeroValue",
+-+  ("OLD_SPACE", 0x02b79): "MinusInfinityValue",
+- }
+- 
+- # List of known V8 Frame Markers.
+--- 
+-2.11.0 (Apple Git-81)
+-
+--- a/patches/common/v8/backport_39d546a.patch
++++ b/patches/common/v8/backport_39d546a.patch
+@@ -42,43 +42,3 @@
+  MaybeLocal<String> Value::ToString(Local<Context> context) const {
+    auto obj = Utils::OpenHandle(this);
+    if (obj->IsString()) return ToApiHandle<String>(obj);
+-diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
+-index 54afc61f4c..b7483a7c5e 100644
+---- a/test/cctest/test-api.cc
+-+++ b/test/cctest/test-api.cc
+-@@ -27239,6 +27239,35 @@ TEST(ImportMeta) {
+-   CHECK(result->StrictEquals(Local<v8::Value>::Cast(v8::Utils::ToLocal(meta))));
+- }
+- 
+-+TEST(GetModuleNamespace) {
+-+  LocalContext context;
+-+  v8::Isolate* isolate = context->GetIsolate();
+-+  v8::HandleScope scope(isolate);
+-+
+-+  Local<String> url = v8_str("www.google.com");
+-+  Local<String> source_text = v8_str("export default 5; export const a = 10;");
+-+  v8::ScriptOrigin origin(url, Local<v8::Integer>(), Local<v8::Integer>(),
+-+                          Local<v8::Boolean>(), Local<v8::Integer>(),
+-+                          Local<v8::Value>(), Local<v8::Boolean>(),
+-+                          Local<v8::Boolean>(), True(isolate));
+-+  v8::ScriptCompiler::Source source(source_text, origin);
+-+  Local<Module> module =
+-+      v8::ScriptCompiler::CompileModule(isolate, &source).ToLocalChecked();
+-+  module->InstantiateModule(context.local(), UnexpectedModuleResolveCallback)
+-+      .ToChecked();
+-+  module->Evaluate(context.local()).ToLocalChecked();
+-+
+-+  Local<Value> ns_val = module->GetModuleNamespace();
+-+  CHECK(ns_val->IsModuleNamespaceObject());
+-+  Local<Object> ns = ns_val.As<Object>();
+-+  CHECK(ns->Get(context.local(), v8_str("default"))
+-+            .ToLocalChecked()
+-+            ->StrictEquals(v8::Number::New(isolate, 5)));
+-+  CHECK(ns->Get(context.local(), v8_str("a"))
+-+            .ToLocalChecked()
+-+            ->StrictEquals(v8::Number::New(isolate, 10)));
+-+}
+-+
+- TEST(GlobalTemplateWithDoubleProperty) {
+-   v8::Isolate* isolate = CcTest::isolate();
+-   v8::HandleScope handle_scope(isolate);
+--- a/patches/common/v8/backport_9fb02b526.patch
++++ b/patches/common/v8/backport_9fb02b526.patch
+@@ -73,42 +73,3 @@
+      }
+  
+      raw_holder = GetCompatibleReceiver(isolate, *fun_data, *js_receiver);
+-diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
+-index 7887cbfa75..0605f439e5 100644
+---- a/test/cctest/test-api.cc
+-+++ b/test/cctest/test-api.cc
+-@@ -1088,6 +1088,34 @@ THREADED_PROFILED_TEST(FunctionTemplate) {
+-   TestFunctionTemplateAccessor(construct_callback, Return239Callback);
+- }
+- 
+-+static void FunctionCallbackForProxyTest(
+-+    const v8::FunctionCallbackInfo<Value>& info) {
+-+  info.GetReturnValue().Set(info.This());
+-+}
+-+
+-+THREADED_TEST(FunctionTemplateWithProxy) {
+-+  LocalContext env;
+-+  v8::Isolate* isolate = env->GetIsolate();
+-+  v8::HandleScope scope(isolate);
+-+
+-+  v8::Local<v8::FunctionTemplate> function_template =
+-+      v8::FunctionTemplate::New(isolate, FunctionCallbackForProxyTest);
+-+  v8::Local<v8::Function> function =
+-+      function_template->GetFunction(env.local()).ToLocalChecked();
+-+  CHECK((*env)->Global()->Set(env.local(), v8_str("f"), function).FromJust());
+-+  v8::Local<v8::Value> proxy =
+-+      CompileRun("var proxy = new Proxy({}, {}); proxy");
+-+  CHECK(proxy->IsProxy());
+-+
+-+  v8::Local<v8::Value> result = CompileRun("f(proxy)");
+-+  CHECK(result->Equals(env.local(), (*env)->Global()).FromJust());
+-+
+-+  result = CompileRun("f.call(proxy)");
+-+  CHECK(result->Equals(env.local(), proxy).FromJust());
+-+
+-+  result = CompileRun("Reflect.apply(f, proxy, [1])");
+-+  CHECK(result->Equals(env.local(), proxy).FromJust());
+-+}
+- 
+- static void SimpleCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
+-   ApiTestFuzzer::Fuzz();

Deleted: libchromiumcontent-settings.patch
===================================================================
--- libchromiumcontent-settings.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ libchromiumcontent-settings.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,44 +0,0 @@
---- a/chromiumcontent/args/native_mksnapshot.gn
-+++ b/chromiumcontent/args/native_mksnapshot.gn
-@@ -12,3 +12,10 @@
- if (target_cpu == "arm64") {
-   v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
- }
-+clang_base_path = "/usr"
-+clang_use_chrome_plugins = false
-+treat_warnings_as_errors = false
-+use_custom_libcxx = false
-+use_sysroot = false
-+use_gconf = false
-+use_gnome_keyring = false
---- a/chromiumcontent/args/static_library.gn
-+++ b/chromiumcontent/args/static_library.gn
-@@ -1,13 +1,26 @@
- root_extra_deps = [ "//libchromiumcontent/chromiumcontent" ]
- is_electron_build = true
- is_component_build = false
--is_official_build = true
--symbol_level = 2
-+is_debug = false
-+symbol_level = 0
- enable_nacl = false
- enable_widevine = true
- proprietary_codecs = true
- is_component_ffmpeg = true
- ffmpeg_branding = "Chrome"
-+custom_toolchain="//build/toolchain/linux/unbundle:default"
-+host_toolchain="//build/toolchain/linux/unbundle:default"
-+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_sysroot = false
-+use_gnome_keyring = false
- 
- # This may be guarded behind is_chrome_branded alongside
- # proprietary_codecs https://webrtc-review.googlesource.com/c/src/+/36321,

Copied: electron/repos/community-x86_64/libchromiumcontent-settings.patch (from rev 416578, electron/trunk/libchromiumcontent-settings.patch)
===================================================================
--- libchromiumcontent-settings.patch	                        (rev 0)
+++ libchromiumcontent-settings.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,44 @@
+--- a/chromiumcontent/args/native_mksnapshot.gn
++++ b/chromiumcontent/args/native_mksnapshot.gn
+@@ -11,3 +11,10 @@
+ if (target_cpu == "arm64") {
+   v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
+ }
++clang_base_path = "/usr"
++clang_use_chrome_plugins = false
++treat_warnings_as_errors = false
++use_custom_libcxx = false
++use_sysroot = false
++use_gconf = false
++use_gnome_keyring = false
+--- a/chromiumcontent/args/static_library.gn
++++ b/chromiumcontent/args/static_library.gn
+@@ -1,13 +1,26 @@
+ root_extra_deps = [ "//libchromiumcontent/chromiumcontent" ]
+ is_electron_build = true
+ is_component_build = false
+-is_official_build = true
+-symbol_level = 2
++is_debug = false
++symbol_level = 0
+ enable_nacl = false
+ enable_widevine = true
+ proprietary_codecs = true
+ is_component_ffmpeg = true
+ ffmpeg_branding = "Chrome"
++custom_toolchain="//build/toolchain/linux/unbundle:default"
++host_toolchain="//build/toolchain/linux/unbundle:default"
++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_sysroot = false
++use_gnome_keyring = false
+ 
+ # This may be guarded behind is_chrome_branded alongside
+ # proprietary_codecs https://webrtc-review.googlesource.com/c/src/+/36321,

Deleted: libchromiumcontent-sort-filenames.patch
===================================================================
--- libchromiumcontent-sort-filenames.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ libchromiumcontent-sort-filenames.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,32 +0,0 @@
---- a/chromiumcontent/build_libs.py
-+++ b/chromiumcontent/build_libs.py
-@@ -22,7 +22,8 @@ def gen_list(out, name, obj_dirs):
-     for base_dir in obj_dirs:
-         base_path = os.path.join('obj', base_dir)
-         for dir, subdirs, files in walk_dir(base_path, exclude_dirs):
--            for f in files:
-+            subdirs.sort()
-+            for f in sorted(files):
-                 if f.endswith('.obj') or f.endswith('.o'):
-                     out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
-     out.write("]\n")
---- a/tools/generate_filenames_gypi.py
-+++ b/tools/generate_filenames_gypi.py
-@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
- 
- 
- def find_libraries(dirpath, library_suffix, list_of_excludes):
--  libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
-+  libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
-   if (library_suffix == 'so'):
-     # Handle "libname.so.123"
-     libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
-@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
-       if regex.match(file):
-         files_found.append(os.path.join(root, file))
- 
--  return files_found
-+  return sorted(files_found)
- 
- 
- def is_v8_library(p):

Copied: electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch (from rev 416578, electron/trunk/libchromiumcontent-sort-filenames.patch)
===================================================================
--- libchromiumcontent-sort-filenames.patch	                        (rev 0)
+++ libchromiumcontent-sort-filenames.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,32 @@
+--- a/chromiumcontent/build_libs.py
++++ b/chromiumcontent/build_libs.py
+@@ -22,7 +22,8 @@ def gen_list(out, name, obj_dirs):
+     for base_dir in obj_dirs:
+         base_path = os.path.join('obj', base_dir)
+         for dir, subdirs, files in walk_dir(base_path, exclude_dirs):
+-            for f in files:
++            subdirs.sort()
++            for f in sorted(files):
+                 if f.endswith('.obj') or f.endswith('.o'):
+                     out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
+     out.write("]\n")
+--- a/tools/generate_filenames_gypi.py
++++ b/tools/generate_filenames_gypi.py
+@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
+ 
+ 
+ def find_libraries(dirpath, library_suffix, list_of_excludes):
+-  libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
++  libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
+   if (library_suffix == 'so'):
+     # Handle "libname.so.123"
+     libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
+@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
+       if regex.match(file):
+         files_found.append(os.path.join(root, file))
+ 
+-  return files_found
++  return sorted(files_found)
+ 
+ 
+ def is_v8_library(p):

Deleted: libchromiumcontent-static-library-only.patch
===================================================================
--- libchromiumcontent-static-library-only.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ libchromiumcontent-static-library-only.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,43 +0,0 @@
---- a/script/create-dist
-+++ b/script/create-dist
-@@ -69,7 +69,7 @@ BINARIES = {
-     'libffmpeg.dylib',
-   ],
-   'linux': [
--    'libffmpeg.so',
-+    # 'libffmpeg.so',
-   ],
-   'win32': [
-     'd3dcompiler_47.dll',
-@@ -443,7 +443,7 @@ def generate_ninja(args, ninja):
-       copy_locales(target_arch, component, ninja)
- 
-   if args.component != 'native_mksnapshot':
--    copy_ffmpeg(target_arch, ninja)
-+    # copy_ffmpeg(target_arch, ninja)
-     copy_sources(ninja)
-   generate_licenses(ninja)
- 
-@@ -571,9 +571,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
-   elif target_arch == 'mips64el':
-     binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
-   else:
--    binaries = [ 'chromedriver', 'mksnapshot' ]
-+    binaries = [ 'mksnapshot' ]
- 
--  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
-+  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
-   for binary in binaries:
-     ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
- 
---- a/script/lib/config.py
-+++ b/script/lib/config.py
-@@ -10,7 +10,7 @@
- VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
- DEPOT_TOOLS_DIR = os.path.join(VENDOR_DIR, 'depot_tools')
- 
--COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
-+COMPONENTS = ['static_library', 'native_mksnapshot']
- 
- # URL to the mips64el sysroot image.
- MIPS64EL_SYSROOT = 'https://github.com/electron/debian-sysroot-image-creator/releases/download/v0.5.0/debian_jessie_mips64-sysroot.tar.bz2'

Copied: electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch (from rev 416578, electron/trunk/libchromiumcontent-static-library-only.patch)
===================================================================
--- libchromiumcontent-static-library-only.patch	                        (rev 0)
+++ libchromiumcontent-static-library-only.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,43 @@
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -69,7 +69,7 @@ BINARIES = {
+     'libffmpeg.dylib',
+   ],
+   'linux': [
+-    'libffmpeg.so',
++    # 'libffmpeg.so',
+   ],
+   'win32': [
+     'd3dcompiler_47.dll',
+@@ -443,7 +443,7 @@ def generate_ninja(args, ninja):
+       copy_locales(target_arch, component, ninja)
+ 
+   if args.component != 'native_mksnapshot':
+-    copy_ffmpeg(target_arch, ninja)
++    # copy_ffmpeg(target_arch, ninja)
+     copy_sources(ninja)
+   generate_licenses(ninja)
+ 
+@@ -571,9 +571,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
+   elif target_arch == 'mips64el':
+     binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
+   else:
+-    binaries = [ 'chromedriver', 'mksnapshot' ]
++    binaries = [ 'mksnapshot' ]
+ 
+-  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
++  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
+   for binary in binaries:
+     ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
+ 
+--- a/script/lib/config.py
++++ b/script/lib/config.py
+@@ -10,7 +10,7 @@
+ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
+ DEPOT_TOOLS_DIR = os.path.join(VENDOR_DIR, 'depot_tools')
+ 
+-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
++COMPONENTS = ['static_library', 'native_mksnapshot']
+ 
+ # URL to the mips64el sysroot image.
+ MIPS64EL_SYSROOT = 'https://github.com/electron/debian-sysroot-image-creator/releases/download/v0.5.0/debian_jessie_mips64-sysroot.tar.bz2'

Deleted: libchromiumcontent-use-system-tools.patch
===================================================================
--- libchromiumcontent-use-system-tools.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ libchromiumcontent-use-system-tools.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,34 +0,0 @@
---- a/script/lib/ninja.py
-+++ b/script/lib/ninja.py
-@@ -15,7 +15,7 @@
- 
- 
- def run(directory, target=None, env=None):
--  ninja_binary = __get_binary_path()
-+  ninja_binary = 'ninja'
- 
-   args = [ninja_binary,
-           '-C', directory
---- a/script/run-gn
-+++ b/script/run-gn
-@@ -56,7 +56,7 @@
-   if sys.platform in ['win32', 'cygwin']:
-     env['DEPOT_TOOLS_WIN_TOOLCHAIN'] = '0'
- 
--  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=DEPOT_TOOLS_DIR, env=env)
-+  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=os.path.join('/usr', 'bin'), env=env)
- 
- 
- def create_gn_config(component, build_dir, **gnargs):
---- a/script/update
-+++ b/script/update
-@@ -89,9 +89,7 @@
-     install_aarch64_bintools()
- 
-   return ((apply_patches(target_arch) if args.apply_patches else 0) or
--          install_sysroot_if_needed(target_arch) or
-           copy_chromiumcontent_files() or
--          update_clang() or
-           setup_mips64el_toolchain(target_arch) or
-           run_gn(target_arch, args.cc_wrapper))
- 

Copied: electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch (from rev 416578, electron/trunk/libchromiumcontent-use-system-tools.patch)
===================================================================
--- libchromiumcontent-use-system-tools.patch	                        (rev 0)
+++ libchromiumcontent-use-system-tools.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,34 @@
+--- a/script/lib/ninja.py
++++ b/script/lib/ninja.py
+@@ -15,7 +15,7 @@
+ 
+ 
+ def run(directory, target=None, env=None):
+-  ninja_binary = __get_binary_path()
++  ninja_binary = 'ninja'
+ 
+   args = [ninja_binary,
+           '-C', directory
+--- a/script/run-gn
++++ b/script/run-gn
+@@ -56,7 +56,7 @@
+   if sys.platform in ['win32', 'cygwin']:
+     env['DEPOT_TOOLS_WIN_TOOLCHAIN'] = '0'
+ 
+-  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=DEPOT_TOOLS_DIR, env=env)
++  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=os.path.join('/usr', 'bin'), env=env)
+ 
+ 
+ def create_gn_config(component, build_dir, **gnargs):
+--- a/script/update
++++ b/script/update
+@@ -89,9 +89,7 @@
+     install_aarch64_bintools()
+ 
+   return ((apply_patches(target_arch) if args.apply_patches else 0) or
+-          install_sysroot_if_needed(target_arch) or
+           copy_chromiumcontent_files() or
+-          update_clang() or
+           setup_mips64el_toolchain(target_arch) or
+           run_gn(target_arch, args.cc_wrapper))
+ 

Deleted: no-clang-plugins.patch
===================================================================
--- no-clang-plugins.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ no-clang-plugins.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,38 +0,0 @@
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -134,35 +134,6 @@
-           'CLANG_CXX_LANGUAGE_STANDARD': 'c++14',  # -std=c++14
-         },
-         'target_conditions': [
--          ['_target_name in ["electron", "brightray"]', {
--            'conditions': [
--              ['OS=="mac"', {
--                'xcode_settings': {
--                  'OTHER_CFLAGS': [
--                    "-Xclang",
--                    "-load",
--                    "-Xclang",
--                    "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.dylib",
--                    "-Xclang",
--                    "-add-plugin",
--                    "-Xclang",
--                    "find-bad-constructs",
--                  ],
--                },
--              }, {  # OS=="mac"
--                'cflags_cc': [
--                  "-Xclang",
--                  "-load",
--                  "-Xclang",
--                  "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.so",
--                  "-Xclang",
--                  "-add-plugin",
--                  "-Xclang",
--                  "find-bad-constructs",
--                ],
--              }],
--            ],
--          }],
-           ['OS=="mac" and _type in ["executable", "shared_library"]', {
-             'xcode_settings': {
-               # On some machines setting CLANG_CXX_LIBRARY doesn't work for

Copied: electron/repos/community-x86_64/no-clang-plugins.patch (from rev 416578, electron/trunk/no-clang-plugins.patch)
===================================================================
--- no-clang-plugins.patch	                        (rev 0)
+++ no-clang-plugins.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,38 @@
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -134,35 +134,6 @@
+           'CLANG_CXX_LANGUAGE_STANDARD': 'c++14',  # -std=c++14
+         },
+         'target_conditions': [
+-          ['_target_name in ["electron", "brightray"]', {
+-            'conditions': [
+-              ['OS=="mac"', {
+-                'xcode_settings': {
+-                  'OTHER_CFLAGS': [
+-                    "-Xclang",
+-                    "-load",
+-                    "-Xclang",
+-                    "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.dylib",
+-                    "-Xclang",
+-                    "-add-plugin",
+-                    "-Xclang",
+-                    "find-bad-constructs",
+-                  ],
+-                },
+-              }, {  # OS=="mac"
+-                'cflags_cc': [
+-                  "-Xclang",
+-                  "-load",
+-                  "-Xclang",
+-                  "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.so",
+-                  "-Xclang",
+-                  "-add-plugin",
+-                  "-Xclang",
+-                  "find-bad-constructs",
+-                ],
+-              }],
+-            ],
+-          }],
+           ['OS=="mac" and _type in ["executable", "shared_library"]', {
+             'xcode_settings': {
+               # On some machines setting CLANG_CXX_LIBRARY doesn't work for

Deleted: no-whole-archive.patch
===================================================================
--- no-whole-archive.patch	2018-12-17 22:10:31 UTC (rev 416578)
+++ no-whole-archive.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,22 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -55,14 +55,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 416578, electron/trunk/no-whole-archive.patch)
===================================================================
--- no-whole-archive.patch	                        (rev 0)
+++ no-whole-archive.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,22 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -55,14 +55,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-12-17 22:10:31 UTC (rev 416578)
+++ use-system-ffmpeg.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,21 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -157,8 +157,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
-@@ -233,7 +233,6 @@
-                   }, {
-                     'copied_libraries': [
-                       '<(PRODUCT_DIR)/lib/libnode.so',
--                      '<(libchromiumcontent_dir)/libffmpeg.so',
-                     ],
-                   }],
-                 ],

Copied: electron/repos/community-x86_64/use-system-ffmpeg.patch (from rev 416578, electron/trunk/use-system-ffmpeg.patch)
===================================================================
--- use-system-ffmpeg.patch	                        (rev 0)
+++ use-system-ffmpeg.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,21 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -157,8 +157,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
+@@ -233,7 +233,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-12-17 22:10:31 UTC (rev 416578)
+++ use-system-libraries-in-node.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -1,31 +0,0 @@
---- a/common.gypi
-+++ b/common.gypi
-@@ -27,12 +27,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',
-@@ -198,6 +198,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 416578, electron/trunk/use-system-libraries-in-node.patch)
===================================================================
--- use-system-libraries-in-node.patch	                        (rev 0)
+++ use-system-libraries-in-node.patch	2018-12-17 22:10:57 UTC (rev 416579)
@@ -0,0 +1,31 @@
+--- a/common.gypi
++++ b/common.gypi
+@@ -27,12 +27,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',
+@@ -198,6 +198,12 @@
+             },
+           }],
+           ['OS=="linux" and libchromiumcontent_component==0', {
++            'libraries': [
++              '-lcares',
++              '-lcrypto',
++              '-lhttp_parser',
++              '-lz',
++            ],
+             # Prevent the linker from stripping symbols.
+             'ldflags': [
+               '-Wl,--whole-archive',



More information about the arch-commits mailing list