Browse Source

moarvm: new package

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
 [use buildroot's libatomic_ops, libuv and host-luajit; add
  dependencies from libuv]
[Thomas: indicate that the hash has been locally calculated.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Arnout Vandecappelle 10 years ago
parent
commit
55a5200b59
4 changed files with 68 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 19 0
      package/moarvm/Config.in
  3. 2 0
      package/moarvm/moarvm.hash
  4. 46 0
      package/moarvm/moarvm.mk

+ 1 - 0
package/Config.in

@@ -499,6 +499,7 @@ menu "Lua libraries/modules"
 	source "package/xavante/Config.in"
 endmenu
 endif
+	source "package/moarvm/Config.in"
 	source "package/mono/Config.in"
 	source "package/nodejs/Config.in"
 	source "package/perl/Config.in"

+ 19 - 0
package/moarvm/Config.in

@@ -0,0 +1,19 @@
+config BR2_PACKAGE_MOARVM
+	bool "moarvm"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libuv
+	depends on !BR2_STATIC_LIBS # libuv
+	depends on BR2_USE_MMU # libuv
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # libatomic_ops
+	select BR2_PACKAGE_LIBUV
+	select BR2_PACKAGE_LIBATOMIC_OPS
+	help
+	  Short for "Metamodel On A Runtime", MoarVM is a virtual machine
+	  built especially for Rakudo Perl 6 and the NQP Compiler Toolchain.
+
+	  http://moarvm.com
+
+comment "moarvm needs a toolchain w/ threads, dynamic library"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
+

+ 2 - 0
package/moarvm/moarvm.hash

@@ -0,0 +1,2 @@
+# Locally computed
+sha256  828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e  MoarVM-2015.05.tar.gz

+ 46 - 0
package/moarvm/moarvm.mk

@@ -0,0 +1,46 @@
+################################################################################
+#
+# moarvm
+#
+################################################################################
+
+MOARVM_VERSION = 2015.05
+MOARVM_SITE = http://moarvm.com/releases
+MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz
+MOARVM_LICENSE = Artistic-2.0
+MOARVM_LICENSE_FILES = Artistic2.txt
+MOARVM_INSTALL_STAGING = YES
+MOARVM_DEPENDENCIES = host-luajit libuv libatomic_ops
+
+MOARVM_CONF_OPTS = \
+	--build=$(GNU_HOST_NAME) \
+	--host=$(GNU_TARGET_NAME) \
+	--ar="$(TARGET_AR)" \
+	--cc="$(TARGET_CC)" \
+	--ld="$(TARGET_CC)" \
+	--prefix="/usr" \
+	--lua=$(HOST_DIR)/usr/bin/luajit \
+	--has-libuv \
+	--has-libatomic
+
+ifeq ($(BR2_ENDIAN),"BIG")
+MOARVM_CONF_OPTS += --big-endian
+endif
+
+define MOARVM_CONFIGURE_CMDS
+	(cd $(@D); perl Configure.pl $(MOARVM_CONF_OPTS))
+endef
+
+define MOARVM_BUILD_CMDS
+	$(MAKE) -C $(@D)
+endef
+
+define MOARVM_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+define MOARVM_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))