[Buildroot] [PATCH 1/2] package/uglifyjs: new package
Alexis Lothoré via buildroot <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <[email protected]> |
uglifyjs is a JavaScript parser, minifier, compressor and beautifier toolkit. https://github.com/mishoo/UglifyJS Signed-off-by: Alexis Lothoré <[email protected]> --- DEVELOPERS | 1 + package/Config.in.host | 1 + package/uglifyjs/Config.in.host | 7 +++++++ package/uglifyjs/uglifyjs.hash | 3 +++ package/uglifyjs/uglifyjs.mk | 23 ++++++++++++++++++++++ support/testing/tests/package/test_uglifyjs.py | 23 ++++++++++++++++++++++ .../tests/package/test_uglifyjs/sample_uglifyjs.js | 5 +++++ 7 files changed, 63 insertions(+) diff --git a/DEVELOPERS b/DEVELOPERS index 56dd9f3943d1..3027d1310528 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -158,6 +158,7 @@ N: Alexis Lothoré <[email protected]> F: package/libxmlsec1/ F: package/openscap/ F: package/python-scp/ +F: package/uglifyjs/ N: Alistair Francis <[email protected]> F: board/sifive/ diff --git a/package/Config.in.host b/package/Config.in.host index 595caf9e7fea..0e4e29cd3514 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -127,6 +127,7 @@ menu "Host utilities" source "package/tipidee/Config.in.host" source "package/uboot-tools/Config.in.host" source "package/ugetty/Config.in.host" + source "package/uglifyjs/Config.in.host" source "package/util-linux/Config.in.host" source "package/utp_com/Config.in.host" source "package/uuu/Config.in.host" diff --git a/package/uglifyjs/Config.in.host b/package/uglifyjs/Config.in.host new file mode 100644 index 000000000000..51a31634c4ec --- /dev/null +++ b/package/uglifyjs/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_UGLIFYJS + bool "host uglifyjs" + help + uglifyjs is a javascript parser, minifier compressor and + beautifier toolkit + + https://github.com/mishoo/UglifyJS/ diff --git a/package/uglifyjs/uglifyjs.hash b/package/uglifyjs/uglifyjs.hash new file mode 100644 index 000000000000..b403fdd960e1 --- /dev/null +++ b/package/uglifyjs/uglifyjs.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 6988b64d4169c150ce46b8ae6e2c369aa82b1d67adc755236abf972c38857737 uglifyjs-3.19.3.tar.gz +sha256 422ee8d0b531a3e3c3c730b4dbd6f590ff786853897b9992888e34fcdacbe526 LICENSE diff --git a/package/uglifyjs/uglifyjs.mk b/package/uglifyjs/uglifyjs.mk new file mode 100644 index 000000000000..921d4dffee8e --- /dev/null +++ b/package/uglifyjs/uglifyjs.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# uglifyjs +# +################################################################################ + +UGLIFYJS_VERSION = 3.19.3 +UGLIFYJS_SITE = $(call github,mishoo,UglifyJS,v$(UGLIFYJS_VERSION)) +UGLIFYJS_LICENSE = BSD-2-Clause +UGLIFYJS_LICENSE_FILES = LICENSE +HOST_UGLIFYJS_DEPENDENCIES = host-nodejs + +define HOST_UGLIFYJS_INSTALL_CMDS + $(INSTALL) -m 0755 -d $(HOST_DIR)/lib/node_modules/uglify-js + rsync -a $(@D)/bin $(HOST_DIR)/lib/node_modules/uglify-js/ + rsync -a $(@D)/lib $(HOST_DIR)/lib/node_modules/uglify-js/ + rsync -a $(@D)/tools $(HOST_DIR)/lib/node_modules/uglify-js/ + $(INSTALL) -m 0755 $(@D)/package.json $(HOST_DIR)/lib/node_modules/uglify-js/ + ln -sf ../lib/node_modules/uglify-js/bin/uglifyjs $(HOST_DIR)/bin/uglifyjs + +endef + +$(eval $(host-generic-package)) diff --git a/support/testing/tests/package/test_uglifyjs.py b/support/testing/tests/package/test_uglifyjs.py new file mode 100644 index 000000000000..666a5fb46ff1 --- /dev/null +++ b/support/testing/tests/package/test_uglifyjs.py @@ -0,0 +1,23 @@ +import os +import infra +from pathlib import Path + +from infra.basetest import BRTest + +INPUT_SAMPLE = Path(__file__).parent / "test_uglifyjs/sample_uglifyjs.js" + + +class TestHostUglifyJS(BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_HOST_UGLIFYJS=y + """ + + def test_run(self): + uglifyjs_bin = os.path.join(self.builddir, "host", "bin", "uglifyjs") + + cmd = [uglifyjs_bin, "--help"] + infra.run_cmd_on_host(self.builddir, cmd) + + cmd = [uglifyjs_bin, INPUT_SAMPLE, "-o", "output.js", "-c", "-m"] + infra.run_cmd_on_host(self.builddir, cmd) diff --git a/support/testing/tests/package/test_uglifyjs/sample_uglifyjs.js b/support/testing/tests/package/test_uglifyjs/sample_uglifyjs.js new file mode 100644 index 000000000000..f393c3d35d99 --- /dev/null +++ b/support/testing/tests/package/test_uglifyjs/sample_uglifyjs.js @@ -0,0 +1,5 @@ +function addNumbers(firstNumber, secondNumber) { + var totalResult = firstNumber + secondNumber; + console.log("The total is: " + totalResult); + return totalResult; +} -- 2.55.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot