From a88ba1548a50d5599e0156d66063dd71545f910b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 25 Sep 2022 19:19:29 +0200 Subject: [PATCH] package/nodejs: fixup qemu dependencies Commit 1facb09b94bf806b301868539185c0ff9ddffee2 ("package/nodejs: build host-nodejs only if we're installing modules with NPM") forgot to account for the dependency on Qemu. Now that nodejs no longer depends on host-nodejs, but needs host-qemu, we need to make sure that nodejs selects the relevant BR2_PACKAGE_HOST_QEMU options. So this patch: - Drops the dependency of BR2_PACKAGE_NODEJS_ARCH_SUPPORTS on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET, which was incorrect: we don't care about running Qemu on the target. We care about host-qemu supporting the emulation of the target architecture, which is what BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS is for. - Adds the dependency to the relevant BR2_PACKAGE_HOST_QEMU options to BR2_PACKAGE_NODEJS, so that host-qemu is built with the appropriate features needed to build the target nodejs. - Removes the qemu related dependencies from host-nodejs, which does not need Qemu at all. Without this change the build of nodejs without npm enabled is broken as the host-qemu that gets built does not have all the features that are needed. There are no autobuild failures at this point, however. Signed-off-by: Thomas Petazzoni Signed-off-by: Yann E. MORIN --- package/nodejs/Config.in | 4 +++- package/nodejs/Config.in.host | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index 8d0bd8fd60..5375dfeacd 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS default y if BR2_aarch64 || BR2_i386 || BR2_x86_64 # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET + depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8" depends on BR2_USE_MMU @@ -31,6 +31,8 @@ config BR2_PACKAGE_NODEJS select BR2_PACKAGE_HOST_PYTHON3 select BR2_PACKAGE_HOST_PYTHON3_BZIP2 select BR2_PACKAGE_HOST_PYTHON3_SSL + select BR2_PACKAGE_HOST_QEMU + select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBUV select BR2_PACKAGE_ZLIB diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host index 4ceaf0c73e..f7f2b80a9b 100644 --- a/package/nodejs/Config.in.host +++ b/package/nodejs/Config.in.host @@ -1,12 +1,9 @@ config BR2_PACKAGE_HOST_NODEJS bool "host nodejs" - depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS depends on BR2_HOST_GCC_AT_LEAST_8 select BR2_PACKAGE_HOST_PYTHON3 select BR2_PACKAGE_HOST_PYTHON3_BZIP2 select BR2_PACKAGE_HOST_PYTHON3_SSL - select BR2_PACKAGE_HOST_QEMU - select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE help Event-driven I/O server-side JavaScript environment based on V8. @@ -14,5 +11,4 @@ config BR2_PACKAGE_HOST_NODEJS http://nodejs.org/ comment "host nodejs needs a host gcc >= 8" - depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS depends on !BR2_HOST_GCC_AT_LEAST_8