diff options
author | Elvis Pranskevichus <elvis@magic.io> | 2016-04-05 12:29:26 -0400 |
---|---|---|
committer | Patrice Clement <monsieurp@gentoo.org> | 2016-05-03 14:45:56 +0000 |
commit | 1b299909903085240575a3f5c9aaf5377a4a13fe (patch) | |
tree | f3969c55eb1c38c907a9377f5085e8fdfdf71d26 /dev-util/electron/files | |
parent | media-sound/clementine: Removed old. (diff) | |
download | gentoo-1b299909903085240575a3f5c9aaf5377a4a13fe.tar.gz gentoo-1b299909903085240575a3f5c9aaf5377a4a13fe.tar.bz2 gentoo-1b299909903085240575a3f5c9aaf5377a4a13fe.zip |
dev-util/electron: Add ebuild for Github's Electron (v0.36.9)
Electron is an application framework built on top of Chromium and NodeJS.
It allows creating cross-platform desktop apps using Web tech. [1]
The main user of Electron is the Atom IDE [2]. Microsoft Visual Studio
Code is also based on Electron. It is also useful for the creation of
desktop wrappers for popular web services, e.g. Google Music [3].
Unfortunately, current upstream's approach to "building Electron from
source" involves downloading a pre-built libchromiumcontent.so binary
from the Internet, which poses obvious security and compatibility risks.
This ebuild is based heavily on the Chromium ebuild and follows similar
unbunling policy.
Additionally, Electron-specific NodeJS headers are installed to
/usr/include so that native modules built for Electron-based apps can be
compiled against the correct version of NodeJS embedded in Electron.
[1] http://electron.atom.io/
[2] http://atom.io/
[3] https://github.com/twolfson/google-music-electron
Gentoo-Bug: https://bugs.gentoo.org/579116
Closes: https://github.com/gentoo/gentoo/pull/1200
Package-Manager: portage-2.2.28
Acked-by: Mike Gilbert <floppym@gentoo.org>
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
Diffstat (limited to 'dev-util/electron/files')
11 files changed, 535 insertions, 0 deletions
diff --git a/dev-util/electron/files/brightray-gentoo-build-fixes.patch b/dev-util/electron/files/brightray-gentoo-build-fixes.patch new file mode 100644 index 000000000000..a67808457752 --- /dev/null +++ b/dev-util/electron/files/brightray-gentoo-build-fixes.patch @@ -0,0 +1,81 @@ +From c9e2e0237170884bc1069a64f2635bb1ffc1b948 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus <elvis@magic.io> +Date: Mon, 8 Feb 2016 15:14:58 -0500 +Subject: [PATCH] brightray build fixes + +--- + brightray.gyp | 5 +++-- + brightray.gypi | 21 ++++++++------------- + 2 files changed, 11 insertions(+), 15 deletions(-) + +diff --git a/brightray.gyp b/brightray.gyp +index d7120ea..6150318 100644 +--- a/brightray.gyp ++++ b/brightray.gyp +@@ -9,6 +9,9 @@ + 'targets': [ + { + 'target_name': 'brightray', ++ 'dependencies': [ ++ '<(libchromiumcontent_src_dir)/chromiumcontent/chromiumcontent.gyp:chromiumcontent_all' ++ ], + 'type': 'static_library', + 'include_dirs': [ + '.', +@@ -100,8 +103,6 @@ + }, { + 'link_settings': { + 'libraries': [ +- # Link with ffmpeg. +- '<(libchromiumcontent_dir)/libffmpeg.so', + # Following libraries are required by libchromiumcontent: + '-lasound', + '-lcap', +diff --git a/brightray.gypi b/brightray.gypi +index 4513fa9..95bdfa1 100644 +--- a/brightray.gypi ++++ b/brightray.gypi +@@ -1,9 +1,14 @@ + { +- 'includes': [ +- 'vendor/download/libchromiumcontent/filenames.gypi', +- ], + 'variables': { + 'libchromiumcontent_component%': 1, ++ 'libchromiumcontent_src_dir': '<(DEPTH)', ++ 'libchromiumcontent_shared_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', ++ 'libchromiumcontent_static_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', ++ 'libchromiumcontent_shared_libraries': [], ++ 'libchromiumcontent_static_libraries': [], ++ 'libchromiumcontent_shared_v8_libraries': [], ++ 'libchromiumcontent_static_v8_libraries': [], ++ 'pkg-config%': 'pkg-config', + 'conditions': [ + # The "libchromiumcontent_component" is defined when calling "gyp". + ['libchromiumcontent_component', { +@@ -258,22 +263,12 @@ + 'conditions': [ + ['OS=="linux"', { + 'cflags': [ +- '-O2', +- # Generate symbols, will be stripped later. +- '-g', +- # Don't emit the GCC version ident directives, they just end up +- # in the .comment section taking up binary size. +- '-fno-ident', + # Put data and code in their own sections, so that unused symbols + # can be removed at link time with --gc-sections. + '-fdata-sections', + '-ffunction-sections', + ], + 'ldflags': [ +- # Specifically tell the linker to perform optimizations. +- # See http://lwn.net/Articles/192624/ . +- '-Wl,-O1', +- '-Wl,--as-needed', + '-Wl,--gc-sections', + ], + }], # OS=="linux" +-- +2.7.3 + diff --git a/dev-util/electron/files/chromium-disable-widevine.patch b/dev-util/electron/files/chromium-disable-widevine.patch new file mode 100644 index 000000000000..5b166463c88c --- /dev/null +++ b/dev-util/electron/files/chromium-disable-widevine.patch @@ -0,0 +1,9 @@ +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,5 @@ + + #include "third_party/widevine/cdm/widevine_cdm_common.h" + +-#define WIDEVINE_CDM_AVAILABLE + + #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/dev-util/electron/files/chromium-lto-fixes.patch b/dev-util/electron/files/chromium-lto-fixes.patch new file mode 100644 index 000000000000..7de3df1b26f6 --- /dev/null +++ b/dev-util/electron/files/chromium-lto-fixes.patch @@ -0,0 +1,26 @@ +diff --git a/build/common.gypi.orig b/build/common.gypi +index cce7b3c..3b905c0 100644 +--- a/build/common.gypi.orig ++++ b/build/common.gypi +@@ -6096,7 +6096,7 @@ + 'target_conditions': [ + ['_toolset=="target"', { + 'ldflags': [ +- '-flto=32', ++ '-flto=4' + ], + }], + ], +diff --git a/build/android/disable_gcc_lto.gypi.orig b/build/android/disable_gcc_lto.gypi +index a733c7a..57570f8 100644 +--- a/build/android/disable_gcc_lto.gypi.orig ++++ b/build/android/disable_gcc_lto.gypi +@@ -8,7 +8,7 @@ + 'target_conditions': [ + ['_toolset=="target"', { + 'conditions': [ +- ['OS=="android" and clang==0 and (use_lto==1 or use_lto_o2==1)', { ++ ['(OS=="android" or OS=="linux") and clang==0 and (use_lto==1 or use_lto_o2==1)', { + 'cflags!': [ + '-flto', + '-ffat-lto-objects', diff --git a/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch b/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch new file mode 100644 index 000000000000..cf1955ffbfd2 --- /dev/null +++ b/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch @@ -0,0 +1,13 @@ +diff --git a/test_runner.gyp b/test_runner.gyp +index 30ffa75..8838bdf 100644 +--- a/components/test_runner/test_runner.gyp ++++ b/components/test_runner/test_runner.gyp +@@ -162,8 +162,6 @@ + 'files': [ + 'resources/fonts/AHEM____.TTF', + 'resources/fonts/fonts.conf', +- '../../third_party/gardiner_mod/GardinerModBug.ttf', +- '../../third_party/gardiner_mod/GardinerModCat.ttf', + ] + }], + }], diff --git a/dev-util/electron/files/chromium-shared-v8.patch b/dev-util/electron/files/chromium-shared-v8.patch new file mode 100644 index 000000000000..67d97c8b3974 --- /dev/null +++ b/dev-util/electron/files/chromium-shared-v8.patch @@ -0,0 +1,15 @@ +diff --git a/v8/tools/gyp/v8.gyp.orig b/v8/tools/gyp/v8.gyp +index bcb5801..3162456 100644 +--- a/v8/tools/gyp/v8.gyp.orig ++++ b/v8/tools/gyp/v8.gyp +@@ -48,8 +48,8 @@ + }, { + 'toolsets': ['target'], + }], +- ['component=="shared_library"', { +- 'type': '<(component)', ++ ['v8_target_type=="shared_library"', { ++ 'type': 'shared_library', + 'sources': [ + # Note: on non-Windows we still build this file so that gyp + # has some sources to link into the component. diff --git a/dev-util/electron/files/chromium-system-ffmpeg-r0.patch b/dev-util/electron/files/chromium-system-ffmpeg-r0.patch new file mode 100644 index 000000000000..667e0ecb2a72 --- /dev/null +++ b/dev-util/electron/files/chromium-system-ffmpeg-r0.patch @@ -0,0 +1,54 @@ +diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h +index 677bd76..23a21f8 100644 +--- a/media/ffmpeg/ffmpeg_common.h ++++ b/media/ffmpeg/ffmpeg_common.h +@@ -19,20 +19,12 @@ + + // 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 the ffmpeg.gyp +-// file or the headers below will generate different structures. +-#define FF_API_PIX_FMT_DESC 0 +-#define FF_API_OLD_DECODE_AUDIO 0 +-#define FF_API_DESTRUCT_PACKET 0 +-#define FF_API_GET_BUFFER 0 + + // Temporarily disable possible loss of data warning. + // TODO(scherkus): fix and upstream the compiler warnings. + 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> +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index 155e980..7ba327a 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -966,24 +966,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, + // 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>(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>(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; +- } +- } + + AVStream* audio_stream = NULL; + AudioDecoderConfig audio_config; diff --git a/dev-util/electron/files/chromium-system-jinja-r7.patch b/dev-util/electron/files/chromium-system-jinja-r7.patch new file mode 100644 index 000000000000..fe28e12c333c --- /dev/null +++ b/dev-util/electron/files/chromium-system-jinja-r7.patch @@ -0,0 +1,35 @@ +--- third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000 ++++ third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000 +@@ -54,7 +54,6 @@ + 'actions': [{ + 'action_name': 'cache_jinja_templates', + 'inputs': [ +- '<@(jinja_module_files)', + 'code_generator_v8.py', + '<@(code_generator_template_files)', + ], +--- third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000 ++++ third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000 +@@ -2,10 +2,6 @@ + { + 'variables': { + 'scripts_for_in_files': [ +- # jinja2/__init__.py contains version string, so sufficient as +- # dependency for whole jinja2 package +- '<(DEPTH)/third_party/jinja2/__init__.py', +- '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + 'hasher.py', + 'in_file.py', + 'in_generator.py', +--- third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000 ++++ third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000 +@@ -12,9 +12,6 @@ + '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + ], + 'idl_lexer_parser_files': [ +- # PLY (Python Lex-Yacc) +- '<(DEPTH)/third_party/ply/lex.py', +- '<(DEPTH)/third_party/ply/yacc.py', + # Web IDL lexer/parser (base parser) + '<(DEPTH)/tools/idl_parser/idl_lexer.py', + '<(DEPTH)/tools/idl_parser/idl_node.py', diff --git a/dev-util/electron/files/chromium-system-libvpx-r0.patch b/dev-util/electron/files/chromium-system-libvpx-r0.patch new file mode 100644 index 000000000000..cd7c164d7e6a --- /dev/null +++ b/dev-util/electron/files/chromium-system-libvpx-r0.patch @@ -0,0 +1,20 @@ +--- build/linux/unbundle/libvpx.gyp.orig 2016-02-08 19:16:24.646981037 -0500 ++++ build/linux/unbundle/libvpx.gyp 2016-02-08 19:15:42.449979462 -0500 +@@ -4,7 +4,7 @@ + { + 'targets': [ + { +- 'target_name': 'libvpx', ++ 'target_name': 'libvpx_new', + 'type': 'none', + 'direct_dependent_settings': { + 'cflags': [ +@@ -18,8 +18,6 @@ + 'vpx/vp8cx.h', + 'vpx/vp8dx.h', + 'vpx/vpx_codec.h', +- 'vpx/vpx_codec_impl_bottom.h', +- 'vpx/vpx_codec_impl_top.h', + 'vpx/vpx_decoder.h', + 'vpx/vpx_encoder.h', + 'vpx/vpx_frame_buffer.h', diff --git a/dev-util/electron/files/electron-gentoo-build-fixes.patch b/dev-util/electron/files/electron-gentoo-build-fixes.patch new file mode 100644 index 000000000000..5a91a8f4a3e9 --- /dev/null +++ b/dev-util/electron/files/electron-gentoo-build-fixes.patch @@ -0,0 +1,157 @@ +From 174dd209209d8f67f534ad761d8adeeddc6bf5c0 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus <elvis@magic.io> +Date: Mon, 8 Feb 2016 15:16:40 -0500 +Subject: [PATCH] electron build fixes + +--- + atom.gyp | 19 ++++++++----------- + common.gypi | 32 +++++++++++++++++++++++--------- + filenames.gypi | 1 - + 3 files changed, 31 insertions(+), 21 deletions(-) + +diff --git a/atom.gyp b/atom.gyp +index 68a30cc..06109a9 100644 +--- a/atom.gyp ++++ b/atom.gyp +@@ -177,7 +177,7 @@ + ], + }, { + 'dependencies': [ +- 'vendor/breakpad/breakpad.gyp:dump_syms#host', ++ 'breakpad/breakpad.gyp:dump_syms#host', + ], + }], # OS=="win" + ['OS=="linux"', { +@@ -194,7 +194,7 @@ + }, { + 'copied_libraries': [ + '<(PRODUCT_DIR)/lib/libnode.so', +- '<(libchromiumcontent_dir)/libffmpeg.so', ++ '<(PRODUCT_DIR)/lib/libv8.so', + ], + }], + ], +@@ -202,9 +202,6 @@ + 'destination': '<(PRODUCT_DIR)', + 'files': [ + '<@(copied_libraries)', +- '<(libchromiumcontent_dir)/locales', +- '<(libchromiumcontent_dir)/icudtl.dat', +- '<(libchromiumcontent_dir)/content_shell.pak', + '<(libchromiumcontent_dir)/natives_blob.bin', + '<(libchromiumcontent_dir)/snapshot_blob.bin', + ], +@@ -242,8 +239,8 @@ + '<@(lib_sources)', + ], + 'include_dirs': [ +- '.', + 'chromium_src', ++ '.', + 'vendor/brightray', + 'vendor/native_mate', + # Include atom_natives.h. +@@ -301,8 +298,8 @@ + 'vendor/node/deps/uv/uv.gyp:libuv', + 'vendor/node/deps/zlib/zlib.gyp:zlib', + # Build with breakpad support. +- 'vendor/breakpad/breakpad.gyp:breakpad_handler', +- 'vendor/breakpad/breakpad.gyp:breakpad_sender', ++ 'breakpad/breakpad.gyp:breakpad_handler', ++ 'breakpad/breakpad.gyp:breakpad_sender', + ], + }], # OS=="win" + ['OS=="mac" and mas_build==0', { +@@ -333,7 +330,7 @@ + # Make binary search for libraries under current directory, so we + # don't have to manually set $LD_LIBRARY_PATH: + # http://serverfault.com/questions/279068/cant-find-so-in-the-same-directory-as-the-executable +- '-rpath \$$ORIGIN', ++ '-Wl,-rpath=\$$ORIGIN/', + # Make native module dynamic loading work. + '-rdynamic', + ], +@@ -344,10 +341,10 @@ + '-Wno-reserved-user-defined-literal', + ], + 'include_dirs': [ +- 'vendor/breakpad/src', ++ 'breakpad/src', + ], + 'dependencies': [ +- 'vendor/breakpad/breakpad.gyp:breakpad_client', ++ 'breakpad/breakpad.gyp:breakpad_client', + ], + }], # OS=="linux" + ], +diff --git a/common.gypi b/common.gypi +index 7c41c36..97a3d3a 100644 +--- a/common.gypi ++++ b/common.gypi +@@ -17,28 +17,42 @@ + 'node_target_type': 'shared_library', + 'node_install_npm': 'false', + 'node_prefix': '', +- 'node_shared_cares': 'false', +- 'node_shared_http_parser': 'false', +- 'node_shared_libuv': 'false', +- 'node_shared_openssl': 'false', +- 'node_shared_v8': 'true', +- 'node_shared_zlib': 'false', + 'node_tag': '', + 'node_use_dtrace': 'false', + 'node_use_etw': 'false', + 'node_use_mdb': 'false', + 'node_use_openssl': 'true', + 'node_use_perfctr': 'false', +- 'uv_library': 'static_library', +- 'uv_parent_path': 'vendor/node/deps/uv', +- 'uv_use_dtrace': 'false', + 'V8_BASE': '', + 'v8_postmortem_support': 'false', + 'v8_enable_i18n_support': 'false', ++ 'v8_gyp_path': '<(DEPTH)/v8/tools/gyp/v8.gyp', ++ 'v8_libraries': '["v8", "v8_snapshot", "v8_nosnapshot", "v8_external_snapshot", "v8_base", "v8_libbase", "v8_libplatform"]', ++ 'v8_target_type': 'shared_library', ++ 'v8_use_snapshot': 'true', ++ 'v8_use_external_startup_data': 1, + }, + # Settings to compile node under Windows. + 'target_defaults': { + 'target_conditions': [ ++ ['_target_name in <(v8_libraries) + ["node"]', { ++ 'cflags!': [ ++ '-fvisibility=hidden', ++ '-fdata-sections', ++ '-ffunction-sections', ++ ], ++ 'cflags_cc!': [ ++ '-fvisibility-inlines-hidden' ++ ], ++ }], ++ ++ ['_target_name in <(v8_libraries) + ["mksnapshot"]', { ++ 'defines': [ ++ 'V8_SHARED', ++ 'BUILDING_V8_SHARED', ++ ], ++ }], ++ + ['_target_name in ["libuv", "http_parser", "openssl", "cares", "node", "zlib"]', { + 'msvs_disabled_warnings': [ + 4013, # 'free' undefined; assuming extern returning int +diff --git a/filenames.gypi b/filenames.gypi +index abb1145..2330ccf 100644 +--- a/filenames.gypi ++++ b/filenames.gypi +@@ -498,7 +498,6 @@ + 'chromium_src/extensions/browser/app_window/size_constraints.h', + 'chromium_src/extensions/common/url_pattern.cc', + 'chromium_src/extensions/common/url_pattern.h', +- 'chromium_src/library_loaders/libspeechd_loader.cc', + 'chromium_src/library_loaders/libspeechd.h', + 'chromium_src/net/test/embedded_test_server/stream_listen_socket.cc', + 'chromium_src/net/test/embedded_test_server/stream_listen_socket.h', +-- +2.7.3 + diff --git a/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch b/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch new file mode 100644 index 000000000000..168d8db477a9 --- /dev/null +++ b/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch @@ -0,0 +1,75 @@ +From b7022129450eaf2136746f5332956e76848796ef Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus <elvis@magic.io> +Date: Mon, 8 Feb 2016 15:12:12 -0500 +Subject: [PATCH] libchromiumcontent build fixes + +--- + chromiumcontent/chromiumcontent.gyp | 6 +++--- + chromiumcontent/chromiumcontent.gypi | 26 -------------------------- + 2 files changed, 3 insertions(+), 29 deletions(-) + +diff --git a/chromiumcontent/chromiumcontent.gyp b/chromiumcontent/chromiumcontent.gyp +index 52a1d36..db74a52 100644 +--- a/chromiumcontent/chromiumcontent.gyp ++++ b/chromiumcontent/chromiumcontent.gyp +@@ -24,11 +24,11 @@ + }, + { + 'target_name': 'chromiumcontent', +- # Build chromiumcontent as shared_library otherwise some static libraries +- # will not build. +- 'type': 'shared_library', ++ 'type': 'static_library', + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_prefs', ++ '<(DEPTH)/chrome/chrome_resources.gyp:packed_extra_resources', ++ '<(DEPTH)/chrome/chrome_resources.gyp:packed_resources', + '<(DEPTH)/components/components.gyp:cdm_renderer', + '<(DEPTH)/components/components.gyp:devtools_discovery', + '<(DEPTH)/components/components.gyp:devtools_http_handler', +diff --git a/chromiumcontent/chromiumcontent.gypi b/chromiumcontent/chromiumcontent.gypi +index 37c572b..3f4dcea 100644 +--- a/chromiumcontent/chromiumcontent.gypi ++++ b/chromiumcontent/chromiumcontent.gypi +@@ -1,17 +1,5 @@ + { + 'variables': { +- # Enalbe using proprietary codecs. +- 'proprietary_codecs': 1, +- 'ffmpeg_branding': 'Chrome', +- # Enable support for Widevine CDM. +- 'enable_widevine': 1, +- # Using libc++ requires building for >= 10.7. +- 'mac_deployment_target': '10.8', +- # The 10.8 SDK does not work well with C++11. +- 'mac_sdk_min': '10.9', +- # Use the standard way of linking with msvc runtime. +- 'win_use_allocator_shim': 0, +- 'win_release_RuntimeLibrary': '2', + # The V8 libraries. + 'v8_libraries': '["v8", "v8_snapshot", "v8_nosnapshot", "v8_external_snapshot", "v8_base", "v8_libbase", "v8_libplatform"]', + # The icu libraries. +@@ -22,20 +10,6 @@ + 'v8_use_external_startup_data': 1, + }], + ['OS=="linux"', { +- # Enable high DPI support on Linux. +- 'enable_hidpi': 1, +- # Use Dbus. +- 'use_dbus': 1, +- # Make Linux build contain debug symbols, this flag will add '-g' to +- # cflags. +- 'linux_dump_symbols': 1, +- # The Linux build of libchromiumcontent.so depends on, but doesn't +- # provide, tcmalloc by default. Disabling tcmalloc here also prevents +- # any conflicts when linking to binaries or libraries that don't use +- # tcmalloc. +- 'linux_use_tcmalloc': 0, +- # Force using gold linker. +- 'linux_use_bundled_gold': 1, + 'conditions': [ + ['target_arch=="arm"', { + 'arm_version': 7, +-- +2.4.10 + diff --git a/dev-util/electron/files/node-gentoo-build-fixes.patch b/dev-util/electron/files/node-gentoo-build-fixes.patch new file mode 100644 index 000000000000..b19cc3714b2e --- /dev/null +++ b/dev-util/electron/files/node-gentoo-build-fixes.patch @@ -0,0 +1,50 @@ +From 668a003706d57c3e7a460e2fce5d110fe9737a62 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus <elvis@magic.io> +Date: Wed, 10 Feb 2016 14:45:13 -0500 +Subject: [PATCH] Parametrize v8.gyp location + +--- + node.gyp | 5 +++-- + tools/install.py | 3 +++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/node.gyp b/node.gyp +index d431210..fea5e07 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -1,6 +1,7 @@ + { + 'variables': { + 'v8_use_snapshot%': 'false', ++ 'v8_gyp_path%': 'deps/v8/tools/gyp/v8.gyp', + 'node_use_dtrace%': 'false', + 'node_use_lttng%': 'false', + 'node_use_etw%': 'false', +@@ -89,8 +90,8 @@ + 'dependencies': [ + 'node_js2c#host', + 'deps/cares/cares.gyp:cares', +- # 'deps/v8/tools/gyp/v8.gyp:v8', +- # 'deps/v8/tools/gyp/v8.gyp:v8_libplatform' ++ '<(v8_gyp_path):v8', ++ '<(v8_gyp_path):v8_libplatform' + ], + + 'include_dirs': [ +diff --git a/tools/install.py b/tools/install.py +index cb86c65..ee85e33 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -207,6 +207,9 @@ def run(args): + if os.environ.get('HEADERS_ONLY'): + if cmd == 'install': return headers(install) + if cmd == 'uninstall': return headers(uninstall) ++ elif os.environ.get('NPM_ONLY'): ++ if cmd == 'install': return npm_files(install) ++ if cmd == 'uninstall': return npm_files(uninstall) + else: + if cmd == 'install': return files(install) + if cmd == 'uninstall': return files(uninstall) +-- +2.7.3 + |