duktape: new package
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Wed, 5 Sep 2018 18:23:20 +0000 (20:23 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 5 Sep 2018 21:37:54 +0000 (23:37 +0200)
Duktape is an embeddable Javascript engine, with a focus on
portability and compact footprint.

Duktape is easy to integrate into a C/C++ project: add duktape.c,
duktape.h, and duk_config.h to your build, and use the Duktape API
to call Ecmascript functions from C code and vice versa.

http://www.duktape.org

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/duktape/Config.in [new file with mode: 0644]
package/duktape/duktape.hash [new file with mode: 0644]
package/duktape/duktape.mk [new file with mode: 0644]

index bd8095bd2059fd16bc607cf15d54dc6401c623dd..e58f125d6fe2bf7ee0b188bb0d60ff97a6f15765 100644 (file)
@@ -719,6 +719,7 @@ F:  package/alljoyn-tcl/
 F:     package/alljoyn-tcl-base/
 F:     package/boinc/
 F:     package/cairo/
+F:     package/duktape/
 F:     package/flatbuffers/
 F:     package/gtksourceview/
 F:     package/gssdp/
index 66f303ec580ec4b9c29f61518971e172e625b3c0..0323045e572398005c3504bbfd332b760fbc03f1 100644 (file)
@@ -1318,6 +1318,7 @@ menu "External AngularJS plugins"
 endmenu
 endif
        source "package/bootstrap/Config.in"
+       source "package/duktape/Config.in"
        source "package/explorercanvas/Config.in"
        source "package/flot/Config.in"
        source "package/jquery/Config.in"
diff --git a/package/duktape/Config.in b/package/duktape/Config.in
new file mode 100644 (file)
index 0000000..5dad5c3
--- /dev/null
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_DUKTAPE
+       bool "duktape"
+       depends on !BR2_STATIC_LIBS
+       help
+         Duktape is an embeddable Javascript engine, with a focus on
+         portability and compact footprint.
+
+         Duktape is easy to integrate into a C/C++ project: add
+         duktape.c, duktape.h, and duk_config.h to your build, and use
+         the Duktape API to call Ecmascript functions from C code and
+         vice versa.
+
+         http://www.duktape.org
+
+comment "duktape needs a toolchain w/ dynamic library"
+       depends on BR2_STATIC_LIBS
diff --git a/package/duktape/duktape.hash b/package/duktape/duktape.hash
new file mode 100644 (file)
index 0000000..0a819b4
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256 0df1c0a9d40bfae31733e5c44f0eabaeae59e0a2ebf7693ff68bbabd49aae331        duktape-v2.3.0.tar.gz
+sha256 5358498534dac625c89a69c10becf3dcc40f9af58e6b69ee358ebdf6934f49c6        LICENSE.txt
diff --git a/package/duktape/duktape.mk b/package/duktape/duktape.mk
new file mode 100644 (file)
index 0000000..97b51f9
--- /dev/null
@@ -0,0 +1,27 @@
+################################################################################
+#
+# duktape
+#
+################################################################################
+
+DUKTAPE_VERSION = v2.3.0
+DUKTAPE_SITE = $(call github,svaarala,duktape-releases,$(DUKTAPE_VERSION))
+DUKTAPE_LICENSE = MIT
+DUKTAPE_LICENSE_FILES = LICENSE.txt
+DUKTAPE_INSTALL_STAGING = YES
+
+define DUKTAPE_BUILD_CMDS
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary
+endef
+
+define DUKTAPE_INSTALL_STAGING_CMDS
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \
+               INSTALL_PREFIX=$(STAGING_DIR)/usr install
+endef
+
+define DUKTAPE_INSTALL_TARGET_CMDS
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \
+               INSTALL_PREFIX=$(TARGET_DIR)/usr install
+endef
+
+$(eval $(generic-package))