moarvm: new package
PATCH v3 1/1 moarvm: new package
--- package/Config.in | 1 + package/moarvm/Config.in | 12 ++++++++++++ package/moarvm/moarvm.hash | 2 ++ package/moarvm/moarvm.mk | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 package/moarvm/Config.in create mode 100644 package/moarvm/moarvm.hash create mode 100644 package/moarvm/moarvm.mk
package/Config.in +1 -0
@@ -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"
package/moarvm/Config.in new file +12 -0
@@ -0,0 +1,12 @@ +config BR2_PACKAGE_MOARVM + bool "moarvm" + depends on BR2_TOOLCHAIN_HAS_THREADS # libuv embedded + depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # libatomic embedded + 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" + depends on !BR2_TOOLCHAIN_HAS_THREADS
package/moarvm/moarvm.hash new file +2 -0
@@ -0,0 +1,2 @@ + +sha256 828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e MoarVM-2015.05.tar.gz
package/moarvm/moarvm.mk new file +42 -0
42 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH v3 1/1 moarvm: new package
Quoted 1 line · Francois Perrad
Signed-off-by Francois Perrad <[email protected]>
Hi Francois,
I've tried building for ARM, and it tries to execute the generated minilua.
Also, it is possible to use buildroot's libatomic_ops and libuv.
I'll send an updated patch.
Regards,
Arnout
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH v4 1/1 moarvm: new package
In reply to Francois Perrad [use buildroot's libatomic_ops, libuv and host-luajit; add
dependencies from libuv]
---
v4 (Arnout): - use buildroot's libatomic_ops, libuv and host-luajit
- add dependencies from libuv
--- package/Config.in | 1 + package/moarvm/Config.in | 19 +++++++++++++++++++ package/moarvm/moarvm.hash | 2 ++ package/moarvm/moarvm.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 package/moarvm/Config.in create mode 100644 package/moarvm/moarvm.hash create mode 100644 package/moarvm/moarvm.mk
package/Config.in +1 -0
@@ -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"
package/moarvm/Config.in new file +19 -0
@@ -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" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on BR2_USE_MMU + depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS +
package/moarvm/moarvm.hash new file +2 -0
@@ -0,0 +1,2 @@ + +sha256 828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e MoarVM-2015.05.tar.gz
package/moarvm/moarvm.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH v5 1/1 moarvm: new package
[use buildroot's libatomic_ops, libuv and host-luajit; add
dependencies from libuv]
---
v5 (Arnout): - add dynamic library to to comment
v4 (Arnout): - use buildroot's libatomic_ops, libuv and host-luajit
- add dependencies from libuv
--- package/Config.in | 1 + package/moarvm/Config.in | 19 +++++++++++++++++++ package/moarvm/moarvm.hash | 2 ++ package/moarvm/moarvm.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 package/moarvm/Config.in create mode 100644 package/moarvm/moarvm.hash create mode 100644 package/moarvm/moarvm.mk
package/Config.in +1 -0
@@ -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"
package/moarvm/Config.in new file +19 -0
@@ -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 +
package/moarvm/moarvm.hash new file +2 -0
@@ -0,0 +1,2 @@ + +sha256 828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e MoarVM-2015.05.tar.gz
package/moarvm/moarvm.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH v5 1/1 moarvm: new package
Dear Arnout Vandecappelle (Essensium/Mind),
Quoted 8 lines · Arnout Vandecappelle (Essensium/Mind)
Signed-off-by Francois Perrad <[email protected]>[use buildroot's
libatomic_ops, libuv and host-luajit; add
dependencies from libuv]
---
v5 (Arnout): - add dynamic library to to comment
v4 (Arnout): - use buildroot'slibatomic_ops, libuv and host-luajit
- add dependencies from libuv
Quoted 9 lines
--- package/Config.in | 1 + package/moarvm/Config.in | 19 +++++++++++++++++++ package/moarvm/moarvm.hash | 2 ++ package/moarvm/moarvm.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 package/moarvm/Config.in create mode 100644 package/moarvm/moarvm.hash create mode 100644 package/moarvm/moarvm.mk
I've applied, after fixing one little thing.
package/moarvm/moarvm.hash line 2
Quoted 8 lines
package/moarvm/moarvm.hash new file +2
-0@@ -0,0 +1,2 @@ + +sha256 828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e MoarVM-2015.05.tar.gz
The comment on the origin of the hash was missing. Since I couldn't find it on the website, I simply added "Locally computed", since I also verified the hash locally.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v4 1/1 moarvm: new package
In reply to Arnout Vandecappelle (Essensium/Mind)2015-06-06 0:33 GMT+02:00 Arnout Vandecappelle (Essensium/Mind) <[email protected]>:
Quoted 71 lines
Signed-off-by Francois Perrad <[email protected]>[use buildroot's
libatomic_ops, libuv and host-luajit; add
dependencies from libuv]
---
v4 (Arnout): - use buildroot'slibatomic_ops, libuv and host-luajit
- add dependencies from libuv--- package/Config.in | 1 + package/moarvm/Config.in | 19 +++++++++++++++++++ package/moarvm/moarvm.hash | 2 ++ package/moarvm/moarvm.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 package/moarvm/Config.in create mode 100644 package/moarvm/moarvm.hash create mode 100644 package/moarvm/moarvm.mkpackage/Config.in +1
-0@@ -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"package/moarvm/Config.in new file +19
-0@@ -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" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on BR2_USE_MMU + depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS +package/moarvm/moarvm.hash new file +2
-0@@ -0,0 +1,2 @@ + +sha256 828843eb3da020ee24ff83933b63aebf4aa774b815a3dfa3a758d6334779565e MoarVM-2015.05.tar.gzpackage/moarvm/moarvm.mk new file +3
-0@@ -0,0 +1,46 @@ +################################################################################ +# +# moarvm
package/moarvm/moarvm.mk line 13
Quoted 10 lines
package/moarvm/moarvm.mk new file +10
-0+# +################################################################################ + +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
host-luajit seems overkill.
Fran?ois
Quoted 40 lines
package/moarvm/moarvm.mk new file +33
-1+ +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)) --2.1.4
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v4 1/1 moarvm: new package
Dear Fran?ois Perrad,
Quoted 3 lines · Fran?ois Perrad
Quoted 1 line
+MOARVM_DEPENDENCIES = host-luajit libuv
libatomic_opshost-luajit seems overkill.
Why? Lua is not part of the core dependencies of Buildroot, which are mandatory to run Buildroot. So if it's not part of these core dependencies, and used for the build process of moarvm, then it should be added as a dependency of that package.
Otherwise the build will fail for users that don't have Luajit installed on their machine, like is the case for several of the autobuilders.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v4 1/1 moarvm: new package
2015-06-06 17:05 GMT+02:00 Thomas Petazzoni
<[email protected]>:
Quoted 8 lines
Dear Fran?ois Perrad,
Quoted 3 lines · Fran?ois Perrad
Quoted 1 line
+MOARVM_DEPENDENCIES = host-luajit libuv
libatomic_opshost-luajit seems overkill.
Quoted 9 lines
Why? Lua is not part of the core dependencies of Buildroot, which are mandatory to run Buildroot. So if it's not part of these core dependencies, and used for the build process of moarvm, then it should be added as a dependency of that package.
Otherwise the build will fail for users that don't have Luajit installed on their machine, like is the case for several of the autobuilders.
Moarvm reuses [DynASM](http://luajit.org/dynasm.html), the JIT engine of LuaJIT. DynASM needs a Lua interpreter.
This Lua interpreter could be an external interpreter or minilua which is included in DynASM
(see https://github.com/MoarVM/dynasm/blob/master/minilua.c).
minilua is used in a bootstrap step and is never installed.
Moarvm could be built without --lua option, in this case, the minilua in Moarvm is compiled and used.
Moarvm could be built with --lua=$(HOST_DIR)/usr/bin/luajit, in this case, host-luajit is built first, which includes the minilua in LuaJIT.
In both case, a minilua is built.
host-luajit just slows down the process.
Fran?ois
Quoted 7 lines
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com