Message ID | 20200308032128.306-1-unixmania@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | package/spidermonkey: do not build the JavaScript shell, by default | expand |
Hello Carlos, On Sun, 8 Mar 2020 00:21:28 -0300 unixmania@gmail.com wrote: > From: Carlos Santos <unixmania@gmail.com> > > Add a configuration to enable the JavaScript shell (default off). So > far only libmozjs is required (by polkit) and the shell takes around > 24MiB. > > Signed-off-by: Carlos Santos <unixmania@gmail.com> > --- > ....in-install-shell-only-if-it-s-built.patch | 28 +++++++++++++++++++ > package/spidermonkey/Config.in | 11 ++++++++ > package/spidermonkey/spidermonkey.mk | 1 + > 3 files changed, 40 insertions(+) > create mode 100644 package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch > > diff --git a/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch > new file mode 100644 > index 0000000000..f6092af7ef > --- /dev/null > +++ b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch We already had a 0001 patch, we actually have 10 patches on spidermonkey, so I renamed this one 0011. Has this patch been submitted upstream ? > diff --git a/package/spidermonkey/spidermonkey.mk b/package/spidermonkey/spidermonkey.mk > index 579dc7b864..9bd19b01d1 100644 > --- a/package/spidermonkey/spidermonkey.mk > +++ b/package/spidermonkey/spidermonkey.mk > @@ -30,6 +30,7 @@ SPIDERMONKEY_CONF_OPTS = \ > --host=$(GNU_HOST_NAME) \ > --target=$(GNU_TARGET_NAME) \ > --disable-jemalloc \ > + --$(if $(BR2_PACKAGE_SPIDERMONKEY_JS_SHELL),en,dis)able-js-shell \ That's really not the typical/conventional way of writing that in Buildroot, so I've expanded that into our more verbose, but more standard ifeq .. else .. endif conditional. Then I've applied to master, because I really consider a 24 MB space saving to be a fix :-) Thanks! Thomas
On Sun, Mar 8, 2020 at 10:53 AM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > Hello Carlos, > > On Sun, 8 Mar 2020 00:21:28 -0300 > unixmania@gmail.com wrote: > > > From: Carlos Santos <unixmania@gmail.com> > > > > Add a configuration to enable the JavaScript shell (default off). So > > far only libmozjs is required (by polkit) and the shell takes around > > 24MiB. > > > > Signed-off-by: Carlos Santos <unixmania@gmail.com> > > --- > > ....in-install-shell-only-if-it-s-built.patch | 28 +++++++++++++++++++ > > package/spidermonkey/Config.in | 11 ++++++++ > > package/spidermonkey/spidermonkey.mk | 1 + > > 3 files changed, 40 insertions(+) > > create mode 100644 package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch > > > > diff --git a/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch > > new file mode 100644 > > index 0000000000..f6092af7ef > > --- /dev/null > > +++ b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch > > We already had a 0001 patch, we actually have 10 patches on > spidermonkey, so I renamed this one 0011. Hum, that's the price passing "1" instead of "11" to --start-number. :-( > Has this patch been submitted upstream ? Well, "upstream" is Firefox and I don't believe they would care about an installation error when we compile a code sub-tree taken from a tarball made for Gentoo with an extra patch to force in-tree builds. ;-) If the patch annoys you we can just use a post-install-target hook to remove js60. I didn't follow this approach because I was afraid that not passing --disable-js-shell would lead to the inclusion of code that could cause problem at run time.
Hello Carlos, On Sun, 8 Mar 2020 12:11:41 -0300 Carlos Santos <unixmania@gmail.com> wrote: > > We already had a 0001 patch, we actually have 10 patches on > > spidermonkey, so I renamed this one 0011. > > Hum, that's the price passing "1" instead of "11" to --start-number. :-( Hehe :-) > > > Has this patch been submitted upstream ? > > Well, "upstream" is Firefox and I don't believe they would care about > an installation error when we compile a code sub-tree taken from a > tarball made for Gentoo with an extra patch to force in-tree builds. > ;-) Indeed, there is not really a regular upstream for spidermonkey. Fortunately, there are some patches submitting to polkit to make it use the duktape JS engine instead of spidermonkey, hopefully they will be merged in the near future. > If the patch annoys you we can just use a post-install-target hook to > remove js60. I didn't follow this approach because I was afraid that > not passing --disable-js-shell would lead to the inclusion of code > that could cause problem at run time. Nah, the patch is fine, let's keep it this way. Thanks! Thomas
diff --git a/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch new file mode 100644 index 0000000000..f6092af7ef --- /dev/null +++ b/package/spidermonkey/0001-js-src-Makefile.in-install-shell-only-if-it-s-built.patch @@ -0,0 +1,28 @@ +From b5e4a9926cf50d12e9c5c05c6d1b161e5b662d62 Mon Sep 17 00:00:00 2001 +From: Carlos Santos <unixmania@gmail.com> +Date: Sat, 7 Mar 2020 23:42:02 -0300 +Subject: [PATCH] js/src/Makefile.in: install shell only if it's built + +Prevents an installation error if we configure with --disable-js-shell. + +Signed-off-by: Carlos Santos <unixmania@gmail.com> +--- + js/src/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/Makefile.in b/js/src/Makefile.in +index 4ac9f48..9c8fb64 100644 +--- a/js/src/Makefile.in ++++ b/js/src/Makefile.in +@@ -136,7 +136,7 @@ endif + + install:: + $(MAKE) -C build install +- $(MAKE) -C shell install ++ if [ -d shell ]; then $(MAKE) -C shell install; fi + + ifdef HAVE_DTRACE + javascript-trace.h: $(srcdir)/devtools/javascript-trace.d +-- +2.18.2 + diff --git a/package/spidermonkey/Config.in b/package/spidermonkey/Config.in index 5f12110626..e015e84ad2 100644 --- a/package/spidermonkey/Config.in +++ b/package/spidermonkey/Config.in @@ -37,6 +37,17 @@ config BR2_PACKAGE_SPIDERMONKEY https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey +if BR2_PACKAGE_SPIDERMONKEY + +config BR2_PACKAGE_SPIDERMONKEY_JS_SHELL + bool "JS shell" + help + Build the JavaScript shell. + + WARNING: increases target image size by around 24 MiB. + +endif + comment "spidermonkey needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS diff --git a/package/spidermonkey/spidermonkey.mk b/package/spidermonkey/spidermonkey.mk index 579dc7b864..9bd19b01d1 100644 --- a/package/spidermonkey/spidermonkey.mk +++ b/package/spidermonkey/spidermonkey.mk @@ -30,6 +30,7 @@ SPIDERMONKEY_CONF_OPTS = \ --host=$(GNU_HOST_NAME) \ --target=$(GNU_TARGET_NAME) \ --disable-jemalloc \ + --$(if $(BR2_PACKAGE_SPIDERMONKEY_JS_SHELL),en,dis)able-js-shell \ --enable-shared-js \ --with-system-zlib \ --with-system-nspr \