Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/nodejs: expose capability to compile host library
@ 2021-10-23  5:01 James Hilliard
  2021-12-28 21:58 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: James Hilliard @ 2021-10-23  5:01 UTC (permalink / raw)
  To: buildroot
  Cc: James Hilliard, Linus Kaschulla, Daniel Price, Adam Duskett,
	Martin Bark

From: Linus Kaschulla <linus@cosmos-ink.net>

To use nodejs on the host (independant of the actual system)
to create some static files to place onto the target rootfs
nodejs can be very helpful.

The provided nodejs package didn't show the possibility to
create a host package. But upon further examination I noticed
that the package does it in fact (in the .mk). It specifies
dependencies for the package with the host prefix and also
invokes $(host-generic-package) as well as $(generic-package)
which is the only one assumed from the config.

With this change other packages can require BR2_PACKAGE_HOST_NODEJS
without any problems or the buildsystem not fully knowing about this.
Seems that someone added the capability (as a step for the cross-
compiled nodejs) and didn't notice that this is a handy package by itself.

When installing global npm packages (with -g), the parameter
`--prefix $(HOST_DIR)` can be used to ensure that nodejs doesn't try
to install it onto the real host filesystem.

I already used this change to create static web files from Angular
and place onto a target that doesn't need nodejs itself.

This patch contains fixes based on feedback from:
- Peter Seiderer <ps.report@gmx.net>
- Yann E. MORIN <yann.morin.1998@free.fr>

Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v1 -> v2:
  - move nodejs 14 dependency selection to host package
---
 package/Config.in.host        |  1 +
 package/nodejs/Config.in      |  6 +-----
 package/nodejs/Config.in.host | 13 +++++++++++++
 3 files changed, 15 insertions(+), 5 deletions(-)
 create mode 100644 package/nodejs/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index 6e5a5c5fc5..7400da5894 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -56,6 +56,7 @@ menu "Host utilities"
 	source "package/mtd/Config.in.host"
 	source "package/mtools/Config.in.host"
 	source "package/mxsldr/Config.in.host"
+	source "package/nodejs/Config.in.host"
 	source "package/odb/Config.in.host"
 	source "package/omap-u-boot-utils/Config.in.host"
 	source "package/openocd/Config.in.host"
diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in
index 771f735e97..8a2a6cf91b 100644
--- a/package/nodejs/Config.in
+++ b/package/nodejs/Config.in
@@ -27,11 +27,7 @@ config BR2_PACKAGE_NODEJS
 	# uses dlopen(). On ARMv5, we could technically support static
 	# linking, but that's too much of a corner case to support it.
 	depends on !BR2_STATIC_LIBS
-	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_HOST_NODEJS
 	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
new file mode 100644
index 0000000000..86eaf21dac
--- /dev/null
+++ b/package/nodejs/Config.in.host
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_HOST_NODEJS
+	bool "host nodejs"
+	depends on BR2_HOST_GCC_AT_LEAST_7
+	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.
+
+	  http://nodejs.org/
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH v2 1/1] package/nodejs: expose capability to compile host library
  2021-10-23  5:01 [Buildroot] [PATCH v2 1/1] package/nodejs: expose capability to compile host library James Hilliard
@ 2021-12-28 21:58 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2021-12-28 21:58 UTC (permalink / raw)
  To: James Hilliard
  Cc: Martin Bark, Linus Kaschulla, Daniel Price, Adam Duskett,
	buildroot

On Fri, 22 Oct 2021 23:01:19 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:

> From: Linus Kaschulla <linus@cosmos-ink.net>
> 
> To use nodejs on the host (independant of the actual system)
> to create some static files to place onto the target rootfs
> nodejs can be very helpful.
> 
> The provided nodejs package didn't show the possibility to
> create a host package. But upon further examination I noticed
> that the package does it in fact (in the .mk). It specifies
> dependencies for the package with the host prefix and also
> invokes $(host-generic-package) as well as $(generic-package)
> which is the only one assumed from the config.
> 
> With this change other packages can require BR2_PACKAGE_HOST_NODEJS
> without any problems or the buildsystem not fully knowing about this.
> Seems that someone added the capability (as a step for the cross-
> compiled nodejs) and didn't notice that this is a handy package by itself.
> 
> When installing global npm packages (with -g), the parameter
> `--prefix $(HOST_DIR)` can be used to ensure that nodejs doesn't try
> to install it onto the real host filesystem.
> 
> I already used this change to create static web files from Angular
> and place onto a target that doesn't need nodejs itself.
> 
> This patch contains fixes based on feedback from:
> - Peter Seiderer <ps.report@gmx.net>
> - Yann E. MORIN <yann.morin.1998@free.fr>
> 
> Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> Changes v1 -> v2:
>   - move nodejs 14 dependency selection to host package
> ---
>  package/Config.in.host        |  1 +
>  package/nodejs/Config.in      |  6 +-----
>  package/nodejs/Config.in.host | 13 +++++++++++++
>  3 files changed, 15 insertions(+), 5 deletions(-)
>  create mode 100644 package/nodejs/Config.in.host

I've applied to master, after significantly simplifying the commit log,
which was a bit verbose for no good reason.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-28 21:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-23  5:01 [Buildroot] [PATCH v2 1/1] package/nodejs: expose capability to compile host library James Hilliard
2021-12-28 21:58 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox