Import lang/moarvm, ok landry@

MoarVM (short for Metamodel On A Runtime Virtual Machine) is a runtime built
for the 6model object system. It is primarily aimed at running NQP and Rakudo
Perl 6, but should be able to serve as a backend for any compilers built using
the NQP compiler toolchain.
This commit is contained in:
pascal 2014-05-25 21:49:55 +00:00
parent 0b40b0fa0a
commit 52348934d2
6 changed files with 384 additions and 0 deletions

39
lang/moarvm/Makefile Normal file
View File

@ -0,0 +1,39 @@
# $OpenBSD: Makefile,v 1.1.1.1 2014/05/25 21:49:55 pascal Exp $
# note about 3rdparty libs: there's another copy of libatomic_ops at
# devel/boehm-gc which this port will be able to use if that is updated.
SHARED_ONLY = Yes
BROKEN-arm = missing atomic ops
COMMENT = virtual machine for nqp/rakudo
V = 2014.05
DISTNAME = MoarVM-$V
PKGNAME = moarvm-$V
SHARED_LIBS = moar 0.0
CATEGORIES = lang
HOMEPAGE = http://moarvm.org/
MAINTAINER = Pascal Stumpf <Pascal.Stumpf@cubes.de>
# Artistic2
PERMIT_PACKAGE_CDROM = Yes
WANTLIB = c kvm m pthread
MASTER_SITES = http://moarvm.org/releases/
MAKE_FLAGS = NOISY=1
CONFIGURE_STYLE = simple
CONFIGURE_SCRIPT = /usr/bin/perl Configure.pl
CONFIGURE_ARGS += --cc="${CC}" --optimize=0 --prefix="${PREFIX}"
CONFIGURE_ENV = SO_VERSION="${LIBmoar_VERSION}"
NO_TEST = Yes
.include <bsd.port.mk>

2
lang/moarvm/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (MoarVM-2014.05.tar.gz) = TeWrHGPDi0lF+oIeNlioYuKmPeZRwWw6sNLWawv4CFc=
SIZE (MoarVM-2014.05.tar.gz) = 2183408

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-Configure_pl,v 1.1.1.1 2014/05/25 21:49:55 pascal Exp $
--- Configure.pl.orig Thu May 22 20:46:53 2014
+++ Configure.pl Fri May 23 23:36:57 2014
@@ -197,6 +197,10 @@ $config{ldflags} = join ' ', @ldflags;
$config{moarlib} = sprintf $config{lib}, $NAME;
$config{moardll} = sprintf $config{dll}, $NAME;
+if (exists $ENV{'SO_VERSION'}) {
+ $config{moardll} = $config{moardll} . "." . $ENV{'SO_VERSION'};
+}
+
# setup flags for shared builds
unless ($args{static}) {
$config{objflags} = '@ccdef@MVM_BUILD_SHARED @ccshared@';

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-build_Makefile_in,v 1.1.1.1 2014/05/25 21:49:55 pascal Exp $
--- build/Makefile.in.orig Fri Jan 24 22:30:34 2014
+++ build/Makefile.in Fri Jan 24 22:30:46 2014
@@ -25,7 +25,7 @@ NOERR =
@mknoisy@
PREFIX = @prefix@
-CFLAGS = @cflags@ @ccdef@MVM_TRACING=$(TRACING) @ccdef@MVM_CGOTO=$(CGOTO)
+CFLAGS += @cflags@ @ccdef@MVM_TRACING=$(TRACING) @ccdef@MVM_CGOTO=$(CGOTO)
CINCLUDES = @ccinc@3rdparty/libuv/include \
@ccinc@3rdparty/libuv/src \
@ccinc@3rdparty/libatomic_ops/src \

4
lang/moarvm/pkg/DESCR Normal file
View File

@ -0,0 +1,4 @@
MoarVM (short for Metamodel On A Runtime Virtual Machine) is a runtime built
for the 6model object system. It is primarily aimed at running NQP and Rakudo
Perl 6, but should be able to serve as a backend for any compilers built using
the NQP compiler toolchain.

313
lang/moarvm/pkg/PLIST Normal file
View File

@ -0,0 +1,313 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2014/05/25 21:49:55 pascal Exp $
@bin bin/moar
include/dyncall/
include/dyncall/dyncall.h
include/dyncall/dyncall_alloc.h
include/dyncall/dyncall_alloc_wx.h
include/dyncall/dyncall_args.h
include/dyncall/dyncall_args_arm32_arm.h
include/dyncall/dyncall_args_arm32_thumb.h
include/dyncall/dyncall_args_mips.h
include/dyncall/dyncall_args_ppc32.h
include/dyncall/dyncall_args_sparc32.h
include/dyncall/dyncall_args_sparc64.h
include/dyncall/dyncall_args_x64.h
include/dyncall/dyncall_args_x86.h
include/dyncall/dyncall_call_arm32_arm.h
include/dyncall/dyncall_call_arm32_arm_armhf.h
include/dyncall/dyncall_call_arm32_thumb.h
include/dyncall/dyncall_call_mips.h
include/dyncall/dyncall_call_mips_eabi.h
include/dyncall/dyncall_call_mips_n32.h
include/dyncall/dyncall_call_mips_n64.h
include/dyncall/dyncall_call_mips_o32.h
include/dyncall/dyncall_call_ppc32.h
include/dyncall/dyncall_call_sparc.h
include/dyncall/dyncall_call_sparc64.h
include/dyncall/dyncall_call_sparc_v9.h
include/dyncall/dyncall_call_x64.h
include/dyncall/dyncall_call_x86.h
include/dyncall/dyncall_callback.h
include/dyncall/dyncall_callback_arm32_arm.h
include/dyncall/dyncall_callback_arm32_thumb.h
include/dyncall/dyncall_callback_mips.h
include/dyncall/dyncall_callback_ppc32.h
include/dyncall/dyncall_callback_sparc32.h
include/dyncall/dyncall_callback_x64.h
include/dyncall/dyncall_callback_x86.h
include/dyncall/dyncall_callf.h
include/dyncall/dyncall_callvm.h
include/dyncall/dyncall_callvm_arm32_arm.h
include/dyncall/dyncall_callvm_arm32_arm_armhf.h
include/dyncall/dyncall_callvm_arm32_thumb.h
include/dyncall/dyncall_callvm_mips.h
include/dyncall/dyncall_callvm_mips_eabi.h
include/dyncall/dyncall_callvm_mips_n64.h
include/dyncall/dyncall_callvm_mips_o32.h
include/dyncall/dyncall_callvm_ppc32.h
include/dyncall/dyncall_callvm_sparc.h
include/dyncall/dyncall_callvm_sparc64.h
include/dyncall/dyncall_callvm_sparc_v9.h
include/dyncall/dyncall_callvm_x64.h
include/dyncall/dyncall_callvm_x86.h
include/dyncall/dyncall_config.h
include/dyncall/dyncall_macros.h
include/dyncall/dyncall_signature.h
include/dyncall/dyncall_struct.h
include/dyncall/dyncall_thunk.h
include/dyncall/dyncall_thunk_arm32_arm.h
include/dyncall/dyncall_thunk_arm32_thumb.h
include/dyncall/dyncall_thunk_mips.h
include/dyncall/dyncall_thunk_ppc32.h
include/dyncall/dyncall_thunk_sparc32.h
include/dyncall/dyncall_thunk_sparc64.h
include/dyncall/dyncall_thunk_x64.h
include/dyncall/dyncall_thunk_x86.h
include/dyncall/dyncall_types.h
include/dyncall/dyncall_utils.h
include/dyncall/dyncall_value.h
include/dyncall/dyncall_vector.h
include/dyncall/dynload.h
include/dyncall/dynload_alloc.h
include/libatomic_ops/
include/libatomic_ops/atomic_ops/
include/libatomic_ops/atomic_ops.h
include/libatomic_ops/atomic_ops/ao_version.h
include/libatomic_ops/atomic_ops/generalize-arithm.h
include/libatomic_ops/atomic_ops/generalize-small.h
include/libatomic_ops/atomic_ops/generalize.h
include/libatomic_ops/atomic_ops/sysdeps/
include/libatomic_ops/atomic_ops/sysdeps/all_acquire_release_volatile.h
include/libatomic_ops/atomic_ops/sysdeps/all_aligned_atomic_load_store.h
include/libatomic_ops/atomic_ops/sysdeps/all_atomic_load_store.h
include/libatomic_ops/atomic_ops/sysdeps/all_atomic_only_load.h
include/libatomic_ops/atomic_ops/sysdeps/ao_t_is_int.h
include/libatomic_ops/atomic_ops/sysdeps/armcc/
include/libatomic_ops/atomic_ops/sysdeps/armcc/arm_v6.h
include/libatomic_ops/atomic_ops/sysdeps/emul_cas.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/
include/libatomic_ops/atomic_ops/sysdeps/gcc/aarch64.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/alpha.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/arm.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/avr32.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/cris.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/generic-arithm.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/generic-small.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/generic.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/hexagon.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/hppa.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/ia64.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/m68k.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/mips.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/powerpc.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/s390.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/sh.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/sparc.h
include/libatomic_ops/atomic_ops/sysdeps/gcc/x86.h
include/libatomic_ops/atomic_ops/sysdeps/generic_pthread.h
include/libatomic_ops/atomic_ops/sysdeps/hpc/
include/libatomic_ops/atomic_ops/sysdeps/hpc/hppa.h
include/libatomic_ops/atomic_ops/sysdeps/hpc/ia64.h
include/libatomic_ops/atomic_ops/sysdeps/ibmc/
include/libatomic_ops/atomic_ops/sysdeps/ibmc/powerpc.h
include/libatomic_ops/atomic_ops/sysdeps/icc/
include/libatomic_ops/atomic_ops/sysdeps/icc/ia64.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/
include/libatomic_ops/atomic_ops/sysdeps/loadstore/acquire_release_volatile.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/atomic_load.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/atomic_store.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/char_acquire_release_volatile.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/char_atomic_load.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/char_atomic_store.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/double_atomic_load_store.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/int_acquire_release_volatile.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/int_atomic_load.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/int_atomic_store.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/ordered_loads_only.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/ordered_stores_only.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/short_acquire_release_volatile.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/short_atomic_load.h
include/libatomic_ops/atomic_ops/sysdeps/loadstore/short_atomic_store.h
include/libatomic_ops/atomic_ops/sysdeps/msftc/
include/libatomic_ops/atomic_ops/sysdeps/msftc/arm.h
include/libatomic_ops/atomic_ops/sysdeps/msftc/common32_defs.h
include/libatomic_ops/atomic_ops/sysdeps/msftc/x86.h
include/libatomic_ops/atomic_ops/sysdeps/msftc/x86_64.h
include/libatomic_ops/atomic_ops/sysdeps/ordered.h
include/libatomic_ops/atomic_ops/sysdeps/ordered_except_wr.h
include/libatomic_ops/atomic_ops/sysdeps/read_ordered.h
include/libatomic_ops/atomic_ops/sysdeps/standard_ao_double_t.h
include/libatomic_ops/atomic_ops/sysdeps/sunc/
include/libatomic_ops/atomic_ops/sysdeps/sunc/sparc.h
include/libatomic_ops/atomic_ops/sysdeps/sunc/x86.h
include/libatomic_ops/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h
include/libatomic_ops/atomic_ops/sysdeps/test_and_set_t_is_char.h
include/libatomic_ops/config.h
include/libtommath/
include/libtommath/tommath.h
include/libtommath/tommath_class.h
include/libtommath/tommath_superclass.h
include/libuv/
include/libuv/pthread-fixes.h
include/libuv/stdint-msvc2008.h
include/libuv/tree.h
include/libuv/uv-bsd.h
include/libuv/uv-darwin.h
include/libuv/uv-errno.h
include/libuv/uv-linux.h
include/libuv/uv-sunos.h
include/libuv/uv-unix.h
include/libuv/uv-win.h
include/libuv/uv.h
include/linenoise/
include/linenoise/linenoise.h
include/moar/
include/moar/6model/
include/moar/6model/6model.h
include/moar/6model/bootstrap.h
include/moar/6model/containers.h
include/moar/6model/reprconv.h
include/moar/6model/reprs/
include/moar/6model/reprs.h
include/moar/6model/reprs/CArray.h
include/moar/6model/reprs/CPointer.h
include/moar/6model/reprs/CStr.h
include/moar/6model/reprs/CStruct.h
include/moar/6model/reprs/ConcBlockingQueue.h
include/moar/6model/reprs/ConditionVariable.h
include/moar/6model/reprs/HashAttrStore.h
include/moar/6model/reprs/KnowHOWAttributeREPR.h
include/moar/6model/reprs/KnowHOWREPR.h
include/moar/6model/reprs/Lexotic.h
include/moar/6model/reprs/MVMArray.h
include/moar/6model/reprs/MVMAsyncTask.h
include/moar/6model/reprs/MVMCFunction.h
include/moar/6model/reprs/MVMCallCapture.h
include/moar/6model/reprs/MVMCode.h
include/moar/6model/reprs/MVMCompUnit.h
include/moar/6model/reprs/MVMContext.h
include/moar/6model/reprs/MVMContinuation.h
include/moar/6model/reprs/MVMDLLSym.h
include/moar/6model/reprs/MVMException.h
include/moar/6model/reprs/MVMHash.h
include/moar/6model/reprs/MVMIter.h
include/moar/6model/reprs/MVMMultiCache.h
include/moar/6model/reprs/MVMNull.h
include/moar/6model/reprs/MVMOSHandle.h
include/moar/6model/reprs/MVMStaticFrame.h
include/moar/6model/reprs/MVMString.h
include/moar/6model/reprs/MVMThread.h
include/moar/6model/reprs/NFA.h
include/moar/6model/reprs/NativeCall.h
include/moar/6model/reprs/P6bigint.h
include/moar/6model/reprs/P6int.h
include/moar/6model/reprs/P6num.h
include/moar/6model/reprs/P6opaque.h
include/moar/6model/reprs/P6str.h
include/moar/6model/reprs/ReentrantMutex.h
include/moar/6model/reprs/SCRef.h
include/moar/6model/reprs/Semaphore.h
include/moar/6model/reprs/Uninstantiable.h
include/moar/6model/sc.h
include/moar/6model/serialization.h
include/moar/bithacks.h
include/moar/config.h
include/moar/core/
include/moar/core/args.h
include/moar/core/bytecode.h
include/moar/core/bytecodedump.h
include/moar/core/callsite.h
include/moar/core/coerce.h
include/moar/core/compunit.h
include/moar/core/continuation.h
include/moar/core/dll.h
include/moar/core/exceptions.h
include/moar/core/ext.h
include/moar/core/frame.h
include/moar/core/hll.h
include/moar/core/instance.h
include/moar/core/intcache.h
include/moar/core/interp.h
include/moar/core/loadbytecode.h
include/moar/core/nativecall.h
include/moar/core/oplabels.h
include/moar/core/ops.h
include/moar/core/threadcontext.h
include/moar/core/threads.h
include/moar/core/validation.h
include/moar/gc/
include/moar/gc/allocation.h
include/moar/gc/collect.h
include/moar/gc/debug.h
include/moar/gc/gen2.h
include/moar/gc/orchestrate.h
include/moar/gc/roots.h
include/moar/gc/wb.h
include/moar/gc/worklist.h
include/moar/gcc_diag.h
include/moar/gen/
include/moar/gen/config.h
include/moar/io/
include/moar/io/asyncsocket.h
include/moar/io/dirops.h
include/moar/io/eventloop.h
include/moar/io/fileops.h
include/moar/io/filewatchers.h
include/moar/io/io.h
include/moar/io/procops.h
include/moar/io/signals.h
include/moar/io/syncfile.h
include/moar/io/syncpipe.h
include/moar/io/syncsocket.h
include/moar/io/syncstream.h
include/moar/io/timers.h
include/moar/mast/
include/moar/mast/compiler.h
include/moar/mast/driver.h
include/moar/mast/nodes_moar.h
include/moar/math/
include/moar/math/bigintops.h
include/moar/math/num.h
include/moar/moar.h
include/moar/platform/
include/moar/platform/inttypes.h
include/moar/platform/io.h
include/moar/platform/mmap.h
include/moar/platform/stdint.h
include/moar/platform/sys.h
include/moar/platform/threads.h
include/moar/platform/time.h
include/moar/spesh/
include/moar/spesh/args.h
include/moar/spesh/candidate.h
include/moar/spesh/codegen.h
include/moar/spesh/deopt.h
include/moar/spesh/dump.h
include/moar/spesh/facts.h
include/moar/spesh/graph.h
include/moar/spesh/log.h
include/moar/spesh/manipulate.h
include/moar/spesh/optimize.h
include/moar/strings/
include/moar/strings/ascii.h
include/moar/strings/decode_stream.h
include/moar/strings/latin1.h
include/moar/strings/ops.h
include/moar/strings/unicode.h
include/moar/strings/unicode_gen.h
include/moar/strings/utf16.h
include/moar/strings/utf8.h
include/moar/strings/windows1252.h
include/moar/types.h
include/moar/uthash.h
include/msinttypes/
include/msinttypes/inttypes.h
include/msinttypes/stdint.h
include/sha1/
include/sha1/sha1.h
include/tinymt/
include/tinymt/tinymt64.h
lib/MAST/
lib/MAST/Nodes.nqp
lib/MAST/Ops.nqp
@lib lib/libmoar.so.${LIBmoar_VERSION}