diff --git a/srcpkgs/chromium/patches/chromium-enable-vaapi.patch b/srcpkgs/chromium/patches/chromium-enable-vaapi.patch index 881208a3065..d1cb7b4be59 100644 --- a/srcpkgs/chromium/patches/chromium-enable-vaapi.patch +++ b/srcpkgs/chromium/patches/chromium-enable-vaapi.patch @@ -1,7 +1,6 @@ -diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/about_flags.cc ---- chrome/browser/about_flags.cc.orig 2019-06-18 11:47:49.000000000 -0400 -+++ chrome/browser/about_flags.cc 2019-07-02 12:25:40.601434149 -0400 -@@ -1053,12 +1053,14 @@ +--- chrome/browser/about_flags.cc.orig 2019-07-29 16:35:46.000000000 -0400 ++++ chrome/browser/about_flags.cc 2019-07-31 13:54:18.350186083 -0400 +@@ -1119,12 +1119,14 @@ {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName, flag_descriptions::kUiPartialSwapDescription, kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, @@ -16,9 +15,9 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou #if !defined(OS_ANDROID) {"enable-reader-mode", flag_descriptions::kEnableReaderModeName, flag_descriptions::kEnableReaderModeDescription, kOsDesktop, -@@ -1386,6 +1388,13 @@ - flag_descriptions::kMojoImfDescription, kOsCrOS, - FEATURE_VALUE_TYPE(features::kMojoIMF)}, +@@ -1446,6 +1448,13 @@ + flag_descriptions::kEnableVirtualDesksDescription, kOsCrOS, + FEATURE_VALUE_TYPE(ash::features::kVirtualDesks)}, #endif // OS_CHROMEOS +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) + { @@ -30,15 +29,15 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -1393,6 +1402,7 @@ +@@ -1453,6 +1462,7 @@ kOsMac | kOsWin | kOsCrOS | kOsAndroid, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, +#endif - #if defined(OS_WIN) - {"enable-hdr", flag_descriptions::kEnableHDRName, - flag_descriptions::kEnableHDRDescription, kOsWin, -@@ -1882,12 +1892,17 @@ + {"enable-history-favicons-google-server-query", + flag_descriptions::kEnableHistoryFaviconsGoogleServerQueryName, + flag_descriptions::kEnableHistoryFaviconsGoogleServerQueryDescription, +@@ -1883,7 +1892,12 @@ FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, #endif // ENABLE_ISOLATED_XR_SERVICE #endif // ENABLE_VR @@ -52,18 +51,10 @@ diff -ur chrome/browser/about_flags.cc chromium-69.0.3497.92/chrome/browser/abou {"disable-accelerated-mjpeg-decode", flag_descriptions::kAcceleratedMjpegDecodeName, flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -Only in chrome/browser: about_flags.cc.orig -diff -ur chrome/browser/chromeos/login/chrome_restart_request.cc chromium-69.0.3497.92/chrome/browser/chromeos/login/chrome_restart_request.cc ---- chrome/browser/chromeos/login/chrome_restart_request.cc 2018-09-12 00:39:23.000000000 +0530 -+++ chrome/browser/chromeos/login/chrome_restart_request.cc 2018-09-13 22:10:33.986014728 +0530 -@@ -19,6 +19,7 @@ - #include "base/sys_info.h" +--- chrome/browser/chromeos/login/chrome_restart_request.cc.orig 2019-07-29 16:35:47.000000000 -0400 ++++ chrome/browser/chromeos/login/chrome_restart_request.cc 2019-07-31 13:58:47.201085960 -0400 +@@ -20,6 +20,7 @@ + #include "base/system/sys_info.h" #include "base/timer/timer.h" #include "base/values.h" +#include "build/build_config.h" @@ -71,9 +62,9 @@ diff -ur chrome/browser/chromeos/login/chrome_restart_request.cc chromium-69.0.3 #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/boot_times_recorder.h" @@ -84,9 +85,14 @@ + ::switches::kBlinkSettings, ::switches::kDisable2dCanvasImageChromium, ::switches::kDisableAccelerated2dCanvas, - ::switches::kDisableAcceleratedJpegDecoding, +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) + ::switches::kEnableAcceleratedMjpegDecode, + ::switches::kEnableAcceleratedVideo, @@ -83,9 +74,9 @@ diff -ur chrome/browser/chromeos/login/chrome_restart_request.cc chromium-69.0.3 ::switches::kDisableAcceleratedVideoEncode, +#endif ::switches::kDisableBlinkFeatures, - ::switches::kDisableCastStreamingHWEncoding, ::switches::kDisableGpu, -@@ -160,8 +166,10 @@ + ::switches::kDisableGpuMemoryBufferVideoFrames, +@@ -158,8 +164,10 @@ ::switches::kEnableWebGLImageChromium, ::switches::kEnableWebVR, ::switches::kEnableUnsafeWebGPU, @@ -197,19 +188,18 @@ diff -ur content/browser/gpu/compositor_util.cc chromium-69.0.3497.92/content/br "Accelerated video decode has been disabled, either via blacklist, " "about:flags or the command line.", true, true}, -diff -ur content/browser/gpu/gpu_process_host.cc chromium-69.0.3497.92/content/browser/gpu/gpu_process_host.cc ---- content/browser/gpu/gpu_process_host.cc 2018-09-12 00:39:41.000000000 +0530 -+++ content/browser/gpu/gpu_process_host.cc 2018-09-13 22:10:34.113010836 +0530 -@@ -209,7 +209,9 @@ +--- content/browser/gpu/gpu_process_host.cc.orig 2019-07-31 14:16:52.304849119 -0400 ++++ content/browser/gpu/gpu_process_host.cc 2019-07-31 14:19:22.567480008 -0400 +@@ -208,7 +208,9 @@ switches::kDisableLogging, switches::kDisableShaderNameHashing, switches::kDisableSkiaRuntimeOpts, +#if !defined(OS_LINUX) switches::kDisableWebRtcHWEncoding, +#endif - #if defined(OS_WIN) - switches::kEnableAcceleratedVpxDecode, - #endif + switches::kEnableGpuRasterization, + switches::kEnableLogging, + switches::kEnableVizDevTools, diff -ur content/browser/renderer_host/media/video_capture_browsertest.cc chromium-69.0.3497.92/content/browser/renderer_host/media/video_capture_browsertest.cc --- content/browser/renderer_host/media/video_capture_browsertest.cc 2018-09-12 00:39:41.000000000 +0530 +++ content/browser/renderer_host/media/video_capture_browsertest.cc 2018-09-13 22:10:34.124010499 +0530 @@ -227,13 +217,12 @@ diff -ur content/browser/renderer_host/media/video_capture_browsertest.cc chromi } } -diff -ur content/browser/renderer_host/render_process_host_impl.cc chromium-69.0.3497.92/content/browser/renderer_host/render_process_host_impl.cc ---- content/browser/renderer_host/render_process_host_impl.cc 2019-05-14 14:50:24.000000000 -0400 -+++ content/browser/renderer_host/render_process_host_impl.cc 2019-07-02 09:42:59.280570734 -0400 -@@ -2953,7 +2953,11 @@ +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2019-07-29 16:36:09.000000000 -0400 ++++ content/browser/renderer_host/render_process_host_impl.cc 2019-07-31 14:04:18.859680348 -0400 +@@ -2937,7 +2937,11 @@ switches::kDefaultTileHeight, switches::kDisable2dCanvasImageChromium, - switches::kDisableAcceleratedJpegDecoding, + switches::kDisableYUVImageDecoding, +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) + switches::kEnableAcceleratedVideo, +#else @@ -242,7 +231,7 @@ diff -ur content/browser/renderer_host/render_process_host_impl.cc chromium-69.0 switches::kDisableBackgroundTimerThrottling, switches::kDisableBestEffortTasks, switches::kDisableBreakpad, -@@ -3091,8 +3095,10 @@ +@@ -3077,8 +3081,10 @@ #if BUILDFLAG(ENABLE_PLUGINS) switches::kEnablePepperTesting, #endif @@ -253,7 +242,6 @@ diff -ur content/browser/renderer_host/render_process_host_impl.cc chromium-69.0 switches::kEnableWebRtcSrtpAesGcm, switches::kEnableWebRtcSrtpEncryptedHeaders, switches::kEnableWebRtcStunOrigin, -Only in content/browser/renderer_host: render_process_host_impl.cc.orig diff -ur content/browser/utility_process_host.cc chromium-69.0.3497.92/content/browser/utility_process_host.cc --- content/browser/utility_process_host.cc 2018-09-12 00:39:41.000000000 +0530 +++ content/browser/utility_process_host.cc 2018-09-13 22:10:34.296005227 +0530 @@ -488,10 +476,9 @@ diff -ur media/base/media_switches.h chromium-69.0.3497.92/media/base/media_swit MEDIA_EXPORT extern const char kRequireAudioHardwareForTesting[]; MEDIA_EXPORT extern const char kMuteAudio[]; -diff -ur media/gpu/BUILD.gn chromium-69.0.3497.92/media/gpu/BUILD.gn ---- media/gpu/BUILD.gn 2018-09-12 00:39:48.000000000 +0530 -+++ media/gpu/BUILD.gn 2018-09-13 22:10:34.210007863 +0530 -@@ -508,6 +508,14 @@ +--- media/gpu/BUILD.gn.orig 2019-07-29 16:36:19.000000000 -0400 ++++ media/gpu/BUILD.gn 2019-07-31 14:09:28.093032826 -0400 +@@ -495,6 +495,14 @@ } } @@ -503,10 +490,10 @@ diff -ur media/gpu/BUILD.gn chromium-69.0.3497.92/media/gpu/BUILD.gn + } +} + - if (use_v4l2_codec || use_vaapi) { - test("jpeg_encode_accelerator_unittest") { + if (use_v4l2_codec || use_vaapi || is_mac || is_win) { + test("video_encode_accelerator_unittest") { deps = [ -@@ -559,6 +567,10 @@ +@@ -525,6 +533,10 @@ if (use_ozone) { deps += [ "//ui/ozone" ] } diff --git a/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch b/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch deleted file mode 100644 index d4b5d4815be..00000000000 --- a/srcpkgs/chromium/patches/chromium-fix-window-flash-for-some-WMs.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 90e226ba50c98b5e60f74f9dce998b17117f9051 Mon Sep 17 00:00:00 2001 -From: Peng Huang -Date: Tue, 7 May 2019 13:16:21 +0000 -Subject: [PATCH] Fix window flash for some WMs - -Bug: 956061 -Change-Id: I0d8d196395e70006a8fdc770f1e4a5ba6f93dd57 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597388 -Commit-Queue: Peng Huang -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#657215} ---- - ui/gl/BUILD.gn | 5 ++++- - ui/gl/gl_surface_glx.cc | 41 ++++++++++++++++++++++++++++------------- - 2 files changed, 32 insertions(+), 14 deletions(-) - -diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn -index 50df0e4085..1753dd480b 100644 ---- ui/gl/BUILD.gn -+++ ui/gl/BUILD.gn -@@ -274,7 +274,10 @@ jumbo_component("gl") { - "//build/config/linux:xext", - ] - -- deps += [ "//ui/gfx/x" ] -+ deps += [ -+ "//ui/base/x", -+ "//ui/gfx/x", -+ ] - } - if (is_win) { - sources += [ -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f4c13bed18..777bf767cb 100644 ---- ui/gl/gl_surface_glx.cc -+++ ui/gl/gl_surface_glx.cc -@@ -21,6 +21,7 @@ - #include "base/time/time.h" - #include "base/trace_event/trace_event.h" - #include "build/build_config.h" -+#include "ui/base/x/x11_util.h" - #include "ui/events/platform/platform_event_source.h" - #include "ui/gfx/x/x11.h" - #include "ui/gfx/x/x11_connection.h" -@@ -431,7 +432,9 @@ bool GLSurfaceGLX::InitializeOneOff() { - } - - const XVisualInfo& visual_info = -- gl::GLVisualPickerGLX::GetInstance()->rgba_visual(); -+ ui::IsCompositingManagerPresent() -+ ? gl::GLVisualPickerGLX::GetInstance()->rgba_visual() -+ : gl::GLVisualPickerGLX::GetInstance()->system_visual(); - g_visual = visual_info.visual; - g_depth = visual_info.depth; - g_colormap = -@@ -581,18 +584,30 @@ bool NativeViewGLSurfaceGLX::Initialize(GLSurfaceFormat format) { - } - size_ = gfx::Size(attributes.width, attributes.height); - -- XSetWindowAttributes swa; -- memset(&swa, 0, sizeof(swa)); -- swa.background_pixmap = 0; -- swa.bit_gravity = NorthWestGravity; -- swa.colormap = g_colormap; -- swa.background_pixel = 0; -- swa.border_pixel = 0; -- window_ = XCreateWindow( -- gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, size_.width(), -- size_.height(), 0 /* border_width */, g_depth, InputOutput, g_visual, -- CWBackPixmap | CWBitGravity | CWColormap | CWBackPixel | CWBorderPixel, -- &swa); -+ XSetWindowAttributes swa = { -+ .background_pixmap = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, -+ .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM -+ .border_pixel = 0, -+ }; -+ auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; -+ if (ui::IsCompositingManagerPresent() && -+ XVisualIDFromVisual(attributes.visual) == XVisualIDFromVisual(g_visual)) { -+ // When parent and child are using the same visual, the back buffer will be -+ // shared between parent and child. If WM compositing is enabled, we set -+ // child's background pixel to ARGB(0,0,0,0), so ARGB(0,0,0,0) will be -+ // filled to the shared buffer, when the child window is mapped. It can -+ // avoid an annoying flash when the child window is mapped below. -+ // If WM compositing is disabled, we don't set the background pixel, so -+ // nothing will be draw when the child window is mapped. -+ value_mask |= CWBackPixel; -+ } -+ -+ window_ = -+ XCreateWindow(gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, -+ size_.width(), size_.height(), 0 /* border_width */, -+ g_depth, InputOutput, g_visual, value_mask, &swa); - if (!window_) { - LOG(ERROR) << "XCreateWindow failed"; - return false; diff --git a/srcpkgs/chromium/patches/chromium-non-const-deltas.patch b/srcpkgs/chromium/patches/chromium-non-const-deltas.patch deleted file mode 100644 index 58bfc8994ad..00000000000 --- a/srcpkgs/chromium/patches/chromium-non-const-deltas.patch +++ /dev/null @@ -1,21 +0,0 @@ -Bug: https://bugs.gentoo.org/686982 - -TabStripModelChange has a defaulted default constructor and a const data member -without a user-defined default constructor. This leads to a bug: - -error: defaulting this default constructor would delete it after -its first declaration - -We declare the data member as non-const instead. - ---- chrome/browser/ui/tabs/tab_strip_model_observer.h -+++ chrome/browser/ui/tabs/tab_strip_model_observer.h -@@ -103,7 +103,7 @@ class TabStripModelChange { - - private: - const Type type_ = kSelectionOnly; -- const std::vector deltas_; -+ std::vector deltas_; - - DISALLOW_COPY_AND_ASSIGN(TabStripModelChange); - }; diff --git a/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch b/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch deleted file mode 100644 index 2fca45361a2..00000000000 --- a/srcpkgs/chromium/patches/disallow-partial-swaps-for-linux-based-on-gl_version.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e6a0cdf0b7045e7f9029cce287bcc539052ef79a Mon Sep 17 00:00:00 2001 -From: Jonathan Backer -Date: Mon, 17 Jun 2019 16:46:37 +0000 -Subject: [PATCH] Disallow partial swaps for linux based on gl_version_string - -This was missed in https://chromium-review.googlesource.com/c/chromium/src/+/1601182 - -Bug: 973216,941670,957541,948640 -Change-Id: I3d2002c38fe09d87c9a3db951dfc2ab112319caf -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1662528 -Reviewed-by: Peng Huang -Commit-Queue: Peng Huang -Commit-Queue: Jonathan Backer -Auto-Submit: Jonathan Backer -Cr-Commit-Position: refs/heads/master@{#669701} ---- - gpu/config/gpu_driver_bug_list.json | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json -index 591a0642e8..e4a123ccd0 100644 ---- gpu/config/gpu_driver_bug_list.json -+++ gpu/config/gpu_driver_bug_list.json -@@ -1865,10 +1865,6 @@ - }, - "gl_type": "gl", - "gl_version_string": ".*Mesa.*", -- "direct_rendering_version": { -- "op" : "<", -- "value": "2.3" -- }, - "features": [ - "disable_post_sub_buffers_for_onscreen_surfaces" - ] diff --git a/srcpkgs/chromium/patches/ffmpeg-i686.patch b/srcpkgs/chromium/patches/ffmpeg-i686.patch index 4f4f2bb9806..377115b3485 100644 --- a/srcpkgs/chromium/patches/ffmpeg-i686.patch +++ b/srcpkgs/chromium/patches/ffmpeg-i686.patch @@ -1,16 +1,15 @@ ---- third_party/ffmpeg/BUILD.gn.orig -+++ third_party/ffmpeg/BUILD.gn -@@ -239,11 +239,7 @@ target(link_target_type, "ffmpeg_internal") { +--- third_party/ffmpeg/BUILD.gn.orig 2019-07-31 14:40:04.405966498 -0400 ++++ third_party/ffmpeg/BUILD.gn 2019-07-31 14:42:20.169442812 -0400 +@@ -264,11 +264,7 @@ # Windows builds can't compile without EBP because we can't omit frame # pointers like we do on posix. - if (target_cpu == "x86") { -- if (using_sanitizer || is_win) { + if (current_cpu == "x86") { +- if (using_sanitizer || is_win || use_lld) { - defines += [ "HAVE_EBP_AVAILABLE=0" ] - } else { - defines += [ "HAVE_EBP_AVAILABLE=1" ] - } + defines += [ "HAVE_EBP_AVAILABLE=0" ] - } - if (is_posix || is_fuchsia) { - + # Despite the name, this isn't fixing any bugs with the linker. It's just + # preventing ffmpeg from silently emitting text relocations. See discussion diff --git a/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch b/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch deleted file mode 100644 index 0750b71f00b..00000000000 --- a/srcpkgs/chromium/patches/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Apr 2019 20:07:05 +0000 -Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -CompositorFrameReportingController is using DCHECK_NE to compare -several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr -does not have an ostream operator. - -Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292 -Reviewed-by: Sunny Sachanandani -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#654570} ---- - cc/scheduler/compositor_frame_reporting_controller.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc -index f1587ed158..1b17021fd2 100644 ---- cc/scheduler/compositor_frame_reporting_controller.cc -+++ cc/scheduler/compositor_frame_reporting_controller.cc -@@ -31,8 +31,8 @@ void CompositorFrameReportingController::WillBeginImplFrame() { - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index e861ce3a19f..b8ad4a9012d 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,15 +1,15 @@ # Template file for 'chromium' pkgname=chromium # See http://www.chromium.org/developers/calendar for the latest version -version=75.0.3770.100 -revision=2 +version=76.0.3809.87 +revision=1 archs="i686 x86_64*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" maintainer="Rasmus Thomsen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=9e1360101b6d9f9635e540db77626e3e15b452f413d8750518244ac37b73fca0 +checksum=215ca6acee7b4fd3c95fe796260af4dc5454dbba3b701aa43afeb98a06dc4194 lib32disabled=yes nodebug=yes @@ -58,7 +58,7 @@ post_extract() { # Use the file at run time instead of effectively compiling it in sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ - -i device/usb/BUILD.gn + -i services/device/public/cpp/usb/BUILD.gn # use system nodejs mkdir -p third_party/node/linux/node-linux-x64/bin