mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump node in DEPS to v22.18.0 * crypto: fix inclusion of OPENSSL_IS_BORINGSSL define https://github.com/nodejs/node/pull/58845 * crypto: fix SHAKE128/256 breaking change introduced with OpenSSL 3.4 https://github.com/nodejs/node/pull/58960 * permission: propagate permission model flags on spawn https://github.com/nodejs/node/pull/58853 * esm: syncify default path of ModuleLoader\.load https://github.com/nodejs/node/pull/57419 * src: remove fast API for InternalModuleStat https://github.com/nodejs/node/pull/58489 * src: simplify adding fast APIs to ExternalReferenceRegistry https://github.com/nodejs/node/pull/58896/ * chore: fixup patch indices * src: fix internalModuleStat v8 fast path https://github.com/nodejs/node/pull/58054 * test: add tests to ensure that node.1 is kept in sync with cli.md https://github.com/nodejs/node/pull/58878 * crypto: fix SHAKE128/256 breaking change introduced with OpenSSL 3.4 https://github.com/nodejs/node/pull/58942 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
67 lines
2.1 KiB
Diff
67 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Sun, 17 Nov 2024 22:33:19 +0100
|
|
Subject: build: allow unbundling of Node.js dependencies
|
|
|
|
Linux distributions have guidelines on using distro-provided dependencies,
|
|
rather than compiling them in statically.
|
|
|
|
This PR this enables downstream packagers to unbundle these dependencies.
|
|
We don't need to do this for zlib, as the existing gn workflow uses the same
|
|
//third_party/zlib, so unbundling zlib with Chromium tools in
|
|
//build/linux/unbundle works already. This adds support for some of the others.
|
|
|
|
Upstreamed at https://github.com/nodejs/node/pull/55903
|
|
|
|
diff --git a/unofficial.gni b/unofficial.gni
|
|
index 26ebc811272ef2990f8d090c54e7f5294aab9d37..8886f2a79ae77614789d6ae0defd4f18fc756456 100644
|
|
--- a/unofficial.gni
|
|
+++ b/unofficial.gni
|
|
@@ -160,7 +160,6 @@ template("node_gn_build") {
|
|
":run_node_js2c",
|
|
"deps/cares",
|
|
"deps/histogram",
|
|
- "deps/llhttp",
|
|
"deps/nbytes",
|
|
"deps/nghttp2",
|
|
"deps/postject",
|
|
@@ -198,7 +197,17 @@ template("node_gn_build") {
|
|
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
|
configs += [ "//build/config/gcc:symbol_visibility_default" ]
|
|
}
|
|
-
|
|
+ if (use_system_llhttp) {
|
|
+ libs += [ "llhttp" ]
|
|
+ } else {
|
|
+ deps += [ "deps/llhttp" ]
|
|
+ }
|
|
+ if (use_system_histogram) {
|
|
+ libs += [ "hdr_histogram" ]
|
|
+ include_dirs += [ "/usr/include/hdr" ]
|
|
+ } else {
|
|
+ deps += [ "deps/histogram" ]
|
|
+ }
|
|
if (v8_enable_i18n_support) {
|
|
deps += [ "//third_party/icu" ]
|
|
}
|
|
@@ -231,6 +240,19 @@ template("node_gn_build") {
|
|
sources += node_inspector.node_inspector_sources +
|
|
node_inspector.node_inspector_generated_sources
|
|
}
|
|
+ if (is_linux) {
|
|
+ import("//build/config/linux/pkg_config.gni")
|
|
+ if (use_system_cares) {
|
|
+ pkg_config("cares") {
|
|
+ packages = [ "libcares" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_nghttp2) {
|
|
+ pkg_config("nghttp2") {
|
|
+ packages = [ "libnghttp2" ]
|
|
+ }
|
|
+ }
|
|
+ }
|
|
}
|
|
|
|
config("zstd_include_config") {
|