diff options
Diffstat (limited to 'pkgs/development/web/nodejs/configure-emulator-node18.patch')
| -rw-r--r-- | pkgs/development/web/nodejs/configure-emulator-node18.patch | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/pkgs/development/web/nodejs/configure-emulator-node18.patch b/pkgs/development/web/nodejs/configure-emulator-node18.patch deleted file mode 100644 index f7faddb7e005..000000000000 --- a/pkgs/development/web/nodejs/configure-emulator-node18.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 4b83f714c821d6d4d2306673ee3a87907cfec80e Mon Sep 17 00:00:00 2001 -From: Ivan Trubach <mr.trubach@icloud.com> -Date: Fri, 19 Jul 2024 10:45:13 +0300 -Subject: [PATCH] build: support setting an emulator from configure script -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -V8’s JIT infrastructure requires binaries such as mksnapshot to be run -during the build. However, these binaries must have the same bit-width -as the host platform (e.g. a x86_64 build platform targeting ARMv6 needs -to produce a 32-bit binary). - -To work around this issue, allow building the binaries for the host -platform and running them on the build platform with an emulator. - -Based on Buildroot’s nodejs-src 0001-add-qemu-wrapper-support.patch. -https://gitlab.com/buildroot.org/buildroot/-/blob/c1d5eada4d4db9eeaa1c44dd1dea95a67c8a70ca/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch - -Upstream: https://github.com/nodejs/node/pull/53899 ---- - common.gypi | 1 + - configure.py | 14 ++++++++++++++ - node.gyp | 3 +++ - tools/v8_gypfiles/v8.gyp | 4 ++++ - 4 files changed, 22 insertions(+) - -diff --git a/common.gypi b/common.gypi -index ec92c9df4c..6474495ab6 100644 ---- a/common.gypi -+++ b/common.gypi -@@ -13,6 +13,7 @@ - 'enable_pgo_generate%': '0', - 'enable_pgo_use%': '0', - 'python%': 'python', -+ 'emulator%': [], - - 'node_shared%': 'false', - 'force_dynamic_crt%': 0, -diff --git a/configure.py b/configure.py -index 82916748fd..10dc0becbb 100755 ---- a/configure.py -+++ b/configure.py -@@ -112,6 +112,12 @@ parser.add_argument('--dest-cpu', - choices=valid_arch, - help=f"CPU architecture to build for ({', '.join(valid_arch)})") - -+parser.add_argument('--emulator', -+ action='store', -+ dest='emulator', -+ default=None, -+ help='emulator command that can run executables built for the target system') -+ - parser.add_argument('--cross-compiling', - action='store_true', - dest='cross_compiling', -@@ -2160,6 +2166,14 @@ write('config.mk', do_not_edit + config_str) - gyp_args = ['--no-parallel', '-Dconfiguring_node=1'] - gyp_args += ['-Dbuild_type=' + config['BUILDTYPE']] - -+if options.emulator is not None: -+ if not options.cross_compiling: -+ # Note that emulator is a list so we have to quote the variable. -+ gyp_args += ['-Demulator=' + shlex.quote(options.emulator)] -+ else: -+ # TODO: perhaps use emulator for tests? -+ warn('The `--emulator` option has no effect when cross-compiling.') -+ - if options.use_ninja: - gyp_args += ['-f', 'ninja-' + flavor] - elif flavor == 'win' and sys.platform != 'msys': -diff --git a/node.gyp b/node.gyp -index 08cb3f38e8..515b305933 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -332,6 +332,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', - ], - 'action': [ -+ '<@(emulator)', - '<(node_mksnapshot_exec)', - '--build-snapshot', - '<(node_snapshot_main)', -@@ -351,6 +352,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', - ], - 'action': [ -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], -@@ -1520,6 +1522,7 @@ - '<(PRODUCT_DIR)/<(node_core_target_name).def', - ], - 'action': [ -+ '<@(emulator)', - '<(PRODUCT_DIR)/gen_node_def.exe', - '<@(_inputs)', - '<@(_outputs)', -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index ba8b161f0f..d5c90dad50 100644 ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -99,6 +99,7 @@ - '<@(torque_outputs_inc)', - ], - 'action': [ -+ '<@(emulator)', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', - '-v8-root', '<(V8_ROOT)', -@@ -219,6 +220,7 @@ - 'action': [ - '<(python)', - '<(V8_ROOT)/tools/run.py', -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], -@@ -442,6 +444,7 @@ - }], - ], - 'action': [ -+ '<@(emulator)', - '>@(_inputs)', - '>@(mksnapshot_flags)', - ], -@@ -1577,6 +1580,7 @@ - 'action': [ - '<(python)', - '<(V8_ROOT)/tools/run.py', -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], --- -2.44.1 - |
