Date: Tuesday, August 9, 2016 @ 13:59:14 Author: tensor5 Revision: 186205
addpkg: electron 1.3.2-4 Added: electron/ electron/repos/ electron/trunk/ electron/trunk/PKGBUILD electron/trunk/allow-i686.patch electron/trunk/brightray-dont-update-submodules.patch electron/trunk/brightray-no-whole-archive.patch electron/trunk/brightray-use-system-ffmpeg.patch electron/trunk/chromium-use-system-ffmpeg.patch electron/trunk/chromium-use-system-libpng.patch electron/trunk/chromium-use-system-minizip.patch electron/trunk/dont-bootstrap-libchromiumcontent.patch electron/trunk/dont-update-submodules.patch electron/trunk/dont-use-sysroot.patch electron/trunk/electron.sh electron/trunk/gtk3-menu-bar.patch electron/trunk/gyp-no-rpath.patch electron/trunk/libchromiumcontent-static-library-only.patch electron/trunk/libchromiumcontent-use-system-ffmpeg.patch electron/trunk/libchromiumcontent-use-system-tools.patch electron/trunk/use-system-clang.patch electron/trunk/use-system-ffmpeg.patch electron/trunk/use-system-libraries-in-node.patch electron/trunk/use-system-ninja.patch ----------------------------------------------+ PKGBUILD | 240 +++++++++++++++++++++++++ allow-i686.patch | 14 + brightray-dont-update-submodules.patch | 11 + brightray-no-whole-archive.patch | 22 ++ brightray-use-system-ffmpeg.patch | 11 + chromium-use-system-ffmpeg.patch | 48 +++++ chromium-use-system-libpng.patch | 11 + chromium-use-system-minizip.patch | 14 + dont-bootstrap-libchromiumcontent.patch | 13 + dont-update-submodules.patch | 11 + dont-use-sysroot.patch | 27 ++ electron.sh | 8 gtk3-menu-bar.patch | 88 +++++++++ gyp-no-rpath.patch | 12 + libchromiumcontent-static-library-only.patch | 26 ++ libchromiumcontent-use-system-ffmpeg.patch | 18 + libchromiumcontent-use-system-tools.patch | 31 +++ use-system-clang.patch | 13 + use-system-ffmpeg.patch | 10 + use-system-libraries-in-node.patch | 50 +++++ use-system-ninja.patch | 11 + 21 files changed, 689 insertions(+) Added: electron/trunk/PKGBUILD =================================================================== --- electron/trunk/PKGBUILD (rev 0) +++ electron/trunk/PKGBUILD 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,240 @@ +# $Id$ +# Maintainer: Nicola Squartini <[email protected]> + +_chromiumver=52.0.2743.82 +pkgname=electron +pkgver=1.3.2 +pkgrel=4 +pkgdesc='Build cross platform desktop apps with web technologies' +arch=('i686' 'x86_64') +url='http://electron.atom.io/' +license=('MIT' 'custom') +depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libvpx' 'libxslt' + 'libxss' 'minizip' 'nss' 're2' 'snappy') +makedepends=('clang' 'gconf' 'git' 'gperf' 'gtk2' 'harfbuzz-icu' 'jsoncpp' + 'libexif' 'libgnome-keyring' 'libnotify' 'ninja' 'npm' 'pciutils' + 'python2' 'yasm') +source=("git+https://github.com/electron/electron.git#tag=v${pkgver}" + 'git+https://github.com/boto/boto.git' + 'git+https://github.com/electron/brightray.git' + 'breakpad::git+https://github.com/electron/chromium-breakpad.git' + 'git+https://github.com/electron/crashpad.git' + 'git+https://github.com/electron/gyp.git' + "git+https://github.com/electron/libchromiumcontent.git" + 'native_mate::git+https://github.com/zcbenz/native-mate.git' + 'git+https://github.com/electron/node.git' + 'git+https://github.com/kennethreitz/requests.git' + 'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src' + "https://github.com/zcbenz/chromium-source-tarball/releases/download/${_chromiumver}/chromium-${_chromiumver}.tar.xz" + 'dont-bootstrap-libchromiumcontent.patch' + 'dont-update-submodules.patch' + 'dont-use-sysroot.patch' + 'allow-i686.patch' + 'gtk3-menu-bar.patch' + 'use-system-clang.patch' + 'use-system-libraries-in-node.patch' + 'use-system-ninja.patch' + 'use-system-ffmpeg.patch' + 'brightray-dont-update-submodules.patch' + 'brightray-no-whole-archive.patch' + 'brightray-use-system-ffmpeg.patch' + 'gyp-no-rpath.patch' + 'libchromiumcontent-static-library-only.patch' + 'libchromiumcontent-use-system-ffmpeg.patch' + 'libchromiumcontent-use-system-tools.patch' + 'chromium-use-system-ffmpeg.patch' + 'chromium-use-system-libpng.patch' + 'chromium-use-system-minizip.patch' + 'electron.sh' + ) +noextract=("chromium-${_chromiumver}.tar.xz") +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '7c03da5e66623b47689c7075cb8a3299484122fd45deadfd5f089eb6c399f35e' + '14dbd1eecb7034d9e19e1f0c61b0a36ed3b9c610db008ff2a6da2a540ade1221' + '7fd0fc72a14b2a08ce0f258a750a9d181386b9277312f2ed5446c29b8ec4e282' + '75b2e9827f0593e59a35c36c6039ad10d35d7499fed6d97c4ed48ef1cce54c2b' + 'c209475c16b506d8d888a54c8564718cf9775f450d1867e19e86a03d99a119be' + '4834c8573587c133d02a21cdfeffd9ef3ad7d71360ba548f33e100448e2cb821' + '53615ceef9e9919bacf561cc4e864a17a399f538268bc9e13721a4a06775a4a5' + '69f10a18b2f2403377cfa6e36750205a0804c5b7d49b44d44d05cd370fb186ab' + 'dc3286a1947240ab6ec562263af0b3c9971da2a4ab45970e3e664563e877280f' + 'fd237dada74a67a5652e0a4661d1e7f3a53a3bfa010b963579346f5456e9f190' + '3bf045dc4ac1cb32491c4a20de313c3056824e75308f97b9e869fd5a2a166480' + 'dc4a8937d8683ada2e008fb2b63cd02d58415629c220966c6a3a1cddcbe60e75' + 'ee9c26d0248cbac908ec9120d26ec5694febfdf93413044552da892cf6a3b073' + '68977a78fb41a549eb449dd35f94e0168d647245516397f0ecdfa7a03a147045' + '7bc4cc154643712556f2cfbcba72bc08d032a52a39bccc61c91a7b230fe9a80e' + '3adc8eb4408e4a89e907fdfa4cabc229d4f44592d75f7ef1aadad3ad77a852ae' + '2fb2157c854dab173a2ef9b4aa0ab5bb3c0dd077447c4719c7554eee6e0546b6' + 'f890e35922a5e049491259354c221c8a51baff84092ef566ea590495e615445f' + 'caaa63eabcfdced965638b3353448fabda9bc4e6d898d8ec278ecac31502ded1' + 'ae8db257191600e5d1e3d3142c8b430652047c2b3575d82696573f1649154c62' + '7d49a587633c1a4a773f2a1510a12250de6b3c7a8fbb7928489c49f7ec6997ca' + ) + +prepare() { + cd "${srcdir}"/electron + + # Temporary fix incorrect version + git checkout 59076711cbbf79af8b20ba8040049f3c7e6eb665 + + patch -Np1 -i "${srcdir}"/gtk3-menu-bar.patch + patch -Np1 -i "${srcdir}"/use-system-clang.patch + patch -Np1 -i "${srcdir}"/use-system-libraries-in-node.patch + patch -Np1 -i "${srcdir}"/use-system-ninja.patch + patch -Np1 -i "${srcdir}"/use-system-ffmpeg.patch + patch -Np1 -i "${srcdir}"/dont-update-submodules.patch + patch -Np1 -i "${srcdir}"/dont-use-sysroot.patch + patch -Np1 -i "${srcdir}"/dont-bootstrap-libchromiumcontent.patch + patch -Np1 -i "${srcdir}"/allow-i686.patch + + mkdir -p "${srcdir}"/python2-path + ln -sf /usr/bin/python2 "${srcdir}/python2-path/python" + + for m in boto breakpad brightray crashpad native_mate node requests; do + git submodule init vendor/${m} + git config submodule.vendor/${m}.url "${srcdir}/${m}" + done + git submodule update + + cd "${srcdir}"/electron/vendor/breakpad + git submodule init src + git config submodule.src.url "${srcdir}"/google-breakpad + git submodule update + + cd "${srcdir}"/electron/vendor/brightray + patch -Np1 -i "${srcdir}"/brightray-dont-update-submodules.patch + patch -Np1 -i "${srcdir}"/brightray-use-system-ffmpeg.patch + patch -Np1 -i "${srcdir}"/brightray-no-whole-archive.patch + for m in libchromiumcontent gyp; do + git submodule init vendor/${m} + git config submodule.vendor/${m}.url "${srcdir}/${m}" + done + git submodule update + # Add extra libraries for unbundling + sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu jsoncpp minizip libpng vpx libwebpdemux libxml-2.0 libxslt)', '-ljpeg', '-lre2', '-lsnappy', '-latomic',/" \ + -e 's/gtk+-2\.0/gtk+-3.0/' \ + -i brightray.gyp + + cd "${srcdir}"/electron/vendor/brightray/vendor/gyp + # Remove a useless $ORIGIN/lib/ rpath from the electron binary + patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch + + cd "${srcdir}"/electron/vendor/brightray/vendor/libchromiumcontent + git checkout 2d4ac5878f3a757a3f247122e86021732040bc6a # Temporary fix missing resources + git submodule update --init vendor/python-patch + patch -Np1 -i "${srcdir}"/libchromiumcontent-use-system-tools.patch + patch -Np1 -i "${srcdir}"/libchromiumcontent-use-system-ffmpeg.patch + patch -Np1 -i "${srcdir}"/libchromiumcontent-static-library-only.patch + rm patches/third_party/ffmpeg/ffmpeg.patch # Use system ffmpeg + _chromium_flags=('fastbuild=2' + 'host_clang=0' + 'linux_use_bundled_binutils=0' + 'linux_use_bundled_gold=0' + 'release_extra_cflags="-O3"' + 'remove_webcore_debug_symbols=1' + 'use_gconf=0' + 'use_gtk3=1' + 'use_sysroot=0' + 'use_system_expat=1' + 'use_system_ffmpeg=1' + 'use_system_flac=1' + 'use_system_harfbuzz=1' + 'use_system_jsoncpp=1' + 'use_system_libevent=1' + 'use_system_libjpeg=1' + 'use_system_libpng=1' + 'use_system_libvpx=1' + 'use_system_libwebp=1' + 'use_system_libxml=1' + 'use_system_libxslt=1' + 'use_system_re2=1' + 'use_system_snappy=1' + 'use_system_yasm=1' + 'use_system_zlib=1' + 'werror=""' # required by bundled ICU and i686 build + ) + echo "{" > chromium.gyp_env + echo " 'GYP_DEFINES': '${_chromium_flags[*]}'" >> chromium.gyp_env + echo "}" >> chromium.gyp_env + echo 'Extracting chromium source...' + tar -xJf "${srcdir}"/chromium-${_chromiumver}.tar.xz + mv chromium-${_chromiumver} src + if [ ! -e src/.version ]; then + echo "${_chromiumver}" > src/.version + fi + cd src + patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.patch + patch -Np1 -i "${srcdir}"/chromium-use-system-libpng.patch + patch -Np1 -i "${srcdir}"/chromium-use-system-minizip.patch + python2 build/linux/unbundle/replace_gyp_files.py "${_chromium_flags[@]/#/-D}" +} + +build() { + export PATH="${srcdir}/python2-path:${PATH}" + + if [ "${CARCH}" == 'x86_64' ]; then + _target=x64 + else + _target=ia32 + fi + + cd "${srcdir}"/electron + LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack" + script/bootstrap.py --verbose \ + --target_arch=${_target} \ + --clang_dir=/usr \ + --build_libchromiumcontent + script/build.py -c Release +} + +package() { + cd "${srcdir}"/electron + + _cc="${srcdir}"/electron/vendor/brightray/vendor/libchromiumcontent/dist/main + + install -d -m755 "${pkgdir}"/usr/share/licenses/electron + install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \ + "${pkgdir}"/usr/share/licenses/electron + + 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 snapshot_blob.bin ui_resources_200_percent.pak \ + views_resources_200_percent.pak \ + "${pkgdir}"/usr/lib/electron + install -m755 electron "${pkgdir}"/usr/lib/electron + install -D -m755 "${srcdir}"/electron.sh "${pkgdir}"/usr/bin/electron + # 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 + + echo -n "v${pkgver}" > "${pkgdir}"/usr/lib/electron/version + + # 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" +} Property changes on: electron/trunk/PKGBUILD ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: electron/trunk/allow-i686.patch =================================================================== --- electron/trunk/allow-i686.patch (rev 0) +++ electron/trunk/allow-i686.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,14 @@ +--- a/script/update.py ++++ b/script/update.py +@@ -15,11 +15,6 @@ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) + + def main(): + os.chdir(SOURCE_ROOT) +- +- if PLATFORM != 'win32' and platform.architecture()[0] != '64bit': +- print 'Electron is required to be built on a 64bit machine' +- return 1 +- + update_external_binaries() + return update_gyp() + Added: electron/trunk/brightray-dont-update-submodules.patch =================================================================== --- electron/trunk/brightray-dont-update-submodules.patch (rev 0) +++ electron/trunk/brightray-dont-update-submodules.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,11 @@ +--- a/script/bootstrap ++++ b/script/bootstrap +@@ -24,7 +24,7 @@ def main(): + print "Error: All options of libchromiumcontent are required OR let " \ + "brightray choose it" + sys.exit(0) +- update_submodules() ++ # update_submodules() + setup_libchromiumcontent(args.dev, args.commit, args.target_arch, args.url, + args.libcc_source_path, + args.libcc_shared_library_path, Added: electron/trunk/brightray-no-whole-archive.patch =================================================================== --- electron/trunk/brightray-no-whole-archive.patch (rev 0) +++ electron/trunk/brightray-no-whole-archive.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,22 @@ +--- a/brightray.gyp ++++ b/brightray.gyp +@@ -37,14 +37,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) Added: electron/trunk/brightray-use-system-ffmpeg.patch =================================================================== --- electron/trunk/brightray-use-system-ffmpeg.patch (rev 0) +++ electron/trunk/brightray-use-system-ffmpeg.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,11 @@ +--- a/brightray.gyp ++++ b/brightray.gyp +@@ -102,8 +102,6 @@ + }, { + 'link_settings': { + 'libraries': [ +- # Link with ffmpeg. +- '<(libchromiumcontent_dir)/libffmpeg.so', + # Following libraries are required by libchromiumcontent: + '-lasound', + '-lcap', Added: electron/trunk/chromium-use-system-ffmpeg.patch =================================================================== --- electron/trunk/chromium-use-system-ffmpeg.patch (rev 0) +++ electron/trunk/chromium-use-system-ffmpeg.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,48 @@ +--- a/media/ffmpeg/ffmpeg_common.h ++++ b/media/ffmpeg/ffmpeg_common.h +@@ -22,10 +22,6 @@ + + // Include FFmpeg header files. + extern "C" { +-// Disable deprecated features which result in spammy compile warnings. This +-// list of defines must mirror those in the 'defines' section of BUILD.gn file & +-// ffmpeg.gyp file or the headers below will generate different structures! +-#define FF_API_CONVERGENCE_DURATION 0 + // Upstream libavcodec/utils.c still uses the deprecated + // av_dup_packet(), causing deprecation warnings. + // The normal fix for such things is to disable the feature as below, +@@ -39,7 +35,6 @@ + MSVC_PUSH_DISABLE_WARNING(4244); + #include <libavcodec/avcodec.h> + #include <libavformat/avformat.h> +-#include <libavformat/internal.h> + #include <libavformat/avio.h> + #include <libavutil/avutil.h> + #include <libavutil/imgutils.h> +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -1101,24 +1101,6 @@ + // If no estimate is found, the stream entry will be kInfiniteDuration(). + std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams, + kInfiniteDuration()); +- const AVFormatInternal* internal = format_context->internal; +- if (internal && internal->packet_buffer && +- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) { +- struct AVPacketList* packet_buffer = internal->packet_buffer; +- while (packet_buffer != internal->packet_buffer_end) { +- DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index), +- start_time_estimates.size()); +- const AVStream* stream = +- format_context->streams[packet_buffer->pkt.stream_index]; +- if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) { +- const base::TimeDelta packet_pts = +- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); +- if (packet_pts < start_time_estimates[stream->index]) +- start_time_estimates[stream->index] = packet_pts; +- } +- packet_buffer = packet_buffer->next; +- } +- } + + std::unique_ptr<MediaTracks> media_tracks(new MediaTracks()); + AVStream* audio_stream = NULL; Added: electron/trunk/chromium-use-system-libpng.patch =================================================================== --- electron/trunk/chromium-use-system-libpng.patch (rev 0) +++ electron/trunk/chromium-use-system-libpng.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,11 @@ +--- a/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp ++++ b/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp +@@ -234,7 +234,7 @@ + #endif + png_uint_32 profileLength = 0; + if (png_get_iCCP(png, info, &profileName, &compressionType, &profile, &profileLength)) { +- setColorProfileAndTransform(profile, profileLength, imageHasAlpha, false /* useSRGB */); ++ setColorProfileAndTransform((const char*)profile, profileLength, imageHasAlpha, false /* useSRGB */); + } + } + #endif // PNG_iCCP_SUPPORTED Added: electron/trunk/chromium-use-system-minizip.patch =================================================================== --- electron/trunk/chromium-use-system-minizip.patch (rev 0) +++ electron/trunk/chromium-use-system-minizip.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,14 @@ +--- a/third_party/zlib/google/zip_reader.cc ++++ b/third_party/zlib/google/zip_reader.cc +@@ -281,10 +281,9 @@ + + current_entry_info_.reset(); + reached_end_ = false; +- const int kDefaultCaseSensivityOfOS = 0; + const int result = unzLocateFile(zip_file_, + path_in_zip.AsUTF8Unsafe().c_str(), +- kDefaultCaseSensivityOfOS); ++ NULL); + if (result != UNZ_OK) + return false; + Added: electron/trunk/dont-bootstrap-libchromiumcontent.patch =================================================================== --- electron/trunk/dont-bootstrap-libchromiumcontent.patch (rev 0) +++ electron/trunk/dont-bootstrap-libchromiumcontent.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,13 @@ +diff --git a/script/build-libchromiumcontent.py b/script/build-libchromiumcontent.py +index e0a95f6..1383e70 100755 +--- a/script/build-libchromiumcontent.py ++++ b/script/build-libchromiumcontent.py +@@ -28,7 +28,7 @@ def main(): + update = os.path.join(script_dir, 'update') + build = os.path.join(script_dir, 'build') + create_dist = os.path.join(script_dir, 'create-dist') +- execute_stdout([sys.executable, bootstrap]) ++ # execute_stdout([sys.executable, bootstrap]) + execute_stdout([sys.executable, update, '-t', args.target_arch, + '--defines', args.defines]) + execute_stdout([sys.executable, build, '-R', '-t', args.target_arch]) Added: electron/trunk/dont-update-submodules.patch =================================================================== --- electron/trunk/dont-update-submodules.patch (rev 0) +++ electron/trunk/dont-update-submodules.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,11 @@ +--- a/script/bootstrap.py ++++ b/script/bootstrap.py +@@ -34,7 +34,7 @@ def main(): + if sys.platform == 'cygwin': + update_win32_python() + +- update_submodules() ++ # update_submodules() + + libcc_source_path = args.libcc_source_path + libcc_shared_library_path = args.libcc_shared_library_path Added: electron/trunk/dont-use-sysroot.patch =================================================================== --- electron/trunk/dont-use-sysroot.patch (rev 0) +++ electron/trunk/dont-use-sysroot.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,27 @@ +--- a/script/bootstrap.py ++++ b/script/bootstrap.py +@@ -60,9 +60,6 @@ + libcc_source_path, libcc_shared_library_path, + libcc_static_library_path) + +- if PLATFORM == 'linux': +- download_sysroot(args.target_arch) +- + create_chrome_version_h() + touch_config_gypi() + run_update(defines, args.msvs) +--- a/toolchain.gypi ++++ b/toolchain.gypi +@@ -53,10 +53,10 @@ + 'sysroot%': '<(source_root)/vendor/debian_wheezy_arm-sysroot', + }], + ['target_arch=="ia32"', { +- 'sysroot%': '<(source_root)/vendor/debian_wheezy_i386-sysroot', ++ 'sysroot%': '/', + }], + ['target_arch=="x64"', { +- 'sysroot%': '<(source_root)/vendor/debian_wheezy_amd64-sysroot', ++ 'sysroot%': '/', + }], + ], + }, Added: electron/trunk/electron.sh =================================================================== --- electron/trunk/electron.sh (rev 0) +++ electron/trunk/electron.sh 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,8 @@ +#!/usr/bin/bash + +export GDK_BACKEND=x11 + +# Workaround for scaling issues on HiDPI displays +export GDK_SCALE=${GDK_SCALE:-1} + +exec /usr/lib/electron/electron "$@" Added: electron/trunk/gtk3-menu-bar.patch =================================================================== --- electron/trunk/gtk3-menu-bar.patch (rev 0) +++ electron/trunk/gtk3-menu-bar.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,88 @@ +--- a/atom/browser/ui/views/menu_bar.cc ++++ b/atom/browser/ui/views/menu_bar.cc +@@ -16,8 +16,6 @@ + + #if defined(OS_WIN) + #include "ui/gfx/color_utils.h" +-#elif defined(USE_X11) +-#include "chrome/browser/ui/libgtk2ui/skia_utils_gtk2.h" + #endif + + namespace atom { +@@ -30,18 +28,68 @@ const char kViewClassName[] = "ElectronMenuBar"; + const SkColor kDefaultColor = SkColorSetARGB(255, 233, 233, 233); + + #if defined(USE_X11) ++SkColor GdkRGBAToSkColor(GdkRGBA color) { ++ return SkColorSetARGB(round(color.alpha * 255), ++ round(color.red * 255), ++ round(color.green * 255), ++ round(color.blue * 255)); ++} ++ + void GetMenuBarColor(SkColor* enabled, SkColor* disabled, SkColor* highlight, + SkColor* hover, SkColor* background) { ++ GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + GtkWidget* menu_bar = gtk_menu_bar_new(); +- +- GtkStyle* style = gtk_rc_get_style(menu_bar); +- *enabled = libgtk2ui::GdkColorToSkColor(style->fg[GTK_STATE_NORMAL]); +- *disabled = libgtk2ui::GdkColorToSkColor(style->fg[GTK_STATE_INSENSITIVE]); +- *highlight = libgtk2ui::GdkColorToSkColor(style->fg[GTK_STATE_SELECTED]); +- *hover = libgtk2ui::GdkColorToSkColor(style->fg[GTK_STATE_PRELIGHT]); +- *background = libgtk2ui::GdkColorToSkColor(style->bg[GTK_STATE_NORMAL]); +- ++ GtkWidget* menu_item = gtk_menu_item_new(); ++ GtkStyleContext* window_style_ctx = gtk_widget_get_style_context(window); ++ GtkStyleContext* menu_bar_style_ctx = ++ gtk_widget_get_style_context(menu_bar); ++ GtkStyleContext* menu_item_style_ctx = ++ gtk_widget_get_style_context(menu_item); ++ GdkRGBA normal_color; ++ GdkRGBA backdrop_color; ++ GdkRGBA prelight_color; ++ GdkRGBA* background_color_ptr; ++ ++ gtk_container_add(GTK_CONTAINER(window), menu_bar); ++ gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item); ++ ++ gtk_style_context_get(menu_bar_style_ctx, ++ GTK_STATE_FLAG_NORMAL, ++ "background-color", ++ &background_color_ptr, ++ NULL); ++ ++ if (background_color_ptr->alpha == 0.0) ++ gtk_style_context_get(window_style_ctx, ++ GTK_STATE_FLAG_NORMAL, ++ "background-color", ++ &background_color_ptr, ++ NULL); ++ ++ *background = GdkRGBAToSkColor(*background_color_ptr); ++ gdk_rgba_free(background_color_ptr); ++ ++ gtk_style_context_get_color(menu_item_style_ctx, ++ GTK_STATE_FLAG_NORMAL, ++ &normal_color); ++ *enabled = GdkRGBAToSkColor(normal_color); ++ *hover = GdkRGBAToSkColor(normal_color); ++ ++ gtk_style_context_get_color(menu_item_style_ctx, ++ GTK_STATE_FLAG_PRELIGHT, ++ &prelight_color); ++ *highlight = GdkRGBAToSkColor(prelight_color); ++ ++ ++ gtk_style_context_set_state(window_style_ctx, GTK_STATE_FLAG_BACKDROP); ++ gtk_style_context_get_color(menu_item_style_ctx, ++ GTK_STATE_FLAG_NORMAL, ++ &backdrop_color); ++ *disabled = GdkRGBAToSkColor(backdrop_color); ++ ++ gtk_widget_destroy(menu_item); + gtk_widget_destroy(menu_bar); ++ gtk_widget_destroy(window); + } + #endif + Added: electron/trunk/gyp-no-rpath.patch =================================================================== --- electron/trunk/gyp-no-rpath.patch (rev 0) +++ electron/trunk/gyp-no-rpath.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,12 @@ +--- a/pylib/gyp/generator/ninja.py ++++ b/pylib/gyp/generator/ninja.py +@@ -1221,9 +1221,6 @@ + rpath = 'lib/' + if self.toolset != 'target': + rpath += self.toolset +- ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath) +- else: +- ldflags.append('-Wl,-rpath=%s' % self.target_rpath) + ldflags.append('-Wl,-rpath-link=%s' % rpath) + self.WriteVariableList(ninja_file, 'ldflags', + map(self.ExpandSpecial, ldflags)) Added: electron/trunk/libchromiumcontent-static-library-only.patch =================================================================== --- electron/trunk/libchromiumcontent-static-library-only.patch (rev 0) +++ electron/trunk/libchromiumcontent-static-library-only.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,26 @@ +diff --git a/script/build b/script/build +index 5e06fd1..fdf8b95 100755 +--- a/script/build ++++ b/script/build +@@ -11,7 +11,7 @@ from lib.util import get_configuration, get_output_dir + SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) + VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor') + TARGETS = ['chromiumcontent_all'] +-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg'] ++COMPONENTS = ['static_library'] + + NINJA = 'ninja' + if sys.platform == 'win32': +diff --git a/script/update b/script/update +index 62828ce..e757fc6 100755 +--- a/script/update ++++ b/script/update +@@ -18,7 +18,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor') + SRC_DIR = os.path.join(SOURCE_ROOT, 'src') + CHROMIUMCONTENT_SOURCE_DIR = os.path.join(SOURCE_ROOT, 'chromiumcontent') + CHROMIUMCONTENT_DESTINATION_DIR = os.path.join(SRC_DIR, 'chromiumcontent') +-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg'] ++COMPONENTS = ['static_library'] + + TARBALL_REPO = 'zcbenz/chromium-source-tarball' + TARBALL_URL = 'https://github.com/{0}/releases/download/{1}/chromium-{1}.tar.xz' Added: electron/trunk/libchromiumcontent-use-system-ffmpeg.patch =================================================================== --- electron/trunk/libchromiumcontent-use-system-ffmpeg.patch (rev 0) +++ electron/trunk/libchromiumcontent-use-system-ffmpeg.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,18 @@ +--- a/script/create-dist ++++ b/script/create-dist +@@ -89,7 +89,6 @@ + 'libsystem_wrappers.a', + 'libcdm_renderer.a', + 'libsecurity_state.a', +- os.path.join('lib', 'libffmpeg.so'), + ], + 'win32': [ + 'chromedriver.exe', +@@ -298,7 +297,6 @@ + copy_generated_sources(target_arch, component, output_dir) + copy_locales(target_arch, component, output_dir) + +- copy_ffmpeg(target_arch) + copy_sources() + generate_licenses() + if not args.no_zip: Added: electron/trunk/libchromiumcontent-use-system-tools.patch =================================================================== --- electron/trunk/libchromiumcontent-use-system-tools.patch (rev 0) +++ electron/trunk/libchromiumcontent-use-system-tools.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,31 @@ +diff --git a/script/build b/script/build +index 8259f49..c4ffd5d 100755 +--- a/script/build ++++ b/script/build +@@ -13,7 +13,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor') + TARGETS = ['chromiumcontent_all'] + COMPONENTS = ['static_library', 'shared_library', 'ffmpeg'] + +-NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja') ++NINJA = 'ninja' + if sys.platform == 'win32': + NINJA = '{0}.exe'.format(NINJA) + +diff --git a/script/update b/script/update +index b9f5127..499cebb 100755 +--- a/script/update ++++ b/script/update +@@ -31,13 +31,9 @@ def main(): + if not is_source_tarball_updated(version): + download_source_tarball(version) + +- if sys.platform == 'linux2': +- install_sysroot() +- + target_arch = args.target_arch + return (apply_patches() or + copy_chromiumcontent_files() or +- update_clang() or + run_gyp(target_arch, args.defines)) + + Added: electron/trunk/use-system-clang.patch =================================================================== --- electron/trunk/use-system-clang.patch (rev 0) +++ electron/trunk/use-system-clang.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,13 @@ +--- a/script/bootstrap.py ++++ b/script/bootstrap.py +@@ -166,8 +166,8 @@ def update_node_modules(dirname, env=None): + if env is None: + env = os.environ.copy() + if PLATFORM == 'linux': +- # Use prebuilt clang for building native modules. +- set_clang_env(env) ++ env['CC'] = 'clang' ++ env['CXX'] = 'clang++' + env['npm_config_clang'] = '1' + with scoped_cwd(dirname): + args = [NPM, 'install'] Added: electron/trunk/use-system-ffmpeg.patch =================================================================== --- electron/trunk/use-system-ffmpeg.patch (rev 0) +++ electron/trunk/use-system-ffmpeg.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,10 @@ +--- a/electron.gyp ++++ b/electron.gyp +@@ -181,7 +181,6 @@ + }, { + 'copied_libraries': [ + '<(PRODUCT_DIR)/lib/libnode.so', +- '<(libchromiumcontent_dir)/libffmpeg.so', + ], + }], + ], Added: electron/trunk/use-system-libraries-in-node.patch =================================================================== --- electron/trunk/use-system-libraries-in-node.patch (rev 0) +++ electron/trunk/use-system-libraries-in-node.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,50 @@ +--- a/common.gypi ++++ b/common.gypi +@@ -22,12 +22,12 @@ + 'node_install_npm': 'false', + 'node_prefix': '', + 'node_shared': 'true', +- 'node_shared_cares': 'false', +- 'node_shared_http_parser': 'false', ++ 'node_shared_cares': 'true', ++ 'node_shared_http_parser': 'true', + 'node_shared_libuv': 'false', +- 'node_shared_openssl': 'false', ++ 'node_shared_openssl': 'true', + 'node_shared_v8': 'true', +- 'node_shared_zlib': 'false', ++ 'node_shared_zlib': 'true', + 'node_tag': '', + 'node_use_dtrace': 'false', + 'node_use_etw': 'false', +@@ -107,16 +107,6 @@ + 'conditions': [ + ['OS=="linux"', { + 'cflags': [ +- '-Wno-parentheses-equality', +- '-Wno-unused-function', +- '-Wno-sometimes-uninitialized', +- '-Wno-pointer-sign', +- '-Wno-string-plus-int', +- '-Wno-unused-variable', +- '-Wno-unused-value', +- '-Wno-deprecated-declarations', +- '-Wno-return-type', +- '-Wno-shift-negative-value', + # Required when building as shared library. + '-fPIC', + ], +@@ -195,6 +185,13 @@ + ], + }], + ['OS=="linux" and libchromiumcontent_component==0', { ++ 'libraries': [ ++ '-lcares', ++ '-lcrypto', ++ '-lhttp_parser', ++ '-lssl', ++ '-lz', ++ ], + # Prevent the linker from stripping symbols. + 'ldflags': [ + '-Wl,--whole-archive', Added: electron/trunk/use-system-ninja.patch =================================================================== --- electron/trunk/use-system-ninja.patch (rev 0) +++ electron/trunk/use-system-ninja.patch 2016-08-09 13:59:14 UTC (rev 186205) @@ -0,0 +1,11 @@ +--- a/script/build.py ++++ b/script/build.py +@@ -19,7 +19,7 @@ + # Update the VS build env. + import_vs_env(get_target_arch()) + +- ninja = os.path.join('vendor', 'depot_tools', 'ninja') ++ ninja = 'ninja' + if sys.platform == 'win32': + ninja += '.exe' +
